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

⟦64029b1af⟧ Wang Wps File

    Length: 20549 (0x5045)
    Types: Wang Wps File
    Notes: CPS/SDS/030               
    Names: »1511A «

Derivation

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

WangText

…09……00……00……00……00…!…02……00……00…!
!…06…!…07… …0e……18……0c……18……0e……18……02……18… …18……05……17……0b……17……0e……17……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.3    O̲f̲f̲-̲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̲

         Included in this section is the specification of the
         off-line retrieval sub-package.



4.2.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̲

         The functions performed by the sub-package are listed
         below. A number of functions are identical to those
         mentioned in the on-line retrieval sub-package.

         -   Activate off-line retrieval

         -   Off-line volume determination

         -   Test of mounted volume

         -   Volume mount

         -   Off-Line catalogue consult

         -   Access check

         -   Retrieval of CIF

         -   Delivery of retrieval result

         Overleaf on figure 4.2.3.1-1 an overview diagram depicting
         the off-line retrieval functions is shown.










                     Figure 4.2.3.1-1



4.2.3.1.1    A̲c̲t̲i̲v̲a̲t̲e̲ ̲O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲

         Activation of off-line retrieval is performed by signalling
         the semaphore OFFL ̲IN ̲SEM, where the off-line retrieval
         coroutine is waiting. If off-line retrieval is off,
         requestor is responsed so, and retrieval terminats.
         If any off-line retrievals have been detected by the
         on-line retrieval subpackage, OFFL ̲RETR ̲COUNTER is
         incremented. Off-line retrieval decrements counter
         after each retrieval. A second condition shall be fulfilled
         before activation. The status off-line retrieval shall
         be in on, or suspend condition.

         Each time a new off-line retrieval is started the pending
         off-line requests in off-line retrieval list are scanned.
         If any requests require use of the present mounted
         volume, these are serviced first. In case none are
         for the present mounted off-line volume, the requests
         related to the youngest volume are serviced.



4.2.3.1.2    O̲f̲f̲-̲L̲i̲n̲e̲ ̲V̲o̲l̲u̲m̲e̲ ̲D̲e̲t̲e̲r̲m̲i̲n̲a̲t̲i̲o̲n̲

         Each off-line retrieval has attached a TOC or DTG as
         one of the retrieval keys. This is used for the determination
         of off-line volume containing the message or transaction.
         When no more retrieval requests are for the present
         mounted volume the off-line retrieval list is scanned
         to determine the next volume to be mounted. The oldest
         request and corresponding volume-id is then used for
         the volume mount request for the supervisor report
         printer. The volume-id is then used during a later
         test of mounted volume. If a DTG off-line retrieval
         has shown not found, volume table is consulted to check
         if successor volume possibly contains the CIF requested.
         If so the request and volume id is supplied to the
         off-line list.





4.2.3.1.3    T̲e̲s̲t̲ ̲o̲f̲ ̲M̲o̲u̲n̲t̲e̲d̲ ̲V̲o̲l̲u̲m̲e̲

         Test of presently mounted volume is carried out by
         requesting SFM of volume-id corresponding to the off-line
         disk. This volume-id is compared with the volume-id
         achieved during the previous off-line volume determination.
         A correctly mounted volume results in continuation
         with off-line catalogue consult. Wrong volume mounted
         requires a volume mount prior to continuation of off-line
         retrieval.



4.2.3.1.4    V̲o̲l̲u̲m̲e̲ ̲M̲o̲u̲n̲t̲

         The volume mount function is initiated by sending a
         mount request report to the supervisor's report printer
         queue. Contents of report are volume-id of requested
         volume.

         Mount acknowledge can be either mount refused or mount
         completed.

         Mount refused results in returning a completion code
         to requestor return queue acknowledging that CIF not
         found.  Mount completed results in test of mounted
         volume as described in 4.2.3.1.3.



4.2.3.1.5    O̲f̲f̲-̲L̲i̲n̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲C̲o̲n̲s̲u̲l̲t̲

         This function is implemented in the same way as the
         on-line retrieval sub-package performs the on-line
         catalogue consult. The only difference occurring is
         that the cataloque in question is the off-line catalogue.
         For functional description refer to 4.2.2.1.3.



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

         Function performed equal to the access check under
         on-line retrieval. Refer to 4.2.2.1.4.





