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

⟦550317d2c⟧ Wang Wps File

    Length: 55617 (0xd941)
    Types: Wang Wps File
    Notes: CPS/ICD/009               
    Names: »1510A «

Derivation

└─⟦023bb28d7⟧ Bits:30005809 8" Wang WCS floppy, CR 0114A
    └─ ⟦this⟧ »1510A « 

WangText

#…00……00……00……00…H…02……00……00…H
G…00…G…05…C…09…C…0d…C
C…07…B…0d…B…01…B…05…A…09…A…0d…A…01…A…05…A…06…@…09…@…0a…@…0b…@…00…@
@…06…@…07…?…0c…?…0d…?…01…? >…08…>…0c…>…01…>…06…=…0a……86…1                                             …02…           …02…   …02…        

…02…CPS/ICD/009

…02…830401    …02……02…
CAMPS SOFTWARE INTERFACE CONTROL DOCUMENT
…02…Issue 2.1…02…CAMPS








         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R2  VIEW
         R7  CC               (OK, PROFILE ̲CHECK, BLOCKED ̲QUEUE)

         R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Queue Reference Error
         No capability
         PARAM address error
         Privilege error
         QEL claims exceeded
         Unknown VIEW ̲NAME
         FILE reference error



3.2.4.17 I̲n̲i̲t̲ ̲D̲u̲m̲p̲

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

         Prepares a new segment of the referenced file for a
         dump and returns its segment ID.

         Several calls of the command DUMP ̲CIF ̲SEQUENCE may
         then be issued.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  INIT ̲DUMP        (PARAMS:         RETRIEVE ̲PARAMS)
                              (PARAMS:         RETRIEVE ̲PARAMS,
                              CC:              COMPLETION ̲CODE):
                                               
                                               ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲INIT ̲DUMP: R6, R0, R7):
             ERROR ̲OK

         b2) COMON (CSYSCALL, MMON ̲INIT ̲DUMP, R0, R7, R6): ERROR
             ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          pointer to PARAMS         (kept)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC                (OK)

         R1, R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         PARAM address error
         Privilege error
         File reference error



3.2.4.18 D̲u̲m̲p̲ ̲C̲I̲F̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲

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

         Dumps the CIFs specified in LIST to the specified dump
         file.

         For each dumped CIF, the STORE ̲TIME of the CIF is inserted
         in the corresponding CIF ̲ID ̲LIST ̲ELEMENT. If store
         time is zero, the CIF is still referenced by views
         with update access and can thus still be subject to
         STORE requests.

         The command may be issued a number of times during
         a dump, i.e. between use of INIT ̲DUMP and TERMINATE
         ̲DUMP. Number of CIFs dumped and updated CIF ̲ID ̲LIST
         are returned.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  DUMP ̲CIF ̲SEQUENCE (PARAMS:        DUMP ̲FILE ̲REF,
                               LIST:           CIF ̲ID ̲LIST)
                               (NUMBER:        INTEGER,
                               LIST:           CIF ̲ID ̲LIST,
                               CC:             COMPLETION ̲CODE):
                                               ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲DUMP ̲CIF ̲SEQUENCE: R6,
             R0, R1, 
                                               R3, R7): ERROR
                                               ̲OK

         b2) COMON (CSYSCALL, MMON ̲DUMP ̲CIF ̲SEQUENCE, R0, R1,
             R3, R7, 
                                               R6): ERROR ̲OK



         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          pointer to PARAMS         (kept)
         R1          pointer to LIST           (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3  NUMBER
         R7  CC                (OK, END ̲OF ̲FILE)

         R2, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         PARAM address error
         File Reference error
         Privilege error
         INIT ̲DUMP not used



3.2.4.19 T̲e̲r̲m̲i̲n̲a̲t̲e̲ ̲D̲u̲m̲p̲

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

         Terminates a Dump and closes the Dump file. The function
         is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  TERMINATE ̲DUMP    (PARAMS:        DUMP ̲FILE ̲REF)
                               (CC:            COMPLETION ̲CODE):
                                               ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲TERMINATE ̲DUMP: R6, R0,
             
                                               R7): ERROR ̲OK

         b2) COMON (CSYSCALL, MMON ̲TERMINATE ̲DUMP, R0, R7, R6):
                                                                   ERROR
                                                                   ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          pointer to PARAMS         (kept)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC                (OK)

         R1, R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege error
         File reference error



3.2.4.20 C̲l̲e̲a̲r̲

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

         Request that CIFs which reside in Intermediate Storage
         and have STORE ̲TIME smaller than the specified TIME
         are removed.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  CLEAR             (TIME:          TIME ̲TYPE)
                               (CC:            COMPLETION ̲CODE):
                                               ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲CLEAR: R6, R0, R1, R7):
             ERROR ̲OK

         b2) COMON (CSYSCALL, MMON ̲CLEAR, R0, R1, R7, R6): ERROR
             ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  TIME.LEAST                        (destr)
         R1  TIME.MOST                         (destr)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC                (OK)

         R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege error





3.2.4.21 R̲e̲a̲d̲ ̲V̲i̲e̲w̲

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

         Reads data from one or more fields as specified in
         LIST. The data are placed consecutively in BUFFER.
         In LIST the following must be specified for each field.

         -   FIELD ̲GROUP ̲ID

         -   FIELD ̲BYTE ̲ADDRESS, the byte offset within the
             field specifying where to start the read operation

         -   RECORD ̲LENGTH, the value may be zero. The actual
             number of bytes read may be smaller than specified
             as read will not continue beyond USED ̲LENGTH of
             the field. FIELD ̲BYTE ̲ADDRESS and RECORD ̲LENGTH
             must be even valued.

         After the read operation each FIELD ̲LIST ̲ELEMENT will
         be updated as follows:

         -   RECORD ̲LENGTH will contain number of bytes actually
             read. It may be zero, if field was empty or BUFFER
             could not hold more data.

         -   FIELD ̲BYTE ̲ADDRESS will be increased by the contents
             of RECORD ̲LENGTH and will thus point to the first
             byte after the bytes read. This will particularly
             facilitate a sequence of read operations from a
             field.

         Note:   Efficiency is likely to be increased, if the
                 fieldgroups specified in LIST are consecutive.

                 A Fieldgroup may be specified more than one
                 time.

         A previous call of OPEN ̲VIEW must have been performed.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  READ ̲VIEW         (SIZE:          BUFFERSIZE,
                               LIST:           FIELD ̲LIST,
                               VIEW:           VIEW ̲REFERENCE,
                               BUFFER:         POINTER)
                               (LIST:          FIELD ̲LIST,
                               CC:             COMPLETION ̲CODE):
                                               ERROR ̲OK



         b1) MON (SCM, SYSCALL, MMON ̲READ ̲VIEW: R6, R0, R1,
             R2, R3,                                                       R7):
                                                                           ERROR
                                                                           ̲OK

         b2) COMON (CSYSCALL, MMON ̲READ ̲VIEW, R0, R1, R2, R3,
             R7, R6): 
                                               ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  SIZE                              (destr)
         R1          pointer to LIST           (kept)
         R2  VIEW                              (destr)
         R3  BUFFER                            (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC                (OK)

         R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Param address error
         LIST parameter error
         VIEW reference error
         View not open



3.2.4.22 W̲r̲i̲t̲e̲ ̲V̲i̲e̲w̲

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

         Writes data from BUFFER to one or more fields as specified
         in LIST.

         In LIST the following must be specified for each field

         -   FIELD ̲GROUP ̲ID

         -   FIELD ̲BYTE ̲ADDRESS, a byte offset within the field
             specifying where to start the write operation.
             It is allowed to start anywhere in the field, even
             beyond USED ̲LENGTH of the field.

         -   RECORD ̲LENGTH



         FIELD ̲BYTE ̲ADDRESS and RECORD ̲LENGTH must be even valued.

         After the write operation each FIELD ̲LIST ̲ELEMENT will
         be updated as follows:

         -   FIELD ̲BYTE ̲ADDRESS will be increased by the contents
             of RECORD ̲LENGTH. This will particularly facilitate
             a sequence of write operations to a field.

         Moreover USED ̲LENGTH and ALLOCATED ̲LENGTH of the field
         will be updated if data are written beyond the previous
         values.

         The caller must have write access to the fields.

         NOTE:   The most efficient write operation is obtained
                 if write operations are started on sector boundaries
                 (512 bytes) and if complete sectors are written.

                 A field group may be specified more than one
                 time.

         A previous call of OPEN must have been performed.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  WRITE ̲VIEW        (SIZE:          BUFFERSIZE,
                               LIST:           FIELD ̲LIST,
                               VIEW:           VIEW ̲REFERENCE,
                               BUFFER:         POINTER)
                               (LIST:          FIELD ̲LIST,
                               CC:             COMPLETION ̲CODE):
                                               
                                               ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲WRITE ̲VIEW: R6, R0, R1,
             R2, R3,
                                               R7): ERROR ̲OK

         b2) COMON (CSYSCALL, MMON ̲WRITE ̲VIEW, R0, R1, R2, R3,
             R7, 
                                               R6): ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  SIZE                              (destr)
         R1          pointer to LIST           (kept)
         R2  VIEW                              (destr)
         R3  BUFFER                            (kept)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC                (OK)

         R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         View reference error
         Param address error
         View not open
         Not write access

