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.)