DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦16720669f⟧ Wang Wps File

    Length: 37618 (0x92f2)
    Types: Wang Wps File
    Notes: CPS/SDS/030               
    Names: »1506A «

Derivation

└─⟦c606dccac⟧ Bits:30005804 8" Wang WCS floppy, CR 0108A
    └─ ⟦this⟧ »1506A « 

WangText

…14……00……00……00……00……1f……0a……00……00……1f……0b……1f……0e……1f……0f……1f……06……19……0c……19……0f……19……06……13……00……13… …13……06……0b……08……0b……09……0b……0d……0b……0e……0b…
…0b……07……0a……0a……0a……0b……0a……0c……0a……0d……0a……0e……0a……0f……86…1                                             …02…           …02…   …02…        
#
…02…CPS/SDS/030

…02…841012…02……02…
STORAGE AND RETRIEVAL
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS






4.2.2    O̲n̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲

         This section includes the sub-package specification
         for the on-line retrieval sub-package.



4.2.2.1  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Functions performed by this sub-package are:

         -   receive retrieval requests

         -   on-line TOC-DTG/on-line TOC-window/off-line retrieval
             separation

         -   on-line catalogue consult

         -   access check

         -   retrieval of CIF

         -   delivery of retrieval result.

         Each of these functions is described in detail during
         the next six sub-sections.

         Figure 4.2.2.1-1 overleaf shows an overview diagram
         of the functional specifications.





Fig. 4.2.2.1-1 On-line Retrieval Functional Specification




4.2.2.1.1    R̲e̲c̲e̲i̲v̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲q̲u̲e̲s̲t̲s̲

         Retrieval requests are received in the RRQ. Retrievals
         in question are on-line and off-line. Completion of
         an on-line retrieval causes the next QEL in RRQ to
         be received.



4.2.2.1.2    O̲n̲-̲l̲i̲n̲e̲ ̲/̲ ̲O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲S̲e̲p̲a̲r̲a̲t̲i̲o̲n̲

         The retrieval requests in RRQ contain either a TOC
         or a DTG as one of the retrieval key parameters. These
         are used for separation of the retrievals in on-line
         and off-line retrievals. The volume table is used for
         this separation. If TOC or DTG are contained in the
         TOC or DTG intervals specified in the table, the retrieval
         is marked as an off-line retrieval.

         In both cases, on-line or off-line, an answer is returned
         to requestor acknowledging whether the retrieval is
         on-line or off-line.

         The case of an off-line retrieval results in the following
         actions:

         If the off-line retrieval is off, this is acknowledged
         to requestor. QEL is removed from RRQ,

         If 10 off-line retrievals are waiting, the corresponding
         QEL is removed and requestor is informed that off-line
         retrieval is intermediately impossible.

         If there are less than 10 off-line retrievals waiting
         in RRQ, the OFFL ̲RETR ̲COUNTER is incremented.



4.2.2.1.3    O̲n̲l̲i̲n̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲C̲o̲n̲s̲u̲l̲t̲

         Before consulting the on-line catalogue, it is locked
         by "wait semaphore ONLINE ̲CAT ̲SEM". This ensures that
         only the on-line retrieval sub-package accesses the
         catalogue. According to the retrieval type, the catalogue
         is consulted. The types of retrievals are:



         -   retrieval of CIF which fits the retrieval keys;

         -   retrieval of catalogue information;

         -   retrieval of catalogue information or CIF if only
             one CIF satisfies the keys.

         Results of the catalogue consult are of two kinds.
         A CIF-id is used for a later retrieve CIF function
         call. A number of catalogue entries are collected in
         an CIF.

         DTG retrieval is carried out the following way to solve
         the overlapping DTG intervals problem in the volume
         table. Refer figure 4.2.2.1.3-1. First it is checked
         if it is an on-line retrieval and the on-line retrieval
         is performed if so. If the on-line retrieval completes
         as not found, the DTG retrieval request is marked as
         an off-line retrieval request. The off-line DTG retrieval
         is performed the same way as TOC retrievals except
         that it may turn as not found. In this case a mount
         request for the next volume is sent to the supervisors
         report printer. This mount and retrieval sequence will
         continue until message is found or DTG parameter in
         retrieval key is not contained in the next DTG interval
         for the mounted volume. A not found completion code
         is returned and DTG retrieval completed.

         After the catalogue consult and retrieval of CIF, the
         catalogue is released by signalling the semaphore ONLINE
         ̲CAT ̲SEM.




                 Time

             Volume  windows

         youngest volume                             oldest
                                                     volume

vol. 49      volume 48               volume 47           volume
                                                         46
in dump use


             Volume table contents

TOC      TOC,Y,48    TOC,0,48TOC,Y,47    TOC,0,47TOC,Y,46  TOC,0,46


DTG

         DTG,Y,48                DTG,0,47

                         DTG,Y,47                DTG,0,48

                                     DTG,Y,46              DTG,0,46





         Y = Youngest

         O = Oldest
















             DTG RETRIEVAL…01…FIGURE 4.2.2.1.3-1



4.2.2.1.4    A̲c̲c̲e̲s̲s̲ ̲C̲h̲e̲c̲k̲

         During the catalogue consult, a number of comparing
         functions is performed. The record type identifies
         which  comparison functions are to be achieved during
         the access check. 

         The TOC or DTG retrieval parameter is the first parameter
         checked against catalogue contents. If check turns
         out positive next parameter in retrieval request is
         checked against next parameter in entry. In case the
         time check-failed, next entry in catalogue is used
         in the access check.



4.2.2.1.5    R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲o̲f̲ ̲C̲I̲F̲

         If the catalogue consult has resulted in determination
         of a corresponding CIF, this is retrieved using MMS.
         A retrieve CIF function call with CIF as input parameter
         performs this action. As a result of this retrieval,
         either a view ref. or CIF not found completion code
         is returned.



4.2.2.1.6    D̲e̲l̲i̲v̲e̲r̲y̲ ̲o̲f̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲s̲u̲l̲t̲

         The result of an on-line retrieval is one of the below
         mentioned replies sent to requestors return queue:

         -   return code 1, no CIF found; QEL contains a reference
             to a buffer element which contains completion code
             and all retrieval keys; this result is returned
             if the retrieval key misfits all on-line catalogue
             entries or if MMS returns a not found completion
             code;

         -   a CIF containing catalogue entries fulfilling the
             retrieval keys; a QEL referencing the CIF is sent;

         -   return code 2, off-line retrieval intermediately
             impossible; QEL contents as specified for return
             code 1; this result is returned if off-line retrieval
             is off or more than 10 off-line retrievals are
             awaiting in RRQ.



         -   a QEL referencing a CIF in case where only one
             catalogue entry corresponds to the retrieval keys.



4.2.2.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The on-line retrieval sub-package consists of 2 coroutines.

         The main coroutine receives retrieval request detects
         type and achieves the TOC or DTG retrieval if type
         is either of these two.

         The TOC window coroutine performs the TOC window retrieval.
         Refer figures 4.2.2.2-1-2.



                            ONLINE
                           RETRIEVAL