4.2.3.1.7    R̲e̲t̲r̲i̲e̲v̲e̲ ̲C̲I̲F̲

         Function performed equal to the CIF retrieval under
         on-line retrieval. Refer to 4.2.2.1.5.



4.2.3.1.8    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̲

         A number of off-line retrieval events produces a result
         to be returned to requestor. The events are:

         -   off-line retrieval off

         -   CIF not found

         -   CIF found



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

         Figure 4.2.3.2-1 overleaf shows the software structure.



                            MAIN
                           MODULE




         DTG                  TOC              - OFFL ̲DISK ̲ERROR
         RETRIEVAL         RETRIEVAL           - O ̲RETURN ̲NOT
                                               ̲FOUND
         MODULE            MODULE              - MOUNT ̲UNKNOWN
                                               ̲VOLUME
                                               - DISCONNECT
                                               ̲OFFL



         - OFFL ̲DISK ̲ERROR                 - OFFL ̲DISK ̲ERROR

         - O ̲RETURN ̲NOT ̲FOUND              - O ̲RETURN ̲NOT ̲FOUND

         - POINT ̲O ̲PRI ̲ENTRY               - POINT ̲O ̲PRI ̲ENTRY

         - O ̲RETURN ̲CIF                    - O ̲RETURN ̲CIF

         - CHECK ̲ORIGINATOR ̲KEYS           - CHECK ̲ORIGINATOR
                                           ̲KEYS

         - CHECK ̲SECURITY                  - CHECK ̲SECURITY

         - CHECK ̲CAMPS ̲TYPE                - CHECK ̲CAMPS ̲TYPE

         - CHECK ̲MAIN ̲ENT ̲PTR              - CHECK ̲MAIN ̲ENT
                                           ̲PTR

         - O ̲SEND ̲FOR ̲NEXT ̲VOLUME          - MOUNT ̲UNKMOWN ̲VOLUME

                                           - O ̲SEND ̲FOR ̲NEXT
                                           ̲VOLUME

                                           - CHECK ̲CHANNEL KEYS

                                           - CHECK ̲STATION ̲KEYS

                                           - O ̲RET ̲CATAL

                                           - O ̲TERM ̲CATAL

                                           - O ̲INIT ̲RET ̲CATAL

                                           - O ̲CHECK ̲DELETION




                     FIGURE 4.2.3.2-1
             SOFTWARE STRUCTURE TOC COROUTINE





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

         For details of the data flow and control logic refer
         section 4.2.3.4.4.5 module design.

         Figure 4.2.3.3-1 shows the main control for this sub-package.










                     Figure 4.2.3.3-1


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

         This off-line retrieval sub-package consists of 3 modules,
         namely:

         -   off-line retrieval main module
         -   DTG retrieval module
         -   TOC retrieval module