3.2.4.23 S̲e̲t̲ ̲T̲h̲r̲e̲s̲h̲o̲l̲d̲ ̲V̲a̲l̲u̲e̲s̲

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

         Specifies threshold values for Short Term Storage and
         intermediate Storage.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  SET ̲THRESHOLD ̲VALUES
                               (SHORT ̲TERM:    THRESHOLD,
                               INTERMEDIATE:   THRESHOLD)
                               (CC:            COMPLETION ̲CODE):
                                               
                                               ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲SET ̲THRESHOLD ̲VALUES: R6,
             
                                           R0, R1, R7): ERROR
                     ̲OK

         b2) COMON (CSYSCALL, MMON ̲SET ̲THRESHOLD ̲VALUES, R0,
             R1, 
                                           R7, R6): ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          pointer to SHORT ̲TERM    (destr)
         R1          pointer to INTERMEDIATE  (destr)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC               (OK)

         R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege error



3.2.4.24 G̲e̲t̲ ̲T̲h̲r̲e̲s̲h̲o̲l̲d̲ ̲W̲a̲r̲n̲i̲n̲g̲

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

         Request a response to be returned when an STS (Short
         Terms Storage)or ITS (Intermediate Storage)threshold
         is exceeded.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  GET ̲THRESHOLD ̲WARNING ()
                              (TYPE:          WARNING ̲TYPE,
                              CC:             COMPLETION ̲CODE):
                                              ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲GET ̲THRESHOLD ̲WARNING:
             R6, 
                                              R0, R7): ERROR
                                              ̲OK

         b2) COMON (CSYSCALL, MMON ̲GET ̲THRESHOLD ̲WARNING, R0,
             
                                              R7,R6): ERROR
                                              ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         NA

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  TYPE
         R7  CC               (OK)

         R1, R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege error


3.2.4.25 G̲e̲t̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲O̲c̲c̲u̲p̲a̲n̲c̲y̲

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

         The number of non-allocated Short Term Storage blocks
         and non-allocated Intermediate Storage blocks are obtained.
         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  GET ̲STORAGE ̲OCCUPANCY ()
                              (SHORT ̲TERM ̲BLOCKS:  NO ̲OF ̲BLOCKS,
                              INTERMEDIATE ̲BLOCKS: NO ̲OF ̲BLOCKS,
                              CC:                  COMPLETION
                                                ̲CODE):
                                                   ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲GET ̲STORAGE ̲OCCUPANCY,
             R6, R0, 
                                                R1, R7): ERROR
                                                ̲OK

         b2) COMON (CSYSCALL, MMON ̲GET ̲STORAGE ̲OCCUPANCY: R0,
             R1, R7, 
                                                R6): ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  SHORT ̲TERM ̲BLOCKS
         R1  INTERMEDIATE ̲BLOCKS
         R7  CC               (OK)

         R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege error





3.2.4.26 S̲e̲t̲ ̲S̲e̲c̲u̲r̲i̲t̲y̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

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

         For invocation of security procedure refer to 3.2.4.11
         
         (OPEN ̲VIEW)

         The global parameters:

         SECURITY ̲INTERROGATION ̲PROFILE,
         SECURITY ̲WARNING ̲PROFILE,
         AUTOMATIC ̲DELETION ̲PROFILE,

         are updated as specified.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  SET ̲SECURITY ̲PARAMETERS
                              (PARAMS:          SECURITY ̲PARAMS)
                              (CC:              COMPLETION ̲CODE):
                                                ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲SET ̲SECURITY ̲PARAMETERS:
             R6, R1, 
                                                R7): ERROR ̲OK

         b2) COMON (CSYSCALL, MMON ̲SET ̲SECURITY ̲PARAMETERS,
             R1, R7,                                                       R6):
                                                                           ERROR
                                                                           ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1          pointer to PARAMS          (destr)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC               (OK)

         R0, R2, R3, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         PARAM address error
         Privilege error





3.2.4.27 S̲t̲a̲r̲t̲ ̲S̲y̲s̲t̲e̲m̲

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

         Restores system state.

         The Buffer is used by MMON to receive Checkpoint data
         from MMS.

         The function is privileged.

         Restores the state of CSF and MMS according to the
         start up type specified by MODE.

         The MMS ̲FILE is a reference to the disk area used by
         MMS for STS and ITS.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  START ̲SYSTEM     (BUFFER:          VIEW ̲BUFFER,
                              MODE:             START ̲UP ̲TYPE,
                              MMS ̲FILE:         FDCB ̲INDEX,
                              SIZE:             INTEGER)
                              (CC:              COMPLETION ̲CODE):
                                                ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲START ̲SYSTEM: R6, R0, R1,
             R2,
                                                R3, R7): ERROR
                                                ̲OK

         b2) COMON (CSYSCALL, MMON ̲START ̲SYSTEM, R0, R1,R2,
             R3,
                                                 R7, R6): ERROR
                                                ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  SIZE                               (destr)
         R1  MODE                               (destr)
         R2  MMS ̲FILE                           (destr)
         R3            pointer to BUFFER        (destr)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC               (OK)

         R4, R5, R6 destroyed



         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege Error
         Param Address Error
         Buffer Size Error



3.2.4.28 G̲e̲t̲ ̲M̲M̲S̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The procedure delivers the MMS Statistics Information
         and initializes the corresponding statistics collection
         variables.

         The function is privileged.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  GET ̲MMS ̲STATISTICS
                              (SIZE:            INTEGER
                                                Buffer Size)
                              (SIZE:            INTEGER,
                                                statistics 
                                                output size
                              STATISTICS ̲OUTPUT:
                                                MMS ̲STATISTICS,
                              CC:               COMPLETION ̲CODE):
                                                ERROR ̲OK

         b1) MON (SCM, SYSCALL, MMON ̲GET ̲MMS ̲STATISTICS: R6,
             R0, R3, 
                                                R7): ERROR ̲OK

         b2) COMON (CSYSCALL, MMON ̲GET ̲MMS ̲STATISTICS, R0, R3,
             R7, 
                                                R6): ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  SIZE
         R3          pointer to STATISTICS ̲OUTPUT  (kept)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  SIZE
         R7  CC               (OK)

         R1, R2, R4, R5, R6 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Privilege error
         Param address Error