- RETURN ̲ONE ̲OFFL ̲NOT
- ONL ̲SEND ̲OFF-LINE           TOC                 DTG
                           RETRIEVAL           RETRIEVAL



         - ONL ̲SEND ̲OFFLINE                - ONL ̲SEND ̲OFFLINE

         - ONL ̲RETURN ̲NOT ̲FOUND

         - POINT ̲ONL ̲PRI ̲ENTRY             - POINT ̲ONL ̲PRI ̲ENTRY

         - CHECK ̲STATION ̲KEYS              - CHECK ̲SECURITY

         - CHECK ̲CHANNEL ̲KEYS              - CHECK ̲CAMPS ̲TYPE

         - CHECK ̲ORIGINATOR ̲KEYS           - ONL ̲RETURN ̲CIF

         - CHECK ̲MAIN ̲ENT ̲PTR              - ONL ̲RETUR ̲NOT ̲FOUND

         - CHECK ̲DELETION                  - POINT ̲ONL ̲DTG ̲ENTRY

         - CHECK ̲CAMPS ̲TYPE                - CHECK ̲ORIGINATOR
                                           ̲KEYS

         - CHECK ̲SECURITY

         - CHECK ̲SCD

         - RRT ̲CATAL

         - INIT ̲RET ̲CATAL

         - TERM ̲RET ̲CATAL

         - ONL ̲RETURN ̲CIF




                     FIGURE 4.2.2.2-1
             SOFTWARE STRUCTURE TOC COROUTINE





         WINDOW
         RETRIEVAL




         - W ̲RETURN ̲NOT ̲FOUND

         - CHECK ̲STATION ̲KEYS

         - CHECK ̲CHANNEL ̲KEYS

         - CHECK ̲ORIGINATOR ̲KEYS

         - CHECK ̲MAIN ̲ENT ̲PARS

         - W ̲CHECK ̲DELETION

         - CHECK ̲CAMPS ̲TYPE

         - CHECK SECURITY

         - W ̲INIT ̲RET ̲CATAL

         - W ̲RRT ̲CATAL

         - W ̲TERM ̲RET ̲CATAL

         - W ̲RETURN ̲CIF















           SOFTWARE STRUCTURE WINDOW COROUTINE
                     FIGURE 4.2.2.2-2



4.2.2.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲



4.2.2.3.1    S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲M̲a̲i̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲

         The sub-package main control logic is shown in figure
         4.2.2.3-1. For further details refer the module design
         section.








FIGURE 4.2.2.3-1…86…1         …02…   …02…   …02…   …02…                                      
       
4.2.2.3.2    O̲n̲l̲i̲n̲e̲ ̲T̲O̲C̲ ̲W̲i̲n̲d̲o̲w̲ ̲R̲e̲g̲i̲s̲t̲r̲a̲t̲i̲o̲n̲

         The online TOC window registration is performed by
         the online retrieval coroutine. The online TOC window
         retrievals is performed by the TOC window retrieval
         coroutine.

         Actions performed by online retrieval coroutine:

         1:  Waiting the semaphore WINDOW ̲OPR ̲EMPTY ̲SEM for
             empty operation which shall contain online window
             retrieval information.

         2:  Signalling the semaphore WINDOW ̲IN ̲SEM after having
             loaded the operation with TOC window retrieval
             information.

         Actions performed by TOC window retrieval coroutine:

         3:  Waiting for TOC window retrieval in the operation
             semaphore, WINDOW ̲IN ̲SEM

         4:  Returning the operation semaphore after the TOC
             window retrieval by signalling the semaphore WINDOW
             ̲OPR ̲EMPTY ̲SEM

             Refer figure 4.2.2.3.2-1.


















































              Online TOC Window Registration
                    Figure 4.2.2.3.2-1





4.2.2.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This section contains the module specification for
         the modules contained in the on-line retrieval sub-package.



4.2.2.4.1    R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲g̲i̲s̲t̲r̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.2.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This module receives retrieval requests and detects
         type of retrieval. If request is of type DTG or TOC
         corresponding retrieval module is activated. If request
         is of type TOC-WINDOW the TOC window module is activated.
         If request is of type off-line the request is inserted
         in the off-line list.



4.2.2.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         This module interfaces to the following objects:

         -   Retrieval request queue
         -   DTG retrieval module
         -   TOC retrieval module
         -   TOC ̲WINDOW retrieval module

         a)  R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲Q̲u̲e̲u̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             Retrieval request QEL sent from TEP is received
             by this module from RRQ. c̲a̲l̲l̲ ̲s̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             RECEIVE ̲FIRST ̲QEL   (WAIT, RRQ)
                                 (RRQ ̲ATTR, RRQ ̲QEL,
                                 RRQ ̲SUBQ, CC):ERROR

         b)  D̲T̲G̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             DTG retrieval module is activated if DTG retrieval
             shall be performed.

             Call Specification

             ON ̲LINE ̲DTG ̲RETRIEVAL () ()



         c)  T̲O̲C̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             TOC retrieval module is activated if retrieval
             request is of type TOC.

             Call Specification

             ON ̲LINE ̲TOC ̲RETRIEVAL () ()

         d)  T̲O̲C̲ ̲W̲I̲N̲D̲O̲W̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             TOC WINDOW module or coroutine is activated if
             request is of type TOC WINDOW.

             Call Specification

             CHAIN ̲TOC ̲WINDOW ̲RETRIEVAL () ()



4.2.2.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲

          M̲a̲i̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲

          D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Figure 4.2.2.4.1.5-1 presents the main flow for the
         online retrieval subpackage.

         R̲e̲c̲e̲i̲v̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲q̲u̲e̲s̲t̲

         D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Reception of QELs from RRQ  ,  copying of retrieval
         buffer and identify of request type is performed in
         flowgram in figure 4.2.2.4.1.5-2-4.

         C̲o̲p̲y̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲H̲e̲a̲d̲

         D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The online volume entry and catalugue descriptor is
         copied to disk.

         The PRI and DTG work areas are preset.

         Refer flowgram 4.2.2.4.1.5-5


         I̲d̲e̲n̲t̲i̲f̲y̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲

         D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The type of retrieval is identified i.e. DTG retrieval,
         TOC window retrieval or TOC retrieval.

         Refer flowgram 4.2.2.4.1.5-5

         C̲h̲a̲i̲n̲ ̲T̲O̲C̲ ̲W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲

         D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The TOC window retrievals are chained via the WINDOW
         ̲OPR ̲EMPTY ̲SEM semaphore if it is for the online disk.
         Otherwise the request is send for offline.

         If more than IO TOC ̲WINDOW requests are chained, the
         reception of retrievals is hanged op by waiting the
         semaphore WINDOW ̲OPR ̲EMPTY ̲SEM.

         Refer flowgram figure 4.2.2.4.1.5-7

























4.2.2.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             Refer source list

             -   SAR.D*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S



         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             Refer source list

             -   SAR.D*ONL ̲RTR.D*ONL ̲RTR.IMPORT.D*RETR ̲REG ̲MOD.I

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             None








                  FIGURE 4.2.2.4.1.4c-1









                  Figure 4.2.2.4.1.4c-2








                  Figure 4.2.2.4.1.4.c-3