4.2.3.4.1    O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲a̲i̲n̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.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 performs the off-line retrieval main function.
         Off-line retrieval is initiated when the semaphore
         OFFL ̲IN ̲SEM is signalled by the retrieval registration
         package.

         Upon completion of an off-line retrieval the retrieval
         list is examined for any requests for the present mounted
         volume. Off-line retrieval commands are received in
         the above mentioned semaphore as weel. The commands
         are:

         -   int offl retr on
         -   int offl retr susp
         -   int offl retr off
         -   int offl retr mount refused

         The kind of retrieval is detected and corresponding
         DTG or TOC retrieval module is called.



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

         The module interface is during invocation of offline
         retrieval, to the online retrieval subpackage via the
         semaphore OFFL ̲IN ̲SEM. The module interface during
         offline retrieval command is via the same semaphore
         to the supervisor command subpackage.

         As shown on figure 4.2.3.3-1 this offline registration
         module calls either one of the DTG retrieval module
         or TOC retrieval module depending and detected retrieval
         type.



         Downwards interfaces are then as follows:

         Return not found answer

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

         O ̲RETURN ̲NOT ̲FOUND

             (OFFL ̲LIST ̲NO: INTEGER) ( )

         Request mount of unknown volume

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

         MOUNT ̲UNKNOWN ̲VOLUME ( ) ( )

         Perform DTG retrieval

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

         DTG ̲RETRIEVAL

             ( ) (ERROR: INTEGER)

         Perform TOC retrieval

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

         TOC ̲RETRIEVAL

             ( ) (ERROR: INTEGER)

         Dismantle queue element

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

         DISCONNECT ̲OFFL

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





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

         Off-line retrieval main module performs the initiation
         of off-line retrieval i.e. examination of off-line
         list, test of present mounted volume, volume mount
         mechanism and initiation of either DTG or TOC retrievals.

         Flowgram figures 4.2.3.4.1.5-1 to 16 show the control
         logic for this module.

         The following shared module components are identified:

         -   Clear mount request

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

         The offline list is searched for outstanding mount
         request.

         If an outstanding mount request is found corresponding
         offline list element is marked as not outstanding with
         a mount request.

         Flowgram refer figure 4.2.3.4.1.5-17.

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

         CLEAR ̲MOUNT ̲REQUEST ( ) ( )

         -   Empty offline list

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

         The offline retrieval request list is emptied for elements
         and involved requestors answered that no CIFs are found.

         Flowgram refer figure 4.2.3.4.1.5-18.

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

         EMPTY ̲OFFL ̲LIST ( ) ( )

         -   Find request in offline list

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

         The first request in the offline list with volume name
         as specified in call is found. Corresponding list number
         and operation pointer are returned.

         Flowgram refer figure 4.2.3.4.1.5-19.



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

         FIND ̲REQUEST (NAME: VOLUME ̲NAME)
                      (NO: INTEGER,
                       OP ̲REF: POINTER)

         -   Find mount request in offline list 

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

         The offline retrieval request list is scanned to find
         an eventual outstanding mount request element. If found,
         list number and operation pointer are returned. If
         not found zero is returned as the number.

         Flowgram refer figure 4.2.3.4.1.5-20.

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

         FIND ̲MOUNT ̲REQUEST ( )
                            (NO: INTEGER,
                             REF: POINTER)

         -   Mount request

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

         A mount request either of known or unknown volume is
         sent to the supervisors report printer.

         The volume name found is by comparing the volume table
         volume names with the offline list volume names and
         search for correspondence. If no correspondence can
         be met unknown volume is mounted.

         Flowgram refer figure 4.2.3.4.1.5-21-22.

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

         MOUNT ̲REQUEST ( ) ( )