3.2.4.29 M̲e̲s̲s̲a̲g̲e̲ ̲t̲o̲ ̲M̲M̲S̲

         Refer to 3.2.7



3.2.4.30 A̲n̲s̲w̲e̲r̲ ̲f̲r̲o̲m̲ ̲M̲M̲S̲

         Refer to 3.2.7



3.2.4.31 O̲p̲e̲n̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Message sent to the Parent Synchronization Element
         (owned by SSC) when a VDU process opens a VIEW, and
         either security interrogation or security warning must
         be performed. Refer 3.2.4.11, 2.2.2.6.3, and figure
         3.2.4-1.

         The message is an OPEN ̲NOTIFICATION. 



3.2.4.32 O̲p̲e̲n̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲A̲n̲s̲w̲e̲r̲

         Answer from Parent Process sent to MMON Answer Synchronization
         element, indicating in a CC if open is allowed. Refer
         3.2.4.11.

         The answer is an OPEN ̲NOTIFICATION ̲ANSWER.









3.2.4.33 M̲a̲k̲e̲ ̲C̲I̲F̲ ̲P̲e̲r̲m̲a̲n̲e̲n̲t̲

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

         A temporary CIF, specified by View, is made permanent.
         

         A new CIF reference number is generated. Version is
         set to one.

         For each field e.g. View Attributes FIELD ̲INFO.PERMANENT
         must be specified.  The complete View Attributes are
         delivered.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

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

         a)  MAKE ̲CIF ̲PERMANENT (VIEW: VIEW ̲REFERENCE,
                                ATTRIBUTES: VIEW ̲ATTRIBUTES)
                                (ATTRIBUTES: VIEW ̲ATTRIBUTES,
                                    CC     : COMPLETION ̲CODE):
                                                ERROR ̲OK

         b1) MON (SCM,SYSCALL,MMON ̲MAKE ̲CIF ̲PERMANENT: R6,
                                       R1, R2, R7) ERROR ̲OK

         b2) COMON (SYSCALL,MMON ̲MAKE ̲CIF ̲PERMANENT,
                                       R1, R2, R7, R6): ERROR
                               ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1  Pointer to ATTRIBUTES                  (kept)
         R2  VIEW

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7 CC                            (OK)
         R0, R3, R4, R5, R6               (Destroyed)

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Param Address error
         View reference error




3.2.4.34 C̲O̲P̲Y̲ ̲F̲I̲E̲L̲D̲S̲

         F̲U̲N̲C̲T̲I̲O̲N̲A̲L̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲

         The fields specified in DEST ̲ATTR are copied from specified
         source view to specified DEST ̲VIEW FIELD ̲STATUS of
         the fields to be copied must be "included from predecessor".

         The specified DEST ̲VIEW may not have been used for
         any output. i.e. USED LENGTH of all the referenced
         fields must be 0.

         The function is only allowed on views having "equal"
         profile.

         After completion, the updated ATTRIBUTES are returned.



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

         a)  CREATE ̲FIELDS     (DEST ̲ATTR:      VIEW ̲ATTRIBUTES,
                               DEST ̲VIEW,
                               SOURCE ̲VIEW:     VIEW ̲REFERENCE)
                               (DEST ̲ATTR:      VIEW ̲ATTRIBUTES,
                               CC:              COMPLETION ̲CODE)

         b1) MON (SCM, SYSCALL, MMON ̲COPY ̲FIELDS:  R6,
                       R1, R2, R3, R7): ERROR ̲OK;

         b2) COMMON (SYSCALL, MMON ̲COPY ̲FIELDS,
                       R0, R1, R2, R3, R4, R5, R7, R6):ERROR
         ̲OK

         R̲E̲G̲I̲S̲T̲E̲R̲ ̲C̲O̲N̲D̲I̲T̲I̲O̲N̲S̲

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

             R1      pointer to DEST ̲ATTR       (KEPT)
             R2  DEST ̲VIEW                      (DESTR)
             R3  SOUCES ̲VIEW                    (DESTR)

         R̲E̲T̲U̲R̲N̲ ̲R̲E̲G̲I̲S̲T̲E̲R̲S̲

             R7      CC

             R0, R4, R5, R6    destroyed









                        6 SKEMAER
                        …0c…6 sider…0c…




3.2.5    C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲M̲o̲n̲i̲t̲o̲r̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         This section describes in detail each single package
         interface to the Coroutine Monitor.

         For general coroutine concepts c.f. CPS/SDS/024 section
         2.2.1.5.

         For Coroutine Monitor Interface Overview.

         c.f. Fig. 3.2.5-2 (System Call Functions)
         c.f. Fig. 3.2.5-3 (Semaphore Functions)
         c.f. Fig. 3.2.5-4 (Initialization Functions)

         For proper sequence of Coroutine Monitor functions,
         refer to figure 3.2.5-1.



3.2.5.1  I̲n̲i̲t̲ ̲-̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         The service system specified by parameter FUNCTION
         is called with the specified input parameters.  The
         operation specified is initialized and may now be waited
         for or associated to a semaphore.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  INIT ̲  FUNCTION:SCM ̲FUNCTION

                 (INR0,
                  INR1,
                  INR2,
                  INR3,
                  INR4:  SERVICE ̲SYSTEM ̲PARAMETERS,
                 OPERATION: COROUTINE ̲OPERATION)
                 (CC:       COMPLETION ̲CODE): ERROR ̲OK

         b)  COMON(CINIT ̲SYSCALL,FUNCTION,R0, R1, R2,
                    R3, R4, R5, R7, R6):  ERROR ̲OK















































                     FIGURE  3.2.5-1
               USE OF SYSTEM CALL FUNCTIONS


         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 - R4     INR0-INR4

         R5      Pointer to OPERATION (kept)
         R6 LINK (destroyed)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7 CC       Completion Code as defined by service system.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal COMON Function