4.2.2.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Refer figures 4.2.2.4.1.5-1-7





         ON ̲LINE ̲RETRIEVAL

         LOOP

             R̲E̲C̲E̲I̲V̲E̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲

             WAIT ̲SEM (ONL ̲CAT ̲SEM)

             C̲O̲P̲Y̲ ̲C̲A̲T̲A̲L̲O̲G̲ ̲H̲E̲A̲D̲,̲ ̲R̲E̲S̲E̲T̲ ̲W̲O̲R̲K̲ ̲D̲A̲T̲A̲

             I̲D̲E̲N̲T̲I̲F̲Y̲
             R̲E̲T̲R̲I̲E̲V̲A̲L̲

             RETRIEVAL TYPE EQ
             TOC WINDOW              CHAIN ̲TOC ̲WINDOW ̲RETRIEVAL

             RETRIEVE ̲TYPE
             EQ DTG ̲RETRIEVAL?       ON ̲LINE ̲DTG ̲RETRIEVAL

             ON ̲LINE ̲TOC ̲RETRIEVAL



             SIGNAL ̲SEM (ONL ̲CAT ̲SEM)

         END LOOP





                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲5̲-̲1̲



         R̲E̲C̲E̲I̲V̲E̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲

         CASE RECEIVE ̲FIRST ̲QEL (WAIT, RRQ)
                                (RRQ ̲ATTR, RRQ ̲QEL, RRQ ̲SUBQ,
                                CC):

             ERROR? -ANALYZE ̲ERROR (CC,0)

             OK? ̲



         END CASE

         CASE READ ̲BUFFER (RRQ ̲QEL, RETRIEVE ̲REQUEST ̲BUFFER.MAX
         ̲SIZE,0) (SIZE, RRQ ̲BUFF, CC):

             ERROR? -ANALYZE ̲ERROR (CC,0)

             OK? ̲



         END CASE

         SET ̲RETRIEVAL ̲FLAGS (RRQ ̲BUF)
                               (REQUEST ̲RETR ̲TYPE)









F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲5̲-̲2̲…86…1…02…   …02…    …02…   …02…  …02…    …02…          …02…        …02…                     
      
         SET ̲RETRIEVAL ̲FLAGS    (RRQ ̲BUFF                        :
                                                                 
                                                                 ARRAY
                                                                 (1..
                                                                 RETRIEVE
                                                                 ̲
                                                                 
                                                                 
                                                                 
                                                                 REQUEST
                                                                 ̲BUFFER
                                                                 ̲MAX
                                                                 ̲SIZE)
                                                                 
                                                                 
                                                                 
                                                                 OF
                                                                 INTEGER)
                                     (REQUEST ̲RETR ̲TYPE : INTEGER)

         EQUIVALENCE (RRQ ̲BUFF, RETR ̲BUFF:  SUPV ̲RETRIEVAL ̲RECORD
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 ̲TYPE
                                                                 ̲1)

         EQUIVALENCE (RRQ ̲BUFF,RETR ̲BUFF :  SUPV ̲RETRIEVAL ̲RECORD
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 ̲TYPE
                                                                 ̲2)

         EQUIVALENCE (RRQ ̲BUFF, RETR ̲BUFF:  SUPV ̲RETRIEVAL ̲RECORD
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 ̲TYPE
                                                                 ̲3)

         CASE RETR ̲BUFF.RETR ̲IDENT OF

             RETR ̲INC ̲AND ̲TRANS ̲MSG ̲ON ̲CHN ̲KEYS? - REQUEST ̲RETR
             ̲TYPE =

                     F ̲RETR ̲INC ̲AND ̲TRANS ̲MSG ̲ON ̲CHN ̲KEYS

             RETR ̲INC ̲AND ̲TRANS ̲MSG ̲ON ̲STN ̲KEYS? - REQUEST ̲RETR
             ̲TYPE =

                     F ̲RETR ̲INS ̲AND ̲TRANS ̲MSG ̲ON ̲STN ̲KEYS

             RETR ̲INC ̲AND ̲TRANS ̲MSG ̲ON ̲PLA ̲KEYS? - REQUEST ̲RETR
             ̲TYPE =

                     F ̲RETR ̲INC ̲AND ̲TRANS ̲MSG ̲ON ̲PLA ̲KEYS

             RETR ̲INC ̲TRANS ̲FD ̲COMM ̲RELNOT ̲ON ̲ITEM ̲KEYS? - REQUEST
             ̲RETR ̲TYPE =

                     F ̲RETR ̲INC ̲TRANS ̲FD ̲COMM ̲RELNON ̲ON ̲ITEM
                     ̲KEYS

             RETR ̲INC ̲MSG ̲ON ̲DTG ̲KEYS?   REQUEST ̲RETR ̲TYPE =

                     F ̲RETR ̲INC ̲MSG ̲ON ̲DTG ̲KEYS

             RETR ̲TRANS ̲MSG ̲ON ̲CHN ̲KEYS?   REQUEST ̲RETR ̲TYPE
             =

                     F ̲RETR ̲TRANS ̲MSG ̲ON ̲CHN ̲KEYS

             RETR ̲INC ̲AND ̲REL ̲MSG ̲ON ̲PLA ̲KEYS?   REQUEST ̲RETR
             ̲TYPE =

                     F ̲RETR ̲INC ̲AND ̲REL ̲MSG ̲ON ̲PLA ̲KEYS

             NEXT PAGE                                            NEXT
                                                                  PAGE


Figure 4.2.2.4.1.5-3…86…1…02…   …02…    …02…   …02…  …02…    …02…          …02…        …02…                     
      
         PREVIOUS PAGE                                            
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  PREVIOUS
                                                                  PAGE

         RETR ̲TRANS ̲MSG ̲ON ̲ITEM ̲KEYS?   REQUEST ̲RETR ̲TYPE =
                F ̲RETR ̲TRANS ̲MSG ̲ON ̲ITEM ̲KEYS

         RETR ̲TRANS ̲MSG ̲FOR ̲DEL ̲ON ̲ITEM ̲KEYS?   REQUEST ̲RETR
         ̲TYPE =
                F ̲RETR ̲TRANS ̲MSG ̲FOR ̲DEL ̲ON ̲ITEM ̲KEYS

         RETR ̲REL ̲MSG ̲ON ̲PLA ̲AND ̲ORIG ̲KEYS?   REQUEST ̲RETR ̲TYPE
         =
                F ̲RETR ̲REL ̲MSG ̲ON ̲PLA ̲AND ̲ORIG ̲KEYS

         RETR ̲INC ̲AND ̲TRANS ̲MSG ̲FOR ̲READ ̲ON ̲CHN ̲KEYS?   REQUEST
         ̲RETR ̲TYPE =
                F ̲RETR ̲INC ̲AND ̲TRANS ̲MSG ̲FOR ̲READ ̲ON ̲CHN ̲KEYS

         RETR ̲INC ̲AND ̲TRANS ̲MSC ̲FOR ̲READ ̲ON ̲STN ̲KEYS?   REQUEST
         ̲RETR ̲TYPE =
                F ̲RETR ̲INS ̲AND ̲TRANS ̲MSG ̲FOR ̲READ ̲ON ̲STN ̲KEYS

         RETR ̲INC ̲MSG ̲FOR ̲READ ̲ON ̲DTG ̲KEYS? REQUEST ̲RETR ̲TYPE
         =
                F ̲RETR ̲INC ̲MSG ̲FOR ̲READ ̲ON ̲DTG ̲KEYS

         RETR ̲FD ̲ON ̲ITEM ̲AND ̲ORIG ̲KEYS?   REQUEST ̲RETR ̲TYPE
         =
                F ̲RETR ̲FD ̲ON ̲ITEM ̲AND ̲ORIG ̲KEYS

         RETR ̲IND ̲PIST ̲MSG ̲ON ̲PLA ̲DIST ̲KEYS?   REQUEST ̲RETR
         ̲TYPE =
                F ̲RETR ̲INC ̲DIST ̲MSG ̲ON ̲PLA ̲DIST ̲KEYS

         RETR ̲REL ̲MSG ̲ON ̲PLA ̲ORIG ̲DIST ̲KEYS?   REQUEST ̲RETR
         ̲TYPE =
                F ̲RETR ̲REL ̲MSG ̲ON ̲PLA ̲ORIG ̲DIST ̲KEYS

         RETR ̲COMM ̲ON ̲ITEM ̲ORIG ̲DIST ̲KEYS?   REQUEST ̲RETR ̲TYPE
         =
                F ̲RETR ̲COMM ̲ON ̲ITEM ̲ORIG ̲DIST ̲KEYS

         RETR ̲RELNOT ̲ON ̲ITEM ̲AND ̲ORIG ̲KEYS?   REQUEST ̲RETR ̲TYPE
         =
                F ̲RETR ̲RELNOT ̲ON ̲ITEM ̲AND ̲ORIG ̲KEYS

         RETR ̲INC ̲DIST ̲MSG ̲ON ̲DTG ̲AND ̲DIST ̲KEYS?   REQUEST ̲RETR
         ̲TYPE =
                F ̲RETR ̲INC ̲DIST ̲MSC ̲ON ̲DTG ̲AND ̲DIST ̲KEYS

         RETR ̲FD ̲AND ̲COMM ̲ON ̲ITEM ̲AND ̲ORIG ̲KEYS?   REQUEST ̲RETR
         ̲TYPE =
                F ̲RETR ̲DS ̲AND ̲COMM ̲ON ̲ITEM ̲AND ̲ORIG ̲KEYS

         RETR ̲LOG ̲CIF ̲ON ̲LOG ̲KEYS?   REQUEST ̲RETR ̲TYPE =
                F ̲RETR ̲LOG ̲CIF ̲ON ̲LOG ̲KEYS