4.2.3.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*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S

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

             Refer source list

             -   SAR.D*RTR.D*OFL ̲RTR ̲IMPORT.D*MAIN ̲MOD.I


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

             None



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

         Refer flowgrams figure 4.2.3.4.1.5-1-



         OFFLINE RETRIEVAL

         I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲

         LOOP

             LOOP

                 LENGTH OF OFFL ̲IN ̲SEM NE 0?

                 OFFL ̲RETR ̲COUNTER EQ 0?

                 STATE NE ON?

                 A̲N̲Y̲ ̲T̲O̲ ̲O̲N̲L̲ ̲V̲O̲L̲?̲ 

                 ANSWER EQ TRUE?   EXIT

                 OUTSTANDING ̲MOUNT ̲
                 REQ EQ TRUE?


                 MOUNT ̲REQUEST

                 N̲E̲X̲T̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲

             END LOOP

             R̲E̲T̲R̲I̲E̲V̲E̲ ̲F̲O̲R̲ ̲T̲H̲I̲S̲ ̲V̲O̲L̲U̲M̲E̲ ERROR?

                     O̲F̲F̲L̲ ̲E̲R̲R̲O̲R̲



         END LOOP













                   FIGURE 4.2.3.4.1.5-1


         I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲


         OFFL ̲RETR ̲COUNTER = 0

         STATE = OFF









































                   FIGURE 4.2.3.4.1.5-2



         A̲N̲Y̲ ̲T̲O̲ ̲O̲N̲L̲ ̲V̲O̲L̲?̲

         DISK ̲STATUS.STATE EQ NOT ̲MOUNTED?


         CASE TEST ̲VOLUME ̲IN ̲LIST
                   (DISK ̲STATUS.VOLUME.VOLUME ̲ID):

            ERROR?

            OK?

         END CASE


         ANSWER = TRUE                            ANSWER = FALSE































                   FIGURE 4.2.3.4.1.5-3


         N̲E̲X̲T̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲

         WAIT ̲OPSEM(OFFL ̲IN ̲SEM) (OPR ̲REF)


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

         EQUIVALENCE (OPR ̲REF, CMD ̲OPR:   SUPV ̲OFFL ̲OPR)


         CASE CMD ̲OPR.INDIC OF

            SUPV ̲OFFL ̲CMD ̲RESPONSE? - P̲E̲R̲F̲O̲R̲M̲ ̲C̲O̲M̲M̲A̲N̲D̲

            ONL ̲OFFL ̲RETRIEVAL? -      R̲E̲G̲I̲S̲T̲E̲R̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲

                                      STATE NE OFF?

                                      EMPTY ̲OFFL ̲LIST

         END CASE



























                   FIGURE 4.2.3.4.1.5-4


         P̲E̲R̲F̲O̲R̲M̲ ̲C̲O̲M̲M̲A̲N̲D̲


         CASE CMD ̲OPR.CMD OF

            INT ̲OFFL ̲ON?   STATE = ON

            INT ̲OFFL ̲SUSP?-STATE = SUSP CLEAR ̲MOUNT ̲REQUEST(
                                        ) ( )

            INT ̲OFFL ̲OFF?- STATE = OFF

                              CLEAR ̲MOUNT ̲REQUEST( ) ( )

                              EMPTY ̲OFFL ̲LIST( ) ( )

            INT ̲OFFL ̲MOUNT ̲REFUSED?

                           P̲R̲O̲C̲E̲S̲S̲ ̲M̲O̲U̲N̲T̲ ̲R̲E̲F̲U̲S̲E̲D̲


         END CASE

         RETURN COMPLETION TO SUPV ̲RESPONSE ̲SEM

























                   FIGURE 4.2.3.4.1.5-5


         P̲R̲O̲C̲E̲S̲S̲ ̲M̲O̲U̲N̲T̲ ̲R̲E̲F̲U̲S̲E̲D̲

         FIND ̲MOUNT ̲REQUEST (OFFL ̲LIST ̲REF ̲NO, OP ̲REP)

         OFFL ̲LIST ̲REF ̲NO NE 0?




                           0 ̲RETURN ̲NOT ̲FOUND(OFFL ̲LIST ̲REF
                           ̲NO)





































                   FIGURE 4.2.3.4.1.5-6


         R̲E̲G̲I̲S̲T̲E̲R̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲


         OFFL ̲RETR.COUNTER =            OFFL ̲RETR ̲COUNTER +
                                        1


         OFFL ̲LIST ̲REFS(OFFL ̲RETR ̲COUNTER) = OPR ̲REF








































                   FIGURE 4.2.3.4.1.5-7


         R̲E̲T̲R̲I̲E̲V̲E̲ ̲F̲O̲R̲ ̲T̲H̲I̲S̲ ̲V̲O̲L̲U̲M̲E̲


         S̲E̲T̲U̲P̲ ̲V̲O̲L̲U̲M̲E̲ ERROR?


         LOOP

            FIND ̲REQUEST (DISK ̲STATUS.VOLUME.VOLUME ̲ID)
                         (NO, REF)

            NO EQ 0? - EXIT


            R̲E̲T̲R̲I̲E̲V̲E̲   ERROR?           EXIT


         END LOOP


         T̲A̲K̲E̲ ̲D̲O̲W̲N̲ ̲V̲O̲L̲U̲M̲E̲

         ERROR?


         CONTINUE                   ERROR





















                   FIGURE 4.2.3.4.1.5-8


         S̲E̲T̲ ̲U̲P̲ ̲V̲O̲L̲U̲M̲E̲

         DISK ̲STATUS.STATE EQ NOT ̲MOUNTED?


         CASE GETROOT (OFFLINE ̲FILESYSTEM,
                      DISK ̲STATUS.VOLUME.VOLUME ̲ID)
                      (ROOT ̲FD,CC):

            ERROR? - DISK ̲ERROR (CC)


            OK?

         END CASE


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

         R̲E̲A̲D̲ ̲C̲A̲T̲A̲L̲O̲G̲ ̲H̲E̲A̲D̲E̲R̲        ERROR?



         CONTINUE                          ERROR




















                   FIGURE 4.2.3.4.1.5-9



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

         CASE LOOKUP (ROOT ̲FD, TOC ̲NAME)(TOC ̲FD,CC):

               ERROR? - DISK ̲ERROR (CC)

               OK? - TOC ̲OPEN = TRUE

         END CASE

         CASE LOOKUP (ROOT ̲FD, PRI ̲NAME)(PRI ̲FD,CC):

               ERROR? - DISK ̲ERROR (CC)

               OK? - PRI ̲OPEN = TRUE

         END CASE

         CASE LOOKUP (ROOT ̲FD, DTG ̲NAME)(DTG ̲FD,CC):

               ERROR? - DISK ̲ERROR (CC)

               OK? - DTG ̲OPEN = TRUE

         END CASE

         CASE LOOKUP (ROOT ̲FD, DUMP ̲FILE ̲NAME)(DUMP ̲FD,CC):

               ERROR? - DISK ̲ERROR (CC)

               OK? - DUMP ̲OPEN = TRUE

         END CASE

         CONTINUE                                     ERROR












                  FIGURE 4.2.3.4.1.5-10


         R̲E̲A̲D̲ ̲C̲A̲T̲A̲L̲O̲G̲ ̲H̲E̲A̲D̲E̲R̲


         LOAD HEAD ̲FILADDR TO POINT TO START


         CASE READBYTES (TOC ̲FD, HEAD ̲FILADDR,
                        OFFL ̲HEAD ̲COPY ̲BLE)
                        (HEAD ̲FILADD, CC):

              ERROR? - DISK ̲ERROR (CC)

              OK?

         END CASE


         CONTINUE                       ERROR





























                  FIGURE 4.2.3.4.1.5-11


         R̲E̲T̲R̲I̲E̲V̲E̲

         RETRIEVE ̲LIST ̲NO = NO

         RETRIEVE ̲REF = REF


         EQUIVALENCE(RETRIEVE ̲REF, RETRIEVE ̲OPER: OFFL ̲LIST
         ̲OPR)

         O ̲QEL = RETRIEVE ̲OPER.BUFFER ̲REF


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

         R̲E̲S̲E̲T̲ ̲W̲O̲R̲K̲ ̲D̲A̲T̲A̲


         O ̲ORIG ̲RETRIEVAL.RETR ̲IDENT
         AND RETR ̲KEYS ̲MASK EQ
         DTG ̲KEYS?                      DTG ̲RETRIEVAL( ) (CC)

                                        CC NE 0?


         TOC ̲RETRIEVAL( ) (CC)


         CC NE 0



         CONTINUE                                          
         ERROR















                  FIGURE 4.2.3.4.1.5-12


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


         CASE GET ̲QEL ̲ATTRIBUTES (0 ̲QEL)(0 ̲ATTR, CC):

              ERROR? - ANALYZE ̲ERROR (CC,0)

              OK?


         END CASE

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

              ERROR? - ANALYZE ̲ERROR (CC,0)

              OK?


         END CASE

         0 ̲RETR ̲TYPE = 0 ̲ATTR.INFORMATION(1)


         EQUIVALENCE(0 ̲BUFF,0 ̲ORIG ̲RETRIEVAL:SUPV ̲RETRIEVAL
         ̲RECORD ̲
                                                           
               TYPE ̲3)

         EQUIVALENCE(0 ̲BUFF,0 ̲STATION ̲RETRIEVAL:SUPV ̲RETRIEVAL
         ̲RECORD ̲
                                                           
               TYPE ̲2)

         EQUIVALENCE(0 ̲BUFF,0 ̲CHANNEL ̲RETRIEVAL:SUPV ̲RETRIEVAL
         ̲RECORD ̲
                                                           
               TYPE ̲1)
















                  FIGURE 4.2.3.4.1.5-13


         R̲E̲S̲E̲T̲ ̲W̲O̲R̲K̲ ̲D̲A̲T̲A̲

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


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









































                  FIGURE 4.2.3.4.1.5-14


         T̲A̲K̲E̲ ̲D̲O̲W̲N̲ ̲V̲O̲L̲U̲M̲E̲

         TEST FOR SUCESSFUL SETUP
         AND DISCONNECT CORRESPONDINGLY











































                  FIGURE 4.2.3.4.1.5-15


         O̲F̲F̲L̲ ̲E̲R̲R̲O̲R̲

         ERROR IS INTERRUPT FLAG?

         WAIT OPSEM (OFFL ̲REPORT ̲EMPTY ̲SEM,
                     OFFL ̲REPORT ̲OPR) 

                                              CLEAR OFFL ̲RETR
                                        ̲
                                                INTERRUPT ̲FLAG

         PUT ERROR IN OP

         SIGNAL OPSEM (SUPV ̲W ̲SEM, OP)

         STATE = INTERRUPT


































                  FIGURE 4.2.3.4.1.5-16


         CLEAR ̲MOUNT ̲REQUEST



         FIND ̲MOUNT ̲REQUEST (NO, OPREF)

         NO EQ 0?

         EQUIVALENCE (OPREF, OP: OFFL ̲LIST ̲OPR)

         OP.MOUNT ̲STATUS = FALSE


         OUT ̲STANDING ̲MOUNT ̲REQ = FALSE



         RETURN





























                  FIGURE 4.2.3.4.1.5-17


         EMPTY ̲OFFL ̲LIST

            Note that list of refs. is reorganized when an element
            is deleted.


         LOOP

            1 GT NO ̲OF ̲REFS    EXIT


            0 ̲RETURN ̲NOT ̲FOUND (1)


         END LOOP
































                  FIGURE 4.2.3.4.1.5-18


         FIND ̲REQUEST           (NAME: VOLUME ̲NAME)
                                (NO: INTEGER, OP ̲REF: POINTER)


         LOOP IN LIST, FIND FIRST REQUEST
         WITH THIS NAME AND RETURN NO AS NO
         IN OFFL ̲LIST ̲REFS AND BUFFER ̲REF AS POINTER
         TO OPERATION.
         NO = 0 IF NONE






































                  FIGURE 4.2.3.4.1.5-19


         FIND ̲MOUNT ̲REQUEST (NO: INTEGER,
                            REF: POINTER)

         SEARCH IN OFFL ̲LIST ̲REFS
         AND OFFL ̲LIST FOR MOUNT REQUEST.
         SET NO = ADDRESS(OFFL ̲LIST(X))
         AND REF = OFFL ̲OPR.OPERATION ̲NO
         NO = 0 IF NOT FOUND







































                  FIGURE 4.2.3.4.1.5-20


         MOUNT ̲REQUEST


         RESERVE ̲SEM (VOLUME ̲TABLE ̲SEM)

         LOOP FROM YOUNGEST TO OLDEST

               NAME is actual volume name

            CASE TEST ̲VOLUME ̲IN ̲LIST (NAME):

               ERROR? - FOUND = FALSE

               OK? - FOUND = TRUE

            END CASE

            FOUND EQ TRUE?- EXIT

            FINISHED? - EXIT

         END LOOP


         SIGNAL ̲SEM (VOLUME ̲TABLE ̲SEM)

         FOUND EQ TRUE?


         M̲O̲U̲N̲T̲ ̲U̲N̲K̲N̲O̲W̲N̲                M̲O̲U̲N̲T̲ ̲K̲N̲O̲W̲N̲
         V̲O̲L̲U̲M̲E̲                       V̲O̲L̲U̲M̲E̲


         OUTSTANDING ̲MOUNT ̲REQ = TRUE



         RETURN









                  FIGURE 4.2.3.4.1.5-21


         M̲O̲U̲N̲T̲ ̲K̲N̲O̲W̲N̲ ̲V̲O̲L̲U̲M̲E̲


         SEND MOUNT REQUEST REPORT
         WITH VOLUME OF NAME










































                  FIGURE 4.2.3.4.1.5-22


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



4.2.3.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 the off-line DTG retrieval i.e
         handling of DTG keys.



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

         This DTG retrieval module is being called by offline
         retrieval main module when an offline DTG retrieval
         has been detected.

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

         DTG ̲RETRIEVAL ( )(CC)

         The interfaces downwards are as follows:

         Offline disk error handling

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

         OFFL ̲DISK ̲ERROR

            (ERROR: INTEGER) ( )

         Return not found retrieval answer

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

         O ̲RETURN ̲NOT ̲FOUND

            (OFFL ̲LIST ̲NO: INTEGER) ( )

         Return pointer to secified PRI catalogue entry

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

         POINT ̲O ̲PRI ̲ENTRY

            (PHYS ̲ENTRY ̲NO: POINTER)
            (PRI ̲ENTRY ̲POINTER: POINTER,
             OFFL ̲ERROR: INTEGER)

         Return found CIF to retrieval requestor



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

         O ̲RETURN ̲CIF

            (MAIN ̲ENTRY: POINTER) ( )

         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)

         Request is sent for next volume



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

         O ̲SEND ̲FOR ̲NEXT ̲VOLUME

            (VOLUME ̲NAME: POINTER)
            (OFFL ̲ERROR: INTEGER)