3.2.5.2  S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         The function specified by function code is requested
         by the service system identified via function code.

         When the System Call has been completed, output parameters
         are returned to caller.  System Call has a waiting
         point.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)   FUNCTION: SCM ̲FUNCTION
                 (INR0,
                  INR1,
                  INR2,
                  INR3,
                  INR4: SERVICE ̲SYSTEM ̲PARAMETERS)
                 (OUTR0,
                  OUTR1,
                  OUTR2,
                  OUTR3,
                  OUTR4: SERVICE ̲SYSTEM ̲PARAMETERS,
                  CC: COMPLETION ̲CODE): ERROR ̲OK

         b)  COMON(CSYSCALL, FUNCTION, R0, R1, R2, R3
                   R4, R5, R7, R6): ERROR ̲OK


         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4       INR0-INR4

         R6 LINK     (dest.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4       OUTR0-OUTR4

         R7 CC                        As defined by Service
                                      System

         R5      kept

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal COMON Function



3.2.5.3  W̲a̲i̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         Waits for completion of a System Call described by
         the operation specified as input.

         The System Call Parameters are delivered as defined
         by Service System.

         Wait System call has a waiting point.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  WAIT ̲SYSTEM ̲CALL
                 (OPERATION:  COROUTINE ̲OPERATION)
                 (OUTR0,
                  OUTR1,
                  OUTR2,
                  OUTR3,
                  OUTR4:  SERVICE ̲SYSTEM ̲PARAMETERS,
                  CC:  COMPLETION ̲CODE):  ERROR ̲OK



         b)  CWAIT ̲SYSCALL (R0, R1, R2, R3, R4, R5, R7, R6):
                                      ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5          Pointer to OPERATION      (kept)

         R6 LINK                               (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4       OUTR0-OUTR4

         R7 CC                        As defined by Service
                                      System

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



3.2.5.4  C̲a̲n̲c̲e̲l̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         A previously initiated System Call is cancelled.  The
         System Call is specified by the same operation as used
         by the INIT ̲SYSCALL.  After cancel "wait system call"
         should always be called with the same operation as
         input parameter.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CANCEL ̲SYSTEM ̲CALL
                 (OPERATION:  COROUTINE ̲OPERATION)
                 ( CC :       COMPLETION ̲CODE)  : ERROR ̲OK

         b)  CANCEL ̲SYSCALL(R5, R7, R6):  ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5      Pointer to OPERATION          (kept)
         R6 LINK                               (destr.)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 7  CC                      (OK)

         R0-R4,  kept                 

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



3.2.5.5  W̲a̲i̲t̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

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

         If the semaphore is closed or neutral calling coroutine
         will be chained into the coroutine list in accordance
         to its priority.

         If the semaphore is open, a return to calling coroutine
         will be made immediately.

         Wait semaphore has a waiting point.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  WAIT ̲SEM (SEMAPHORE:  COROUTINE ̲SEMAPHORE):  OK

         b)  WAIT ̲SEM (R4, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to SEMAPHORE      (kept)
         R6 LINK                               (destroyed)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R0-R3, R5         kept     
         R7                destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE.


3.2.5.6  S̲i̲g̲n̲a̲l̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

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

         A signal is sent to a semaphore.  If the semaphore
         is closed, the first coroutine in coroutine list is
         readied.

         If the semaphore is open or neutral, the signal is
         accumulated in the semaphore counter.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  SIGNAL ̲SEM(SEMAPHORE:  COROUTINE ̲SEMAPHORE):  OK

         b)  SIGNAL ̲SEM(R4, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to SEMAPHORE      (kept)
         R6 LINK                               (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R0-R3, R5           kept     
         R7                  destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



3.2.5.7  W̲a̲i̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

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

         If the semaphore is closed or neutral, the calling
         coroutine will be chained into the coroutine list of
         the semaphore in accordance to its priority.  If the
         semaphore is open, the first operation in the operation
         list of the semaphore is delivered to calling coroutine.

         Wait Operation Semaphore has a waiting point.



         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  WAIT ̲OPSEM
                  (SEMAPHORE:  COROUTINE ̲SEMAPHORE)
                  (OPERATION:  COROUTINE ̲OPERATION):  OK

         b)  WAIT ̲OPSEM  (R4, R5, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to SEMAPHORE       (kept)
         R6 LINK                                (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5          Pointer to OPERATION

         R0-R3               kept     
         R7                  destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE.



3.2.5.8  S̲i̲g̲n̲a̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

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

         An operation delivered by caller is sent to specified
         operation semaphore.  If the semaphore is open or neutral,
         the operation is chained into the operation list of
         the semaphore in accordance with its priority.

         If the semaphore is closed, the first coroutine in
         the coroutine list of the semaphore is readied.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  SIGNAL ̲OPSEM
                 (SEMAPHORE:  COROUTINE ̲SEMAPHORE,
                  OPERATION:  COROUTINE ̲OPERATION):  OK



         b)  SIGNAL ̲OPSEM (R4, R5, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to SEMAPHORE      (kept)
         R5          Pointer to OPERATION      (kept)
         R6 LINK                               (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R0-R3               kept     
         R7                  destroyed
         
         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE.



3.2.5.9  A̲s̲s̲o̲c̲i̲a̲t̲e̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

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

         An operation referencing an initiated System Call is
         associated with a semaphore.

         When the System Call has been completed, the operation
         will be signalled to the semaphore.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  ASSOCIATE
                 (SEMAPHORE:  COROUTINE ̲SEMAPHORE,
                  OPERATION:  COROUTINE ̲OPERATION):  OK

         b)  ASSOCIATE (R4, R5, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to SEMAPHORE      (kept)
         R5          Pointer to OPERATION      (kept)
         R6 LINK                               (destr.)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R0-R3                kept     
         R7                   destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE.



3.2.5.10 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲M̲o̲n̲i̲t̲o̲r̲

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

         Initializes the internal data structure of Coroutine
         Monitor.  The Ready list is set in empty state.  Running
         Coroutine is set to specified coroutine pointer, and
         Current-Subprocess Id to the specified subprocess id.
          The data area pointed to by coroutine pointer is initialized
         as a coroutine record with specified PRIORITY, SUBPROCESS,
         and COROUTINE-ID.

         This procedure shall be called before any other Coroutine
         Monitor procedure.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  INIT ̲COMON
               (COROUTINE:  COROUTINE ̲RECORD,
                PRIORITY:  PRIORITY ̲TYPE,
                SUBPROCESS:  SUBPROCESS ̲ID,
                COROUTINE ̲ID:  COROUTINE ̲ID ̲TYPE):  OK

         b)  INIT ̲COMON (R0, R1, R2, R3, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          Pointer to COROUTINE (kept)
         R1 COROUTINE ̲ID                  (kept)
         R2 SUBPROCESS                    (kept)
         R3 PRIORITY                      (kept)
         R6 LINK                          (destr.)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R4, R5           kept     
         R7               destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



3.2.5.11 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

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

         The data area pointed to by coroutine Pointer is initialized
         as a coroutine record, using the parameters supplied.

         The new coroutine will be made ready and will thus
         eventually start running at the program location specified
         as start address.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  INIT ̲COROUTINE
                 (NEW ̲COROUTINE:  COROUTINE ̲RECORD,
                  PRIORITY:  PRIORITY ̲TYPE,
                  SUBPROCESS:  SUBPROCESS ̲ID,
                  COROUTINE ̲ID:  COROUTINE ̲ID ̲TYPE,
                  START ̲ADDRESS:  INTEGER):  OK

         b)  INIT ̲COROUTINE (R0, R1, R2, R3, R4, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          Pointer to NEW ̲COROUTINE (kept)
         R1 COROUTINE ̲ID                      (kept)
         R2 SUBPROCESS                        (kept)
         R3 PRIORITY                          (kept)
         R4 START ̲ADDRESS                     (kept)
         R6 LINK                              (destr.)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R5               kept     
         R7               destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE



3.2.5.12 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

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

         The data area pointed to by Semaphore Pointer is initialized
         as a semaphore record.  The semaphore list is set empty,
         and the semaphore count is set as prescribed.  If the
         semaphore is to be used as an operation semaphore,
         the count should be initialized to zero.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  INIT ̲SEMAPHORE
                 (SEMAPHORE ̲COUNT:  INTEGER,
                  SEMAPHORE:  COROUTINE ̲SEMAPHORE):  OK

         b)  INIT ̲SEMAPHORE(R0, R4, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 SEMAPHORE ̲COUNT               (destr.)
         R4          Pointer to SEMAPHORE (kept)
         R6 LINK                          (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R1-R3, R5,         kept     
         R7                 destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE.


3.2.5.13 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

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

         A new operation is initialized at the location specified
         by caller.  The header of the operation is cleared
         and priority is set to specified value.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  INIT ̲OP
                 (PRIORITY:  PRIORITY ̲TYPE,
                  OPERATION:  COROUTINE ̲OPERATION):  OK

         b)  INIT ̲OPERATION (R3, R5, R6):  OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3 PRIORITY            (kept)
         R5          Pointer to OPERATION (kept)
         R6 LINK                (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R0-R2, R4       kept
         R7              destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         NONE.

































                     FIG 3.2.5-2-3-4
                       …0c…(3 sider)…0c…


3.2.6    S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲ ̲M̲o̲n̲i̲t̲o̲r̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         System Call Monitor (SCM) has eight package interfaces.

         The six of these interfaces are general SCM interfaces
         while the last two are interfaces to SCMs own two Service
         Systems.

         The six general SCM interfaces are:

         -   INIT ̲SYSCALL
         -   SYSCALL
         -   WAIT ̲SYSCALL
         -   CANCEL ̲SYSCALL
         -   WAIT ̲NEXT ̲OPERATION
         -   DEFINE ̲SERVICE ̲SYSTEM

         These six interfaces are implemented as entries in
         the SCM Monitor procedure.

         The two Service System Interfaces are:

         -   AWAIT ̲SYNCEL
         -   IOS ̲INTERFACE

         These two Service Systems may be called via the general
         SCM interface.

         An overview of the eigth interfaces is shown in fig.
         3.2.6-1 to 3.

         Package interfaces to Service Systems in other packages
         are described in general in section 3.2.6.9.



3.2.6.1  I̲n̲i̲t̲i̲a̲t̲e̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         Initiates the System Call specified by FUNCTION.

         The FUNCTION identifies the Service System to be accessed
         and the function to be performed.

         Further references to an initiated System Call must
         be made by using the SO ̲REF delivered as output by
         this function.











Fig. 3.2.5-1…86…1         …02…   …02…   …02…   …02…                …02…                       
   







                       Fig. 3.2.5-2













                       Fig. 3.2.5-3













                       Fig. 3.2.5-4


         The AP ̲REF is delivered to caller in WAIT ̲NEXT ̲OPERATION
         c.f. 3.2.6.6.

         Initiate System Call has no waiting point.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  INIT  FUNCTION:SCM ̲FUNCTION

                            (INR0,
                             INR1,
                             INR2,
                             INR3,
                             INR4,
                             AP ̲REF:  INTEGER)
                            (CC:      COMPLETION ̲CODE,
                             SO ̲REF:  SO ̲REFERENCE)

         b)  MON(SCM, INIT ̲SYSCALL, FUNCTION:  R6, R0, R1, R2,
                 R3, R4, R5, R7):  ERROR ̲OK.

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4                        Input parameters to service
                                      system (kept)

         R5 AP ̲REF                    (kept)
         R6 FUNCTION

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6 SO ̲REF
         R7 CC                        As defined by Service
                                      System

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal SCM Function
         No Resources.


3.2.6.2  S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         Performs the System Call specified by FUNCTION.

         The FUNCTION identifies the Service System to be accessed
         and the function to be performed.

         The System Call function is a waiting point for calling
         process.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)   FUNCTION:  SCM ̲FUNCTION
                     (INR0,
                      INR1,
                      INR2,
                      INR3,
                      INR4:  INTEGER))
                     (OUTR0,
                      OUTR1,
                      OUTR2,
                      OUTR3,
                      OUTR4:  INTEGER,
                      CC:  COMPLETION ̲CODE):  ERROR ̲OK.

         b)  MON(SCM, SYSCALL, FUNCTION:  R6, R0, R1, R2, R3,
                 R4, R5, R7):  ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4                        Input Parameters to Service
                                      System
         R6 FUNCTION                  (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4                        Output Parameters from
                                      Service System.

         R7 CC

         R5      kept



         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal SCM function



3.2.6.3  W̲a̲i̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         The completion of a previously initiated System Call
         is awaited.

         The System Call is identified by SO ̲REF.  Wait System
         Call is a waiting point for calling process.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  WAIT ̲SYSTEM CALL (SO ̲REF:  SO ̲REFERENCE)
                              (OUTR0,
                               OUTR1,
                               OUTR2,
                               OUTR3,
                               OUTR4:  INTEGER,
                               CC:  COMPLETION ̲CODE):  ERROR
                     ̲OK

         b)  MON (SCM, WAIT ̲SYSCALL, R0, R1, R2, R3, R4, R5,
             R7):
                                      ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6 SO ̲REF                    (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4                        Output parameters from
                                      Service System

         R7 CC

         R5                           kept

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal SO ̲Reference


3.2.6.4  C̲a̲n̲c̲e̲l̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

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

         A previously initiated System Call is cancelled.

         The System Call is referenced by SO ̲REF.  After Cancel
         System Call, Wait System Call must always be called.

         The function is a waiting point for calling process.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  CANCEL ̲SYSCALL,(SO ̲REF:  SO ̲REFERENCE)
                            (CC:      COMPLETION ̲CODE):ERROR
                     ̲OK

         b)  MON (SCM, CANCEL ̲SYSCALL,R6, R7):  ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6 SO ̲REF                    (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R7  CC

         R0-R5       kept

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal SO Reference



3.2.6.5  W̲a̲i̲t̲ ̲N̲e̲x̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

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

         Awaits completion of next System Call initiated by
         calling process.  Calling process waits until any of
         the pending system calls have been completed.  The
         WAIT ̲SYSTEM ̲CALL function must thus be called in order
         to get output parameter from Service System.  The function
         is a waiting point for calling process.



         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  WAIT ̲NEXT ̲OPERATION (       )
                       (AP ̲REF:  POINTER,
                        SO ̲REF:  SO ̲REFERENCE)
                        CC:      COMPLETION ̲CODE): ERROR ̲OK

         b)  MON(SCM, WAIT ̲NEXT ̲OPERATION, R5, R6, R7): ERROR
             ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         N/A

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5 AP ̲REF
         R6 SO ̲REF

         R0-R4       kept

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