END CASE




                   Figure 4.2.2.4.1.5-4






         C̲O̲P̲Y̲ ̲C̲A̲T̲A̲L̲O̲G̲U̲E̲ ̲H̲E̲A̲D̲,̲ ̲R̲E̲S̲E̲T̲ ̲W̲O̲R̲K̲ ̲D̲A̲T̲A̲

         WAIT ̲SEM (ONL ̲CAT ̲HEAD ̲SEM)

         ONL ̲HEAD ̲COPY.VOLUME ̲ENTRY =
                     ONLINE ̲VOL ̲HEAD.VOLUME ̲ENTRY

         ONL ̲HEAD ̲COPY.CAT ̲DESCR =
                     ONLINE ̲VOL ̲HEAD.CAT ̲DESCR

         SIGNAL ̲SEM (ONL ̲CAT ̲HEAD ̲SEM)

            Set catal data buffers as not loaded with data

         ONL ̲PRI ̲WORK.NO ̲OF ̲ENTRIES = 0

         ONL ̲DTG ̲WORK.NO ̲OF ̲ENTRIES = 0












                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲5̲-̲5̲




         I̲D̲E̲N̲T̲I̲F̲Y̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲

         EQUIVALENCE (RRQ ̲BUFF, ONL ̲CHANNEL ̲RETRIEVAL: SUPV
         ̲RE-
                     TRIEVAL ̲RECORD ̲TYPE ̲1)

         EQUIVALENCE (RRQ ̲BUFF, ONL ̲STATION ̲RETRIEVAL: SUPV
         ̲RE-
                     TRIEVAL ̲RECORD ̲TYPE ̲2)

         EQUIVALENCE (RRQ ̲BUFF, ONL ̲ORIG ̲RETRIEVAL: RETRIEVAL
         ̲RE-
                     CORD ̲TYPE ̲3)

            DTG retrieval?

         ONL ̲ORIG ̲RETRIEVAL.RETR ̲IDENT
         AND RETR ̲KEYS ̲MASK EQ 
                DTG ̲KEYS?            
                                     RETRIEVAL ̲TYPE =
                                     DTG ̲RETRIEVAL

         ONL ̲ORIG ̲RETRIEVAL.TOC2     GT                            ONL
                                                                   ̲ORIG
                                                                   ̲RETRIEVAL.TOC1 ?
                                     RETRIEVAL ̲TYPE =
                                     TOC ̲WINDOW

         RETRIEVAL ̲TYPE = TOC ̲RETRIEVAL





                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲5̲-̲6̲

               …86…1         …02…   …02…  …02…    …02…          …02…    …02…           
                
         CHAIN ̲TOC ̲WINDOW ̲RETRIEVAL

         TOC = ONL ̲ORIG ̲RETRIEVAL.TOC1
           In online volume?
         ONL ̲HEAD ̲COPY.CAT ̲DESCR.FIRST ̲STILL ̲FOR ̲RETRIEVAL ̲TOC.
             TOC GT TOC ?



             Hang up if too many TOC ̲WINDOW
         WAIT ̲OPSEM (WINDOW ̲OPR ̲EMPTY ̲SEM, OPERATION ̲REF)

         EQUIVALENCE (OPERATION ̲REF, OPERATION: WINDOW ̲LIST
         ̲OPR)

         OPERATION.INDIC = WINDOW ̲RETRIEVAL

         OPERATION.BUFFER ̲REF = RRQ ̲QEL

         OPERATION.W ̲RETR ̲TYPE = REQUEST ̲RETR ̲TYPE

         SIGNAL ̲OPSEM (WINDOW ̲IN ̲SEM, OPERATION ̲REF)



                                ONL ̲SEND ̲FOR ̲OFFLINE



         RETURN






                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲5̲-̲7̲



4.2.2.4.2    D̲T̲G̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲



4.2.2.4.2.1 ̲F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This module performs all functions related to a DTG
         retrieval.



4.2.2.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲

         Upwards interface is for retrieval registration coroutine.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONLINE ̲DTG.RETRIEVAL ( ) ( )

         Downwards interfaces are as follows:

         Originator key check

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲ORIGINATOR ̲KEYS

             (ORIGINATOR ̲KEYS: ORIGINATOR ̲KEYS,
              ORIGINATOR ̲RETRIEVAL ̲RECORD:
              RETRIEVAL ̲RECORD ̲TYPE ̲1,
              MASK: BIT ̲MASK
             (MATCH: KEY ̲MATCH ̲TYPE)

         Security key check

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲SECURITY

             (ENTRY: MAIN ̲ENTRY,
              REQUEST: RETRIEVAL ̲RECORD ̲TYPE ̲3)
             (KET ̲MATCH: KEY ̲MATCH ̲TYPE)

         Return pointer to PRI catalogue entry



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         POINT ̲ONL ̲PRI ̲ENTRY

             (PHYS ̲ENTRY: LONG)
             (PRI ̲ENTRY ̲POINTER: POINTER)

         Return pointer to DTG catalogue entry

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         POINTER ̲ONL ̲DTG ̲ENTRY

             (PHYS ̲ENTRY ̲NO: LONG)
             (DTG ̲ENTRY ̲POINTER: POINTER)

         Sent not found answer

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONL ̲RETURN ̲NOT ̲FOUND ( ) ( )

         Send CIF return to return to retrieval requestor

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONL ̲RETURN ̲CIF

             (MAIN ̲ENTRY ̲POINTER: POINTER) ( )

         Check CAMPS type

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲CAMPS ̲TYPE

             (ENTRY: MAIN ̲ENTRY,
              RETR ̲TYPE: INTEGER)
             (MATCH: KEY ̲MATCH ̲TYPE)



4.2.2.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         Following module component for the DTG retrieval registration
         module has been identified:



         a)  D̲T̲G̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲

             Refer flowgram figure 4.2.2.4.2.5-1-2

             The request is checked for on-line retrieval or
             off-line retrieval. If off-line, the request is
             sent for off-line. If on-line, the on-line DTG
             catalogue is searched for a fitting entry. If now
             no CIFs have been found the request is sent for
             off-line. If found a security check is performed
             which can result in return of CIF or not found
             notification to requestor.


         b)  V̲e̲r̲i̲f̲y̲ ̲D̲T̲G̲ ̲E̲n̲t̲r̲y̲

             The verify DTG entry procedure compares retrieval
             keys with the catalogue entry addressed by ENTRY
             ̲NO. Output is an identification of found or not
             found.

             Refer flowgram figure 4.2.2.4.2.5-3-4.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         VERIFY ̲DTG ̲ENTRY (ENTRY ̲NO: LONG)
                          (STATUS: ONL ̲STATUS ̲TYPE)




4.2.2.4.2.4  D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             Refer source list

             -  SAR.D*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             Refer source list

             -  SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*DTG ̲RETR ̲MOD.I

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             None



4.2.2.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲


         Refer flowgram figure 4.2.2.4.2.5-1-4.



         ON ̲LINE ̲DTG ̲RETRIEVAL

         DTG = ONL ̲ORIG ̲RETRIEVAL.DTG

         PLA = ONL ̲ORIG ̲RETRIEVAL.PLA ̲REF ̲NO

         ONL ̲HEAD ̲COPY.VOLUME ̲ENTRY.YOUNGEST ̲DTG

             GE DTG GE ONL ̲HEAD ̲COPY.VOLUME ̲ENTRY.OLDEST ̲DTG?

                          S̲E̲A̲R̲C̲H̲ ̲F̲O̲R̲ ̲D̲T̲G̲
                          I̲N̲ ̲O̲N̲L̲I̲N̲E̲ ̲V̲O̲L̲U̲M̲E̲

                          ONL ̲STATUS ̲EQ ̲FOUND?

                                POINT ̲ONL ̲PRI ̲ENTRY (CURRENT
                                ̲ENTRY,(CURRENT ̲ENTRY ̲POINTER)

                                EQUIVALENCE (CURRENT ̲ENTRY ̲POINTER,
                                ENTRY: MAIN ̲ENTRY)

                                CHECK ̲CAMPS ̲TYPE (ENTRY,
                                                  REQUEST ̲RETR
                                     ̲
                                                  TYPE)(RESULT)

                                RESULT EQ FALSE ?
                                                      ONL ̲RETURN
                                     ̲
                                                      NOT ̲FOUND
                                                      ( )( )

                                CHECK ̲MAIN ̲ENTRY (ENTRY, OFFL
                                ̲
                                                  RETR ̲TYPE)
                                                 (RESULT)

                                RESULT EQ FALSE?
                                                      ONL ̲RETURN
                                     ̲
                                                      NOT ̲FOUND

                                CHECK ̲SECURITY (ENTRY, ONL ̲ORIG
                                ̲
                                                RETRIEVAL)
                                                (RESULT)

                                RESULT EQ OK?

         ONL ̲SEND ̲FOR           ONL ̲RETURN ̲           ONL ̲RETURN
         OFFLINE                NOT ̲FOUND             ̲CIF



                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲.̲5̲-̲1̲




         S̲E̲A̲R̲C̲H̲ ̲F̲O̲R̲ ̲D̲T̲G̲
         I̲N̲ ̲O̲N̲L̲I̲N̲E̲ ̲V̲O̲L̲U̲M̲E̲

         CURRENT ̲ENTRY = ONL ̲HEAD ̲COPY.CAT ̲DESCR.FIRST ̲STILL
         ̲FOR ̲                                   RETR ̲DTG ̲PRI.PHYS
                                                ̲ENTRY ̲NO

         LAST ̲ENTRY = ONL ̲HEAD ̲COPY.CAT ̲DESCR.LAST ̲LOADED ̲DTG
         ̲                            PRI.PHYS ̲ENTRY ̲NO

         MAX = ONL ̲HEAD ̲COPY.CAT ̲DESCR.MAX ̲NO ̲IN ̲PRI ̲DTG

         LAST ̲ENTRY LT CURRENT ̲ENTRY?

         LOOP                                LOOP
             VERIFY ̲DTG ̲ENTRY(CURRENT ̲ENTRY)    VERIFY ̲DTG ̲ENTRY
                                                                      (ONL
                                                                      ̲STATUS) (CURRENT
                                                                              ̲ENTRY)
                                                                              (ONL
                                                                              ̲STATUS)

             ONL ̲STATUS EQ FOUND? EXIT          ONL ̲STATUS EQ
                                                FOUND EXIT?

             CURRENT ̲ENTRY EQ                   CURRENT ̲ENTRY
                                                EQ
             LAST ̲ENTRY ?         EXIT          MAX?       
                                                EXIT
                                

             CURRENT ̲ENTRY =                    CURRENT ̲ENTRY
                                                =
             CURRENT ̲ENTRY + 1                  CURRENT ̲ENTRY
                                                + 1

         END LOOP                            END LOOP

                                             CURRENT ̲ENTRY =
                                     1

                                             LOOP

                                                  VERIFY ̲DTG
                                                  ̲ENTRY (CURRENT
                                                  ̲ENTRY) (ONL
                                                  ̲STATUS)

                                                  ONL ̲STATUS
                                                  EQ FOUND?
                                                  EXIT

                                                  CURRENT ̲ENTRY
                                                  EQ? LAST ̲ENTRY
                                                  EXIT

                                                  CURRENT ̲ENTRY=
                                                  CURRENT ̲ENTRY
                                                  + 1

                                                END LOOP

                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲.̲5̲-̲2̲



         VERIFY ̲DTG ̲ENTRY (ENTRY ̲NO: LONG)
                          (STATUS: ONL ̲STATUS ̲TYPE)

         POINT ̲ONL ̲DTG ̲ENTRY (ENTRY ̲NO) (DTG ̲ENT ̲POINTER)

         EQUIVALENCE (DTG ̲ENT ̲POINTER, ENTRY: INC ̲MSG ̲DTG ̲RECORD
         ̲TYPE)

         DTG ̲ENT.DTG EQ 0?      "Not loaded"

         DTG NE DTG ̲ENT.DTG?

         PLA NE DTG ̲ENT.PLA ̲REF ̲NO?

             Test corresponding PRI ̲ENTRY

         POINT ̲ONL ̲PRI ̲ENTRY (ENTRY ̲NO) (PRI ̲ENT ̲POINTER)

         EQUIVALENCE (PRI ̲ENT ̲POINTER, PRI ̲ENT: PRI ̲ENTRY ̲TYPE)

         CHECK ̲ORIGINATOR ̲KEYS (PRI ̲ENT,ONL ̲ORIG ̲RETRIEVAL,
         REQUEST ̲
                                           (MATCH)

         MATCH EQ NO FIT?

             "SCD ̲CHECK ̲INVOLVED?"

         REQUEST ̲RETR ̲TYPE AND RETR ̲DIST ̲SCD EQ 0?

         EQUIVALENCE (PRI ̲ENT ̲POINTER, HEAD: CAT ̲ENTRY ̲HEADER)

         HEAD.NO ̲OF ̲SCDS EQ 0?

         L̲O̲O̲P̲ ̲O̲N̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲I̲E̲S̲

         MATCH EQ NO FIT?


         STATUS = FOUND              STATUS = NOT ̲FOUND





                  F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲.̲5̲-̲3̲ 



         L̲O̲O̲P̲ ̲O̲N̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲I̲E̲S̲ ̲

         SCD = ONL ̲ORIG ̲RETRIEVAL.ORIGINATOR ̲SCD

         WORK ̲ENTRY ̲NO = ENTRY ̲NO

         LOOP

             WORK ̲ENTRY ̲NO = WORK ̲ENTRY ̲NO + 1

             WORK ̲ENTRY ̲NO LE MAX?

             WORK ̲ENTRY ̲NO = 1


             POINT ̲ONL ̲PRI ̲ENTRY (WORK ̲ENTRY ̲NO,
                                  WORK ̲ENTRY ̲POINTER)
             EQUIVALENCE (WORK ̲ENTRY ̲POINTER, SCD ̲WORK ̲LIST:
             SCD ̲
                          ENTRY)

             CHECK ̲SCD (SCD, SCD ̲WORK ̲LIST) (MATCH)

             MATCH EQ FIT?           EXIT

             Continuation entry?

             SCD ̲WORK ̲LIST.KIND (1) EQ NOT ̲CONTINUES?   EXIT

         END LOOP






                   F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲.̲5̲-̲4̲



4.2.2.4.3    T̲O̲C̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲



4.2.2.4.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This module performs the TOC retrieval.



4.2.2.4.3.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Interfaces upwards are for retrieval registration module,
         which calls this module

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONLINE ̲TOC ̲RETRIEVAL ( ) ( )

         Interfaces downwards are as follows:

         Check station keys

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲STATION ̲KEYS

             (CHANNEL ̲STATION ̲KEYS: CHANNEL ̲STATION ̲KEYS,
              CHENNEL ̲RETRIEVAL ̲RECORD: RETRIEVAL ̲RECORD ̲TYPE
             ̲2)
             (KEY ̲MATCH: KEY ̲MATCH ̲TYPE)

         Check originator keys

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲ORIGINATOR ̲KEYS

             (ORIGINATOR ̲KEYS: ORIGINATOR ̲KEYS,
              ORIGINATOR ̲RETRIEVAL ̲RECORD:
              RETRIEVAL ̲RECORD ̲TYPE ̲3)
              Mask: BI ̲MASK)
             (MATCH: KEY ̲MATCH ̲TYPE)

         Check security



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲SECURITY

             (ENTRY: MAIN ̲ENTRY,
              REQUEST: RETRIEVAL ̲RECORD ̲TYPE ̲3)
             (MATCH: KEY ̲MATCH ̲TYPE)

         Check main entry parameters

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲MAI ̲ENT ̲PARS

             (ENTRY: MAIN ̲ENTRY,
              FLACS: INTEGER)
             (MATCH: KEY ̲MATCH ̲TYPE)

         Check CAMPS type

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲CAMPS ̲TYPE

             (ENTRY: MAIN ̲ENTRY,
              RETR ̲TYPE: INTEGER)
             (MATCH: KEY ̲MATCH ̲TYPE)

         Add catalogue entry to CIF

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         RET ̲CATAL

             (ENTRY: MAIN ̲ENTRY) ( )

         Terminate and return catalogue CIF

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         TERM ̲RET ̲CATAL ( ) ( )

         Initialize catalogue CIF

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         INIT ̲RET ̲CATAL ( ) ( )

         Return pointer to PRI catalogue entry



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         POINT ̲ONL ̲PRI ̲ENTRY

             (PHYS ̲ENTRY ̲NO: LONG)
             (PRI ̲ENTRY ̲POINTER: POINTER)

         Return not found answer to requestor

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONL ̲RETURN ̲NOT ̲FOUND ( ) ( )

         Return message to requestor

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONL ̲RETURN ̲CIF

             (MAIN ̲ENTRY: MAIN ̲ENTRY) ( ) ( )

         Send retrieval request to the off-line coroutine

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         ONL ̲SEND ̲OFFLINE ( ) ( )

         Check if the referenced is deleted

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         CHECK ̲DELETION

             (CIF ̲RERENCE ̲NUMBER: LONG)
             (RESULT: BOOLEAN)



4.2.2.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         a)  M̲a̲i̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             Refer flowgram figure 4.8.2.4.3.5-1-11.

             This module first checks if request is for the
             off-line disk. If so, the request is sent for off-line.
             Otherwise the corresponding TOC interval is searched
             on the on-line disk.



             This is implemented by calculating the physical
             TOC intervals. Transferring a part of the PRI ̲FILE
             ̲ON into a buffer for search, to verify if any entries
             are fitting. Collection of fitting entries to a
             possible catalogue CIF or just a single entry and
             return of result to requestor.

         Following shared module components have been identified
         for this module.

         b)  I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲

             Refer flowgram figure 4.2.2.4.3.5-12.

             This module component initializes the CIF to be
             returned with catalogue information to requestor.

             The CIF is created, the number of entries set to
             0 and CIF classification set to unclassified.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         INIT ̲RET ̲CATAL ( ) ( )

         c)  R̲e̲t̲u̲r̲n̲ ̲c̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲B̲u̲f̲f̲e̲r̲

             Refer flowgram figure 4.2.2.4.3.5-13.

             This component procedure transfers the catalogue
             buffer to a previously created catalogue CIF if
             buffer exceeds catal buffer length.

             If there is room enough in buffer the catalogue
             entry is supplied.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         RET ̲CATAL ( ) ( )

         d)  T̲e̲r̲m̲i̲n̲a̲t̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲C̲I̲F̲

             Refer flowgram figure 4.2.2.4.3.5-14.

             This procedure completes the catalogue CIF i.e.
             transfer rest of buffer to CIF, sends the CIF to
             requestor and dismantle of QEL.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         TERM ̲RET ̲CATAL ( ) ( )