3.2.6.6  D̲e̲f̲i̲n̲e̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲S̲y̲s̲t̲e̲m̲

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

         A new Service System with attributes as specified by
         input parameters is defined.

         The function must only be called for service systems
         of the PCF kind.

         The communications kind must be by ̲sema or by ̲info.
          If it is by ̲sema, then sync ̲info ̲size must be zero,
         otherwise it must be non-zero



         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  DEFINE ̲SERVICE ̲SYSTEM

                     (SERVICE ̲SYSTEM ̲ID:  SSCB ̲INDEX,
                      SERVICE ̲SYSTEM ̲KIND:  SS ̲KIND,
                      COMMUNICATION ̲KIND:  SS ̲COMMUNICATION,
                      SYNC ̲ELEMENT:  OBJECT ̲INDEX,
                      SYNC ̲INFO ̲SIZE:  0..PCF ̲SIZE):  ERROR
                     ̲OK

         b)  MON(SCM, DEFINE ̲SERVICE ̲SYSTEM, R0, R1, R2, R3,
             R4,
                     R7):  ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R0  SERVICE ̲SYSTEM ̲ID        (kept)
         R1  SERVICE ̲SYSTEM ̲KIND      (kept)
         R2  COMMUNICATION ̲KIND       (kept)
         R3  SYNC ̲ELEMENT             (kept)
         R4  SYNC ̲INFO ̲SIZE           (kept)
         
         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  CC

         R5, R6  Kept

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal SS ̲ID
         Illegal params