4.2.2.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲

             Refer source list

             -  SAR.D*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             Refer source list

             -  SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*TOC ̲RETR ̲MOD.I

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             None



4.2.2.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Refer flowgrams 4.2.2.4.3.5-1-14.



         ON ̲LINE ̲TOC ̲RETRIEVAL

         TOC = ONL ̲ORIG ̲RETRIEVAL.TOC1

             Test if on-line

         TOC LT ONL ̲HEAD ̲COPY. CAT ̲DESCR.
         FIRST ̲STILL ̲FOR ̲RETR ̲TOC. TOC?

                                ONL ̲SEND ̲FOR ̲OFFLINE

             Too young?

         TOC GT ONL ̲HEAD ̲COPY. CAT ̲DESCR.
         LAST ̲LOADED ̲TOC.TOC ?

                                ONL ̲RETURN ̲NOT ̲FOUND

         C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲P̲H̲Y̲S̲ ̲T̲O̲C̲ ̲E̲N̲T̲R̲Y̲

         R̲E̲A̲D̲ ̲T̲O̲C̲

         V̲E̲R̲I̲F̲Y̲ ̲T̲H̲A̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲ ̲E̲N̲T̲R̲Y̲
         I̲S̲ ̲N̲O̲T̲ ̲F̲I̲R̲S̲T̲ ̲F̲R̲E̲E̲ ̲A̲N̲D̲ ̲C̲A̲L̲C̲U̲-̲
         L̲A̲T̲E̲ ̲P̲H̲Y̲S̲ ̲P̲R̲I̲ ̲E̲N̲T̲ ̲?̲

         L̲O̲O̲P̲ ̲O̲N̲ ̲P̲R̲I̲ ̲E̲N̲T̲R̲I̲E̲S̲    ONL ̲RETURN ̲NOT ̲FOUND

         CATAL ̲RET EQ TRUE?     TERM ̲RET ̲CATAL

         NO ̲OF ̲ENTRIES ̲FOUND EQ 0?

         POINT ̲ONL ̲PRI ̲ENTRY (FOUND ̲ENTR(1),    ONL ̲RETURN ̲NOT
                                                ̲FOUND
                              WORK ̲ENTY ̲POINT)

         EQUIVALENCE (WORK ̲ENTRY ̲POINT, ENTRY: MAIN ̲ENTRY)

         ONL ̲RETURN ̲CIF

         RETURN







                   FIGURE 4.2.2.4.3.5-1


         C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲P̲H̲Y̲S̲ ̲T̲O̲C̲ ̲E̲N̲T̲R̲Y̲

         TOC ̲ENTRY ̲DIFF = (TOC-
                           ONL ̲HEAD ̲COPY.CAT ̲DESCR.
                           FIRST ̲STILL ̲FOR ̲RETR ̲TOC.TOC)/60

         PHYS ̲TOC ̲ENTRY =  TOC ̲ENTRY ̲DIFF +
                           ONL ̲HEAD ̲COPY.CAT ̲DESCR.
                           FIRST ̲STILL ̲FOR ̲RETR ̲TOC
                           PHYS ̲ENTRY ̲NO

         MAX = ONL ̲HEAD ̲COPY.CAT ̲DESCR.
                        MAX ̲NO ̲IN ̲TOC

         PHYS ̲TOC ̲ENTRY LT MAX?

         PHYS ̲TOC ̲ENTRY =
         PHYS ̲TOC ̲ENTRY-MAX































                   FIGURE 4.2.2.4.3.5-2


         R̲E̲A̲D̲ ̲T̲O̲C̲

         LOAD ONL ̲TOC ̲FILADD corresponding to
              PHYS ̲TOC ̲ENTRY

         CASE READBYTES  (ONL ̲TOC ̲FD, ONL ̲TOC ̲FILADD,
                         TOC ̲ENTRY ̲BLE)
                         (ONL ̲TOC ̲FILADD, CC):

            ERROR?  ANALYZE ̲ERROR(CC, 0)

            OK?



         END CASE






























                   FIGURE 4.2.2.4.3.5-3


         V̲E̲R̲I̲F̲Y̲ ̲T̲H̲A̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲ ̲E̲N̲T̲R̲Y̲
         I̲S̲ ̲N̲O̲T̲ ̲F̲I̲R̲S̲T̲ ̲F̲R̲E̲E̲ ̲A̲N̲D̲
         C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲P̲H̲Y̲S̲ ̲P̲R̲I̲ ̲E̲N̲T̲


         TOC ̲ENTRY GT
             ONL ̲HEAD ̲COPY.CAT ̲DESCR.
             LAST ̲LOADED ̲DTG ̲PRI.ABS ̲ENTRY ̲NO?

           IS NOT

         PHYS ̲PRI ̲ENT =
             ONL ̲HEAD ̲COPY.CAT ̲DESCR.
             FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.
             PHYS ̲ENTRY ̲NO + TOC ̲ENTRY

         MAX = ONL ̲HEAD ̲COPY.CAT ̲DESCR.
                 MAX ̲NO ̲IN ̲PRI ̲DTG

         PHYS ̲PRI ̲ENT LE MAX?

         PHYS ̲PRI ̲ENT =
         PHYS ̲PRI ̲ENT - MAX


         LAST ̲ENTRY = ONL ̲HEAD ̲COPY.CAT ̲DESCR.
                      LAST ̲LOADED ̲DTG ̲PRI.
                      PHYS ̲ENTRY ̲NO
















                   FIGURE 4.2.2.4.3.5-4


         L̲O̲O̲P̲ ̲O̲N̲ ̲P̲R̲I̲ ̲E̲N̲T̲R̲I̲E̲S̲

         NO ̲OF ̲ENTRIES ̲FOUND = 0, CATAL ̲RET = FALSE

         WORK ̲ENTRY ̲NO = PHYS ̲PRI ̲ENT

         KEYTYPE = REQUEST ̲RETR ̲TYPE AND RETR ̲KEYS
         L̲O̲A̲D̲ ̲S̲C̲D̲

         LOOP

            POINT ̲ONL ̲PRI ̲ENTRY (WORK ̲ENTRY ̲NO)
                                (WORK ̲ENTRY ̲POINT)
            EQUIVALENCE(WORK ̲ENTRY ̲POINT, ENTRY: MAIN ̲ENTRY)

            CASE ENTRY.KIND(2) OF

              ORIGIN ̲ENTRY,CHN ̲STATION ̲ENTRY: H̲A̲N̲D̲L̲E̲ ̲M̲A̲I̲N̲ ̲E̲N̲T̲R̲Y̲

              SCD ̲ENTRY:                      H̲A̲N̲D̲L̲E̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲Y̲

            END CASE

            NO ̲OF ̲ENTRIES ̲FOUND EQ2?
                                   CATAL ̲RET = TRUE
                                   INIT ̲RET ̲CATAL
                                   RET ̲CATAL(FOUND ̲ENTR(1))
                                   RET ̲CATAL(FOUND ̲ENTR(2))
                                   NO ̲OF ̲ENTRIES ̲FOUND = 0

            CATAL ̲REF EQ TRUE and
            NO ̲OF ̲ENTRIES ̲FOUND EQ 1?
                                   RET ̲CATAL(FOUND ̲ENTR(1))
                                   NO ̲OF ̲ENTRIES ̲FOUND = 0

              Finished

            LAST ̲TOC GT TOC?

            WORK ̲ENTRY ̲NO EQ LAST ̲ENTRY?

            WORK ̲ENTRY ̲NO =
              WORK ̲ENTRY ̲NO + 1

            WORK ̲ENTRY ̲NO LE MAX?

            WORK ̲ENTRY ̲NO = 1

         END LOOP  
                   FIGURE 4.2.2.4.3.5-5


         L̲O̲A̲D̲ ̲S̲C̲D̲

         CASE KEYTYPE OF

              PLA ̲KEYS, ITEM KEYS:

                 SCD = ONL ̲ORIG ̲RETRIEVAL.ORIGINATOR ̲SCD

              OTHER


         END CASE



































                   FIGURE 4.2.2.4.3.5-6


         H̲A̲N̲D̲L̲E̲ ̲M̲A̲I̲N̲ ̲E̲N̲T̲R̲Y̲

         LAST TOC = ENTRY.HEADER.TOC

         LAST TOC GT TOC? - MATCH = NO ̲FIT

            CASE KEYTYPE OF

              STATION ̲KEYS: H̲A̲N̲D̲L̲E̲ ̲S̲T̲A̲T̲I̲O̲N̲ ̲K̲E̲Y̲S̲

              CHANNEL ̲KEYS: H̲A̲N̲D̲L̲E̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲K̲E̲Y̲S̲

              PLA ̲KEYS,ITEM ̲KEYS:  H̲A̲N̲D̲L̲E̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲

            END CASE

         MATCH EQ NO ̲FIT?

         CHECK ̲MAIN ̲ENT ̲PARS (ENTRY, REQUEST ̲RETR ̲TYPE)(MATCH)

         MATCH EQ NO ̲FIT?

         CHECK ̲CAMPS ̲TYPE (ENTRY,REQUEST ̲RETR ̲TYPE) (MATCH)

         MATCH EQ NO ̲FIT?

         CHECK ̲SECURITY(ENTRY, ONL ̲ORIG ̲RETRIEVAL)
                       (RESULT)

         RESULT EQ OK?

         MATCH = NO ̲FIT  MAIN ̲ENT ̲NO = WORK ̲ENTR ̲NO


         MATCH EQ NO ̲FIT

         KEYTYPE IS NOT STATION OR CHANNEL?

            Register a found entry

         NO ̲OF ̲ENTRIES ̲FOUND =
            NO ̲OF ̲ENTRIES ̲FOUND + 1

         FOUND ̲ENTR (NO ̲OF ̲ENTRIES ̲FOUND) = MAIN ̲ENT ̲NO










                   FIGURE 4.2.2.4.3.5-7


         H̲A̲N̲D̲L̲E̲ ̲S̲T̲A̲T̲I̲O̲N̲ ̲K̲E̲Y̲S̲


         ENTRY.KIND(1) NE CHN ̲STATION ̲ENTRY?


         CHECK ̲STATION ̲KEYS
         (ENTRY, ONL ̲STATION ̲RETRIEVAL,      MATCH = NO ̲FIT
         REQUEST ̲RETR ̲TYPE)(MATCH)






































                   FIGURE 4.2.2.4.3.5-8


         H̲A̲N̲D̲L̲E̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲K̲E̲Y̲S̲


         ENTRY.KIND(1) NE CHN ̲STATION ̲ENTRY?



         CHECK ̲CHANNEL ̲KEYS
         (ENTRY, ONL ̲CHANNEL ̲RETRIEVAL,      MATCH = NO ̲FIT
         REQUEST ̲RETR ̲TYPE)(MATCH)





































                   FIGURE 4.2.2.4.3.5-9


         H̲A̲N̲D̲L̲E̲ ̲O̲R̲G̲ ̲K̲E̲Y̲S̲



         ENTRY.KIND(1) NE ORIGIN ̲ENTRY?


         CHECK ̲ORIGINATOR ̲KEYS
         (ENTRY,ONL ̲ORIG ̲RETRIEVAL,                                      MATCH
                                                                         =
                                                                         NO
                                                                         ̲FIT
         REQUEST ̲RETR ̲TYPE)(MATCH)





































                  FIGURE 4.2.2.4.3.5-10


         H̲A̲N̲D̲L̲E̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲Y̲

            Skip if no main entry fit or entry already found

         MATCH EQ NOFIT?

            Skip if no SCD check

         KEYTYPE EQ CHANNEL ̲KEYS?

         KEYTYPE EQ STATION ̲KEYS?

         REQUEST ̲RETR ̲TYPE AND RETR ̲DIST ̲SCD EQ 0

         CHECK ̲SCD (SCD, ENTRY) (SCD ̲MATCH)

         SCD ̲MATCH EQ NO ̲FIT?

            Register a found entry (main)

         NO ̲OF ̲ENTRIES ̲FOUND =
              NO ̲OF ̲ENTRIES ̲FOUND + 1

         FOUND ̲ENTR (NO ̲OF ̲ENTRIES ̲FOUND)

              = MAIN ̲ENT ̲NO

            Stop SCD-Scan for this main entry

         MATCH = NO ̲FIT
















                  FIGURE 4.2.2.4.3.5-11


         INIT ̲RET ̲CATAL

         CASE CREATE ̲CIF (CATAL ̲VIEW ̲ATTR, RRQ)
                         (CATAL ̲VIEW ̲REF, CC):

             ERROR? ̲ANALYZE ̲ERROR (CC,0)

             OK?



         END CASE

         Write field 1 with transmission catal for channel and
         station and system catal for other

         CATAL ̲BUF ̲NO ̲OF ̲ENT = 0

         CATAL ̲MAX ̲CLASS = UNCLASSIFIED












                  F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲.̲5̲-̲1̲2̲


         RET ̲CATAL

         INCREMENT CATAL ̲NO ̲OF ̲ENT

         PUT parameters from ENTRY into

         CATAL ̲BUF (CATAL ̲NO ̲OF ̲ENT)

         UPDATE CATAL ̲MAX ̲CLASS



         CATAL NO OF ENT EQ
             CATAL ̲BUF ̲LENGTH?

                     CASE WRITE ̲VIEW (BUFFER ̲SIZE,
                                      CATAL ̲FIELD ̲LIST,
                                      CATAL ̲VIEW ̲REF,
                                      CATAL ̲BUF) (CC):

                       ERROR? ̲ANALYZE ̲ERROR (CC,0)

                       OK?



                     END ̲CASE

                     CATAL ̲NO ̲OF ̲ENT = 0

         RETURN





                  F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲.̲5̲-̲1̲3̲.̲


         TERM ̲RET ̲CATAL

         Output content of CATAL ̲BUF TO CIF

         RETURN CIF

         DISCONNECT CATAL ̲VIEW ̲REF






















                  F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲.̲5̲-̲1̲4̲.̲