3.2.6.7  P̲C̲F̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         PCF Interface is a Service System under System Call
         Monitor and must thus follow the general SCM interface
         c.f. 3.2.6.1-6.

         The function waits for info sent to the specified Synchronization
         Element.

         The received information is delivered in an array specified
         by the caller.  This parameter is not needed if the
         synchronization element is a PCF ̲Semaphore.

         A return parameter count tells how many words information
         was received.

         One process may have more than one incarnation of PCF
         Interface Service System.  One for each SYNCEL that
         the process shall wait at.

         The SYNCEL parameter in the AWAIT ̲SYNCEL function has
         the following format:

         SERVICE ̲SYSTEM ̲ID SHIFTLL SERVICE ̲SYSTEM ̲POSITION,

         where SERVICE ̲SYSTEM ̲ID is the one which was used in
         the DEFINE ̲SERVICE ̲SYSTEM call for the Service System
         corresponding to the Synchronisation Element.

         I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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

         a)  AWAIT ̲SYNCEL(SYNCEL:  SCM ̲FUNCTION)

                         (INFO: ARRAY (1.. PCF ̲SIZE) of INTEGER,
                          COUNT:  INTEGER,
                          CC:  COMPLETION ̲CODE):  OK

         b1) MON(SCM, SYSCALL, SYNCEL:  R6, R0, R4, R7): ERROR
             ̲OK

         b2) COMON(CSYSCALL, SYNCEL, R0, R4, R6):  ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to INFO (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 Count
         R7 CC                        (OK)

         R1-R3, R5, R6    Destroyed

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Param address error,
         Illegal PCF function



3.2.6.8  I̲O̲S̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The IOS Interface is a service system under System
         Call Monitor and must thus follow the general System
         Call Monitor Interface c.f. 3.2.6.1-6.

         The interface for the IOS functions is described in
         section 3.5.


3.2.6.9  I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲S̲y̲s̲t̲e̲m̲

         a)  G̲e̲n̲e̲r̲a̲l̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲

             There are two types of Service Systems. One type
             uses the I/O system. The other type uses synchronization
             elements to receive external events. System Call
             Monitor includes one Service System of each type:

             -   I/O Interface

             -   PCF Interface

             A Service System of type 2 shall have exactly one
             synchronization element associated with it, and
             all "awaits" on the synchronization element must
             be performed by System Call Monitor.

             Each Service System is described in System Call
             Monitor by a Service System Control Block, shown
             in 4.2.6.5.2. Each initiated operation is described
             by a System Operation Control Block, shown in 4.1.6.6.1.

             An operation is pending if it is not yet terminated
             by an external event. The SOCBs for pending operations
             are chained to the SSCB.

             An operation is done when it has been terminated
             by an external event. It is the responsibility
             of the Service system to determine when an operation
             changes status from pending to done, and to change
             the System Call Status in SOCB. This change must
             take place in the "answer received" procedure,
             the "Cancel" procedure or the "init function" procedure
             of the Service System.

             Some Service Systems work on data shared by several
             processes. In that case exclusive access to shared
             data can be assured by locking a hardware semaphore
             before manipulating the data. System Call Monitor
             can disable interrupts and lock a semaphore before
             entry to a Service System and unlock semaphore
             and enable interrupts after return. The SSCB contains
             information describing if this action shall be
             performed.



             The following sections describe the rules which
             must be followed by the four Service System procedures,
             refer figure 3.2.6-4.

         b)  I̲n̲i̲t̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲

             The Function and Service System parameters are
             transferred unchanged from the calling application.
             The operation to be initiated will be described
             by the SOCB, the address of which is delivered
             as a parameter.

             The Service System shall initiate the operation
             and save in SOCB the information necessary to recognize
             the answer later on in "answer received" function.

             If the Service System is of the first type using
             the I/O system, it shall initiate the function
             by calling an init-  function of the I/O system.
             The "user operation reference" parameter to the
             init call shall be the SOCB Pointer.

             The operation may already be terminated in the
             Init Function. This may for example happen in case
             of a parameter error. In that case the Service
             System must change the SOCB System Call Status.
             The status may be changed to:

             1)  Done

                 Then the Service System will eventually be
                 called in the Complete Function entry point
                 with the SOCB as parameter.

             2)  SC ̲Error

                 Then the return parameters and exit condition
                 will be transferred to the application and
                 the SOCB released.

             Upon return from Init Function, System Call Monitor
             will chain the SOCB to a list depending upon System
             Call Status:



             3)  Pending

                 Chain to pending operations list in SSCB

             4)  Done

                 Chain to the ready operations list

             5)  Error

                 Release SOCB

         c)  A̲n̲s̲w̲e̲r̲ ̲R̲e̲c̲e̲i̲v̲e̲d̲

             For a type 1 Service System this procedure is entered
             when I/O system has returned the SOCB pointer as
             "user operation reference" in a General Await function
             call. The SOCB is delivered as "first SOCB" parameter
             in the "answer received" call. The "IOS Operation
             Ref" parameter is the one delivered by IO System.
             The Service System may now determine if the function
             is terminated or if yet another I/O Operation shall
             be initiated. In the latter case it shall just
             return to System Call Monitor without changing
             the System Call Status of SOCB. If the operation
             is terminated, the following shall be done by Service
             System:

             1)  Change SOCB System Call Status to DONE

             2)  Call the I/O function WAITOPERATION and save
                 the return parameters in SOCB. These shall
                 later on be used in Complete Function.

             For a type 2 Service System the Answer Received
             procedure is entered whenever info is received
             in the associated synchronization element.

             Answer Received is called with two parameters:

             3)  A pointer to the received Info.

             4)  A pointer to first and last SOCB in the list
                 of pending SOCBs.

             The Service System shall now inspect the list of
             SOCBs and determine if one or more of the operations
             are terminated. It shall then change System Call
             Status of the terminated SOCBs to DONE and return
             two parameters to System Call Monitor:



             5)  Number of terminated operations (may be zero)

             6)  A pointer to the first terminated operation
                 if any

             For each of the terminated operations, Complete
             Function will eventually be called.

         d)  C̲o̲m̲p̲l̲e̲t̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲

             This Service System procedure is called when the
             application has called the System Call Monitor
             function WAIT and the referenced SOCB is DONE.
             The Service System shall now complete the processing
             of the operation and return parameters and exit
             condition.

         e)  C̲a̲n̲c̲e̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲

             This procedure will only be called if the operation
             is still pending. The Service System may change
             System Call Status to DONE or may leave it unchanged
             awaiting an answer eventually.

         Register conventions for the form entries are shown
         on figure 4.1.7.2.6-4.

         In addition the following rules apply:

         -̲ ̲I̲n̲i̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲

             The five input registers R0-R4 from the calling
             application can be obtained by Service System in
             the current context frame.

         -̲ ̲C̲o̲m̲p̲l̲e̲t̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲

             Output registers R0-R4, exit number and the completion
             code shall be delivered in SOCB.SS ̲DATA as follows:

             SS ̲DATA (0..4)            R0-R4
             SS ̲DATA (5)               Exit Number
             SS ̲DATA (6)               Completion Code



         Finally the four entry procedures must comply with
         the standard CSF, TMP and IOC procedure conventions,
         e.g.:

         -   On return from procedure call, R7 is the current
             stack pointer.

         -   Registers not shown in the register conventions
             are kept, except for R0 and R7.














                       Fig. 3.2.6-1








                       Fig. 3.2.6-2









                       Fig. 3.2.6-3






                       Fig. 3.2.6-4