4.2.2.4.4    T̲O̲C̲ ̲W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲



4.2.2.4.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         This module performs the on-line TOC window retrieval.



4.2.2.4.4.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         Interface to other modules is as follows:

         -   upwards interface
         -   downwards interface

         a)  R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲g̲i̲s̲t̲r̲a̲t̲i̲o̲n̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             The retrieval registration module initiates the
             TOC window module in case where a TOC window retrieval
             has been detected.

             Incarnation of TOC window coroutine is performed
             by signalling the semaphore WINDOW ̲IN ̲ ̲SEM.

         b)  D̲o̲w̲n̲w̲a̲r̲d̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

             Check station keys

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             CHECK ̲STATION ̲KEYS

                (CHANNEL ̲STATION ̲KEYS: CHANNEL ̲STATION ̲KEYS,
                 CHANNEL ̲RETRIEVAL ̲RECORD:
                 RETRIEVAL ̲RECORD ̲TYPE ̲2)
                (KEY ̲MATCH: KEY ̲MATCH ̲TYPE)

             Check originator keys

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             CHECK ̲ORIGINATOR ̲KEYS

             (ORIGINATOR ̲KEYS: ORIGINATOR ̲KEYS,
              ORIGINATOR ̲RETRIEVAL ̲RECORD:
              RETRIEVAL ̲RECORD ̲TYPE ̲3,
              MASK: BIT ̲MASK)
             (MATCH: KEY ̲MATCH ̲TYPE

             Check security



             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             CHECK ̲SECURITY

                (ENTRY: MAIN ̲ENTRY,
                 REQUEST: RETRIEVAL ̲RECORD ̲TYPE ̲3)
                (MATCH: KEY ̲MATCH ̲TYPE)

             Check main entry parameters

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             CHECK ̲MAIN ̲ENT ̲PARS,

                (ENTRY: MAIN ̲ENTRY,
                 FLACS: INTEGER)
                (MATCH: KEY ̲MATCH ̲TYPE)

             Check CAMPS type

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             CHECK ̲CAMPS ̲TYPE

                (ENTRY: MAIN ̲ENTRY,
                 RETR ̲TYPE: INTEGER)
                (MATCH: KEY ̲MATCH ̲TYPE)

             Add catalogue entry to catalogue CIF

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲RET ̲CATAL

                (ENTRY: MAIN ̲ENTRY) ( )

             Terminate and return catalogue CIF

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲TERM ̲RET ̲CATAL ( ) ( )

             Initialize catalogue CIF

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲INIT ̲RET ̲CATAL ( ) ( )

             Return pointer to PRI catalogue entry



             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             POINT ̲ONL ̲PRI ̲ENTRY

                (PHYS ̲ENTRY ̲NO: LONG)
                (PRI ̲ENTRY ̲POINTER: POINTER)

             Return not found answer to requestor

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲RETURN ̲NOT ̲FOUND ( ) ( )

             Return message to requestor

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲RETURN ̲CIF

                (MAIN ̲ENTRY: MAIN ̲ENTRY) ( )

             Check if the referenced is deleted

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲CHECK ̲DELETION

                (CIF ̲RERENCE ̲NUMBER: LONG)
                (RESULT: BOOLEAN)

             Dismantling window coroutine QEL's

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             W ̲DISCONNECT ̲QEL

                (QEL: QEL ̲REFERENCE,
                 OBJ: OBJECT ̲TYPE) ( )