3.2.7    I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲t̲o̲ ̲M̲M̲S̲

         Message Monitor in CSF serves as an interface between
         application processes and MMS.



3.2.7.1  G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲

         All application process access to MMS must be performed
         via Message Monitor within CSF.  Each access consists
         of a command sent to the FMS Process synchronization
         element and a reply sent by MMS to the Message Monitor
         answer synchronization element of the application process.
          Refer to figure 3.2.7.1-1.

         A command to MMS consists of up to 3 parts, as shown
         on figure 3.2.7.1-2.

         a)  C̲o̲m̲m̲a̲n̲d̲ ̲B̲u̲f̲f̲e̲r̲

             This is always present.  It is sent in the process
             communication information element to the FMS Receive
             synchronization element.  The header contains various
             control information, which is independent of the
             command.  The body contains command dependent information.

         b)  C̲o̲m̲m̲a̲n̲d̲ ̲T̲r̲a̲i̲l̲e̲r̲

             Is used for some commands where the parameter information
             is too voluminous to be held in the process communication
             information element.  The trailer is a consecutive
             area in the data space of the sending application
             process.

         c)  A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲D̲a̲t̲a̲ ̲B̲u̲f̲f̲e̲r̲

             Is only present for read/write commands.  It is
             a consecutive area in the application data space
             of the sending process.

         Execution of a command usually results in updating
         the Trailer and Application Data Buffer, if present.

         Trailer and Data Buffer are transferred by DMA, refer
         fig. 3.2.7.1-3.













                      Fig. 3.2.7.1-1



         Having terminated command execution, MMS returns a
         reply which contains return parameters, including a
         completion code.  The completion code tells if the
         command was executed as requested, or the reason why
         it was not.






                      Fig. 3.2.7.1-2







                      Fig. 3.2.7.1-3




3.2.7.2  C̲o̲m̲m̲a̲n̲d̲ ̲B̲u̲f̲f̲e̲r̲

         TYPE COMMAND ̲BUFFER =

                 RECORD

                     HEADER:           COMMAND ̲HEADER;
                     BODY:             COMMAND ̲BODY

                 END;

         Type COMMAND ̲HEADER =

                 RECORD

                     COMMAND:          MMS ̲COMMAND;
                     SEL ̲DESCRIPTION:  OBJECT ̲DESCRIPTOR;
                                       References the MMON Answer
                                       Synchronization Element,
                                       c.f. fig. 3.2.7.1-1

                     SOCB:             SOCB ̲INDEX
                                       The SOCB for the System
                                       Call.

                     XFER ̲INFO:        XFER ̲INFO ̲TYPE 
                                       refer TBD
                     USER:             USER ̲ID of calling process.
                     PROFILE:          SECURITY ̲PROFILE 
                                       of calling process.

                 END;

         Refer to figure 3.2.7.2-1

         TYPE COMMAND ̲BODY = ARRAY (1..6) OF INTEGER.

         The contents of COMMAND ̲BODY is command dependent.
          It is described for all commands in section 3.2.7.4.










                      Fig. 3.2.7.2-1



3.2.7.3  R̲e̲p̲l̲y̲ ̲B̲u̲f̲f̲e̲r̲

         The Reply returned from MMS upon completion of a command,
         refer fig. 3.2.7.1-1.

         TYPE REPLY ̲BUFFER =

                 RECORD

                     HEADER:    RECORD
                                       SOCB:  SOCB ̲INDEX;
                                              As sent in
                                               COMMAND ̲BUFFER
                                       CC:    COMPLETION ̲CODE

                                END;

                     BODY:             ARRAY (1..6) OF INTEGER;

                 END;

         The Reply Body is command dependent.  It is described
         for all commands in section 3.2.7.4.

         Refer to figure 3.2.7.3-1.












                      Fig. 3.2.7.3-1



3.2.7.4  C̲o̲m̲m̲a̲n̲d̲ ̲B̲o̲d̲y̲ ̲a̲n̲d̲ ̲R̲e̲p̲l̲y̲ ̲B̲o̲d̲y̲

         This section describes the formats of COMMAND Body
         and Reply Body for all commands to MMS.  They are summarized
         in figure 3.2.7.4-1.

         F̲i̲l̲l̲e̲r̲s̲

         Used in the type declaration to denote non-used words
         of Command Body and Reply Body.

         DUM1 = INTEGER

         DUM2 = ARRAY (1..2) OF INTEGER

         DUM3 = ARRAY (1..3) OF INTEGER

         DUM4 = ARRAY (1..4) OF INTEGER

         DUM5 = ARRAY (1..5) OF INTEGER

         DUM6 = ARRAY (1..6) OF INTEGER

         a1) CREATE ̲CIF ̲INFO =
             RECORD
                 PROFILE: ACCESS ̲PROFILE;
                 SEC ̲PROFILE: SECURITY ̲PROFILE;
                 DUMMY: DUM3;
             END;

             CREATE ̲CIF ̲ANSWER=
             RECORD
                 NAME: VIEW ̲NAME;
                 REF: MMS ̲VIEW ̲REF;
                 DUMMY: DUM2;
             END;

         a2) CREATE ̲NEW ̲CIF ̲VERSION ̲INFO =
             RECORD
                 DUMMY: DUM3;
                 REF: MMS ̲VIEW ̲REF;
                 DUMM: DUM2;
             END;

             CREATE ̲NEW ̲CIF ̲VERSION ̲ANSWER =
             RECORD
                 NAME: VIEW ̲NAME;
                 REF: MMS ̲VIEW ̲REF;
                 DUMMY: DUM2;
             END;



         a3) CREATE ̲VIEW ̲INFO =
                 RECORD;
                 DUMMY: DUM3;
                 REF: MMS ̲VIEW ̲REF;
                 DUMM: DUM2;
             END;

             CREATE ̲VIEW ̲ANSWER =
             CREATE ̲VIEW ̲INFO

         a4) CREATE ̲FIELDS ̲INFO =
             RECORD
                 DUMMY: DUM3;
                 REF: MMS ̲VIEW ̲REF;
                 DUMM: DUM2;
             END;

             CREATE ̲FIELDS ̲ANSWER = DUM6

         a5) GET ̲VIEW ̲ATTRIBUTES ̲INFO =
             CREATE ̲FIELDS ̲INFO

             GET ̲VIEW ̲ATTRIBUTES ̲ANSWER = DUM6

         a6) CHANGE ̲ATTRIBUTES ̲INFO =
             RECORD
                 PROFILE: ACCESS ̲PROFILE;
                 SEC ̲PROFILE: SECURITY ̲PROFILE;
                 REF: MMS ̲VIEW ̲REF;
                 DUMMY: DUM2;
             END;

             CHANGE ̲ATTRIBUTES ̲ANSWER = DUM6

         a7) REMOVE ̲VIEW ̲INFO =
             CREATE ̲FIELDS ̲INFO

             REMOVE ̲VIEW ̲ANSWER = DUM6

         a8) READ ̲VIEW ̲INFO =
             RECORD
                 SIZE: BUFFER ̲SIZE;
                 DUMMY: DUM2;
                 REF: MMS ̲VIEW ̲READY;
                 DUMM: DUM2;
             END;

             READ ̲VIEW ̲ANSWER = DUM6


         a9) WRITE ̲VIEW ̲INFO =
             READ ̲VIEW ̲INFO

             WRITE ̲VIEW ̲ANSWER = DUM6

         a10) LOOKUP ̲INFO =
              RECORD
                 NAME: VIEW ̲NAME;
                 DUMMY: DUM3;
              END;

              LOOKUP ̲ANSWER =
              RECORD
                 PROFILE: ACCESS ̲PROFILE;
                 STATUS: STOP ̲STATUS;
                 REF: MMS ̲VIEW ̲REF;
                 DUMMY: DUM2;
              END;

         a11) STORE ̲INFO = CREATE ̲FIELDS ̲INFO
              STORE ̲ANSWER =
              RECORD
                 NAME: VIEW ̲NAME;
                 DUMMY: DUM3;
              END;

         a12) RETRIEVE ̲INFO =
              RECORD
                 NAME: VIEW ̲NAME;
                 DUMP ̲REF: DUMP ̲FILE ̲REF;
                 TYPE: RETRIEVE ̲TYPE;
                 SEGMENT: DUMP ̲SEGMENT ̲ID;
              END;

              RETRIEVE ̲ANSWER =
              RECORD
                 PROFILE: ACCESS ̲PROFILE;
                 DUMMY: DUM1;
                 REF: MMS ̲VIEW ̲REF;
                 DUMM: DUM2;
              END;

         a13) INIT ̲DUMP ̲INFO =
              RECORD
                 DUMMY: DUM3;
                 DUMP ̲REF: DUMP ̲FILE ̲REF;
                 DUMM: DUM2;
              END;


              INIT ̲DUMP ̲ANSWER =
              RECORD
                 DUMMY: DUM5;
                 SEGMENT: DUMP ̲SEGMENT ̲ID;
              END;

         a14) DUMP ̲CIF ̲SEQUENCE ̲INFO =
              RECORD
                 DUMMY: DUM3;
                 DUMP ̲REF: DUMP ̲FILE ̲REF;
                 DUMM: DUM2;
              END;

              DUMP ̲CIF ̲SEQUENCE ̲ANSWER =
              RECORD
                 NUMBER: NO ̲OF ̲CIFS;
                 DUMMY: DUM5;
              END;

         a15) TERMINATE ̲DUMP ̲INFO =
              DUMP ̲CIF ̲SEQUENCE ̲INFO

              TERMINATE ̲DUMP ̲ANSWER = DUM6

         a16) CLEAR ̲INFO =
              RECORD
                 TIME: TIME ̲TYPE;
                 DUMMY: DUM4
              END;

              CLEAR ̲ANSWER = DUM6

         a17) SAVE ̲INFO =
              RECORD
                 SIZE: BUFFER ̲SIZE;
                 DUMMY: DUM5;
              END;

              SAVE ̲ANSWER = DUM6

         a18) RESTORE ̲INFO =
              SAVE ̲INFO

              RESTORE ̲ANSWER = DUM6



         a19) SET ̲THRESHOLD ̲VALUES ̲INFO =
              RECORD
                 STS ̲BLOCKS: THRESHOLDS;
                 IST ̲BLOCKS: THRESHOLDS;
                 DUMMY: DUM4;
              END;

              SET ̲THRESHOLD ̲VALUES ̲ANSWER = DUM6

         a20) GET ̲THRESHOLD ̲WARNING ̲INFO = DUM6

              GET ̲THRESHOLD ̲WARNING ̲ANSWER 
              RECORD
                 TYPE: WARNING ̲TYPE;
                 DUMMY: DUM5;
              END;

         a21) GET ̲STORAGE ̲OCCUPANCY ̲INFO = DUM6

              GET ̲STORAGE ̲OCCUPANCY ̲ANSWER 
              RECORD
                  STS ̲BLOCKS: NO ̲OF ̲BLOCKS;
                  IST ̲BLOCKS: NO ̲OF ̲BLOCKS;
                  DUMMY: DUM4;
              END;

         a22) LOCK ̲VIEW ̲INFO =
              RECORD
                  DUMMY: DUM3;
                  REF: MMS ̲VIEW ̲REF;
                  DUMM: DUM2;
              END

              LOCK ̲VIEW ̲ANSWER = DUM6

         a23) UNLOCK ̲VIEW ̲INFO =
              LOCK ̲VIEW ̲INFO

              UNLOCK ̲VIEW ̲ANSWER = DUM6

         a24) STOP ̲CIF ̲INFO =
              RECORD
                  CIF ̲NO: CIF ̲REFERENCE ̲NO;
                  DUMMY: DUM4;
              END;

              STOP ̲CIF ̲ANSWER = DUM6

         a25) CHECK ̲DELETION ̲INFO = LOCK ̲VIEW ̲INFO
              CHECK ̲DELETION ̲ANSWER = LOCK ̲VIEW ̲ANSWER


         a26)    MAKE ̲CIF ̲PERMANENT ̲INFO =
                 CREATE ̲VIEW ̲INFO;

                 MAKE ̲CIF ̲PERMANENT ̲ANSWER =
                 RECORD
                     CIF ̲REF ̲NO: LONG;
                     DUMMY: DUM 4;
                 END;





                  Fig. 3.2.7.4-1-2-3-4-5
                       …0c…(6 sider)…0c…


3.2.7.5  C̲o̲m̲m̲a̲n̲d̲ ̲T̲r̲a̲i̲l̲e̲r̲

         The contents of COMMAND Trailer for all commands to
         MMS are summarized in fig. 3.2.7.5-1.



 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

                       To MMS                 From MMS
         FUNCTION   COMMAND     BUFFER     COMMAND     BUFFER
                    TRAILER                TRAILER
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Create     VIEW ̲                  VIEW ̲
         CIF        ATTRIBUTES             ATTRIBUTES
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Create     VIEW ̲                  VIEW ̲
         New CIF    ATTRIBUTES             ATTRIBUTES
         Version
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Create     VIEW ̲                  VIEW ̲
         View       ATTRIBUTES             ATTRIBUTES
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Lookup     VIEW ̲                  VIEW ̲
                    ATTRIBUTES             ATTRIBUTES
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Retrieve   VIEW ̲                  VIEW ̲
                    ATTRIBUTES             ATTRIBUTES
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Create                            
         Fields                            
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Get                               VIEW ̲
         View                              ATTRIBUTES
         Attributes 
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Change
         Attributes
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Remove
         View
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

                     Fig. 3.2.7.5-1 
                 COMMAND TRAILER CONTENTS



 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

                       To MMS                 From MMS
         FUNCTION   COMMAND     BUFFER     COMMAND     BUFFER
                    TRAILER                TRAILER
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Read       FIELD ̲                 FIELD ̲         X
         View       LIST                   LIST
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Write      FIELD         X        FIELD
         View       LIST                   LIST
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Store
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Init
         Dump
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Dump       CIF ̲ID ̲                CIF ̲ID ̲
         CIF        LIST                   LIST
         SEQUENCE
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Terminate  
         Dump
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Clear
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Save       CHECKPOINT ̲
                    PARAMETER ̲
                    BLOCK
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         RESTORE                           CHECKPOINT ̲
                                           PARAMETER ̲
                                           BLOCK
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

    Figure 3.2.7.5-1…01…COMMAND TRAILER CONTENTS (Cont.)



 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

                       To MMS                 From MMS
         FUNCTION   COMMAND     BUFFER     COMMAND     BUFFER
                    TRAILER                TRAILER
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Set
         Threshold
         Values
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Get
         Threshold
         Warning
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Get
         Storage
         Occupancy
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Lock
         View
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Stop
         CIF
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Check
         Deletion
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Make CIF   VIEW                   VIEW
         Permanent  ATTRIBUTES             ATTRIBUTES
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

    Figure 3.2.7.5-1…01…COMMAND TRAILER CONTENTS (Cont.)