top - download
⟦16f233ab8⟧ Wang Wps File
Length: 95845 (0x17665)
Types: Wang Wps File
Notes: CPS/ICD/0009
Names: »1132A «
Derivation
└─⟦0a9635741⟧ Bits:30006044 8" Wang WCS floppy, CR 0070A
└─ ⟦this⟧ »1132A «
WangText
P…00……00……00……00…F…02……00……00…F
E…0d…5…00…4…0b…4…06…3…00……1b……02……1a……0c……1a……07……19……0d……19…
…18……08……18……0d……18…
…17……09……17……0f……17……01……17……05……16……08……16……0e……16……02……16…
…15……08……15……09……15……0e……15…
…14……09……14……0c……14……00……14… …13……08……13……0c……13……0d……13…
…13……07……12……0b……12……00……12…
…12……06……12……07……11……09……86…1 …02… …02… …02…
…02…CPS/ICD/009
…02…850401…02……02…
CAMPS SOFTWARE INTERFACE CONTROL DOCUMENT
…02…Issue 2.1…02…CAMPS
T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲
1 GENERAL OUTLINE .............................. 1
1
1.1 PURPOSE AND SCOPE ........................ 1
1
1.2 STRUCTURE AND CONTENTS OF DOCUMENT ....... 1
1
1.2.1 General System S/W ................... 1
1
1.2.2 Special System S/W ................... 1
2
1.2.3 Application Interfaces ............... 1
2
1.2.4 System Events and Interfaces ......... 1
2
2 APPLICABLE DOCUMENTS AND REFERENCES .......... 2
1
2.1 APPLICABLE DOCUMENTS ..................... 2
1
2.2 PROJECT REFERENCES ....................... 2
2
2.3 TERMS .................................... 2
2
2.4 ABBREVIATIONS ............................ 2
2
3 GENERAL SYSTEM SOFTWARE INTERFACES ........... 3
1
3.1 DAMOS (KERNEL) ........................... 3
9
3.2 CSF MONITOR FUNCTIONS .................... 3
9
3.2.1 Utility Functions Interfaces ......... 3
11
3.2.1.1 Reserve Buffer ................... 3
11
3.2.1.2 Dismantle Buffer ................. 3
14
3.2.1.3 Write Buffer ..................... 3
15
3.2.1.4 Read Buffer ...................... 3
16
3.2.1.5 Change Subprocess ................ 3
17
3.2.1.6 Change Subprocess Attributes ..... 3
19
3.2.1.7 Reserve Variable ................. 3
20
3.2.1.8 Release Variable ................. 3
21
3.2.1.9 Read CSF Statistics .............. 3
21
3.2.1.10 GET subprocess ................... 3
24
3.2.2 QMON Package Interfaces .............. 3
27
3.2.2.1 Receive First QEL ................ 3
29
3.2.2.2 Receive Next QEL ................. 3
30
3.2.2.3 Return ........................... 3
31
3.2.2.4 Dismantle ........................ 3
32
3.2.2.5 Send QEL.......................... 3
33
3.2.2.6 Send Request ..................... 3
34
3.2.2.7 Send Reply ....................... 3
35
3.2.2.8 Set Profile ...................... 3
36
3.2.2.9 Block Queue ...................... 3
37
3.2.2.10 Unblock Queue .................... 3
38
3.2.2.11 Set Capability ................... 3
38
3.2.2.12 Get Queue Attributes ............. 3
39
3.2.2.13 Get Queue Length ................. 3
40
3.2.2.14 Initialize Queues ................ 3
41
3.2.2.15 Set Queue Threshold .............. 3
42
3.2.3 Timer Monitor Interfaces ............. 3
47
3.2.3.1 Request Timeout .................. 3
48
3.2.3.2 Cancel Timeout ................... 3
49
3.2.3.3 Timeout Queue Element ............ 3
50
3.2.3.4 Set Time ......................... 3
50
3.2.3.5 Read Time ........................ 3
51
3.2.3.6 Convert Time ..................... 3
52
3.2.4 Message Monitor Interfaces ........... 3
56
3.2.4.1 Create CIF ....................... 3
72
3.2.4.2 Create New CIF Version ........... 3
74
3.2.4.3 Create View ...................... 3
75
3.2.4.4 Create Fields .................... 3
77
3.2.4.5 Get View Attributes .............. 3
78
3.2.4.6 Stop CIF ......................... 3
79
3.2.4.7 Lock View ........................ 3
81
3.2.4.8 Unlock View ...................... 3
82
3.2.4.9 Lookup ........................... 3
83
3.2.4.10 Change Profile ................... 3
84
3.2.4.11 Open View ........................ 3
85
3.2.4.12 Close View........................ 3
86
3.2.4.13 Dismantle View ................... 3
87
3.2.4.14 Save View ........................ 3
88
3.2.4.15 Store ............................ 3
89
3.2.4.16 Retrieve ......................... 3
90
3.2.4.17 Init Dump ........................ 3
91
3.2.4.18 Dump CIF Sequence ................ 3
92
3.2.4.19 Terminate Dump ................... 3
93
3.2.4.20 Clear ............................ 3
94
3.2.4.21 Read View ........................ 3
95
3.2.4.22 Write View ....................... 3
96
3.2.4.23 Set Threshold Values ............. 3
98
3.2.4.24 Get Threshold Warning ............ 3
99
3.2.4.25 Get Storage Occupancy ............ 3
100
3.2.4.26 Set Security Parameters .......... 3
101
3.2.4.27 Start System ..................... 3
102
3.2.4.28 Get MMS Statistics ............... 3
103
3.2.4.29 Message to MMS ................... 3
105
3.2.4.30 Answer from MMS .................. 3
105
3.2.4.31 Open Notification ................ 3
105
3.2.4.32 Open Notification Answer.......... 3
105
3.2.4.33 Make CIF Permanent ............... 3
106
3.2.4.34 COPY FIELDS ...................... 3
107
3.2.5 Coroutine Monitor Package Interface 3
115
3.2.5.1 Init - System Call................. 3
115
3.2.5.2 System Call........................ 3
117
3.2.5.3 Wait System Call................... 3
118
3.2.5.4 Cancel System Call................. 3
119
3.2.5.5 Wait Semaphore..................... 3
120
3.2.5.6 Signal Semaphore................... 3
121
3.2.5.7 Wait Operation Semaphore........... 3
121
3.2.5.8 Signal Operation Semaphore......... 3
122
3.2.5.9 Associate Semaphore................ 3
123
3.2.5.10 Initialize Coroutine Monitor...... 3
124
3.2.5.11 Initialize Coroutine.............. 3
125
3.2.5.12 Initialize Semaphore.............. 3
126
3.2.5.13 Initialize Operation.............. 3
127
3.2.6 System Call Monitor Package
Interfaces............................. 3
131
3.2.6.1 Initiate System Call............... 3
131
3.2.6.2 System Call........................ 3
133
3.2.6.3 Wait System Call................... 3
134
3.2.6.4 Cancel System Call................. 3
135
3.2.6.5 Wait Next Operation................ 3
135
3.2.6.6 Define Service System.............. 3
136
3.2.6.7 PCF Interface...................... 3
138
3.2.6.8 IOS Interface...................... 3
139
3.2.6.9 Interface to Service System........ 3
140
3.2.7 Interface to MMS....................... 3
149
3.2.7.1 General Communication Protocol..... 3
149
3.2.7.2 Command Buffer..................... 3
154
3.2.7.3 Reply Buffer ...................... 3
156
3.2.7.4 Command Body and Reply Body........ 3
158
3.2.7.5 Command Trailer.................... 3
170
3.3 STATISTICS INTERFACES .................... 3
174
3.4 TRACE .................................... 3
176
3.4.1 CSF TRACE INTERFACES ................. 3
176
3.4.1.1 CMON Trace ....................... 3
176
3.4.1.2 INIT Trace ....................... 3
177
3.4.1.3 CSF Trace ........................ 3
178
3.4.1.4 User Trace ....................... 3
181
3.4.1.5 Set Trace Priority ............... 3
184
3.5 I/O-CONTROL INTERFACES ................... 3
185
3.5.1 IOS INTERFACES ....................... 3
185
3.5.1.1 Mount ............................ 3
185
3.5.1.2 Dismount ......................... 3
186
3.5.1.3 Dismantle ........................ 3
187
3.5.1.4 Reset ............................ 3
188
3.5.1.5 Accept ........................... 3
189
3.5.1.6 Offer ............................ 3
190
3.5.1.7 Enter ............................ 3
191
3.5.1.8 Lookup ........................... 3
192
3.5.1.9 Descent .......................... 3
193
3.5.1.10 Rename ........................... 3
194
3.5.1.11 Remove ........................... 3
195
3.5.1.12 Getroot .......................... 3
196
3.5.1.13 Readbytes ........................ 3
197
3.5.1.14 Modifybytes ...................... 3
199
3.5.1.15 Appendbytes ...................... 3
200
3.5.2 FORMAT HANDLER INTERFACES ............ 3
205
3.5.2.1 Initialize ....................... 3
206
3.5.2.2 Define Format Area ............... 3
207
3.5.2.3 Init Terminal .................... 3
208
3.5.2.4 Remove Terminal .................. 3
209
3.5.2.5 Get Format ....................... 3
210
3.5.2.6 Output Format .................... 3
211
3.5.2.7 Insert Lines ..................... 3
212
3.5.2.8 Delete Lines ..................... 3
213
3.5.2.9 Field Output ..................... 3
215
3.5.2.10 Field Input ...................... 3
220
3.5.2.11 Change Field Attr. ............... 3
221
3.5.2.12 Get Cursor Position .............. 3
222
3.5.2.13 Set Cursor Position .............. 3
223
3.5.2.14 Send Control ..................... 3
224
3.5.2.15 Receive Control .................. 3
225
3.5.2.16 Insert Line Group ................ 3
226
3.5.2.17 Delete Line Group ................ 3
227
3.5.2.18 Get Cursor Group Position ........ 3
228
3.5.2.19 Enable data keys ................. 3
229
3.5.2.20 High Priority Fields Output ...... 3
230
3.5.2.21 BUILD ADAPT P3 TABLE ............. 3
231
3.5.2.22 Line Size ........................ 3
232
3.5.2.23 Group Size ....................... 3
233
3 5 2 24 Remaining Memory ................. 3
234
3.5.3 Printer Format Handler Interface ...... 3
240
3.5.3.1 Init Format ...................... 3
241
3.5.3.2 DEFINE FORMAT AREA ............... 3
242
3.5.3.3 INIT Printer ..................... 3
243
3.5.3.4 REMOVE Printer ................... 3
244
3.5.3.5 GET FORMAT ....................... 3
245
3.5.3.6 FIELD OUTPUT ..................... 3
246
3.5.3.7 OUTPUT FORMAT .................... 3
248
3.5.3.8 INSERT LINES ..................... 3
249
3.5.3.9 SEND CONTROL ..................... 3
250
3.5.3.10 INSERT LINE GROUP ................ 3
251
4 SPECIAL SYSTEM SOFTWARE INTERFACES ........... 4
1
4.1 TMP INTERFACES ........................... 4
1
4.1.1 TMP Request .......................... 4
1
4.1.1.1 TMP Search Interfaces ............ 4
4
4.1.1.1.1 Search Primary Key .............. 4
6
4.1.1.1.2 Search Next Primary Key ......... 4
7
4.1.1.1.3 Search in Record ................ 4
8
4.1.1.1.4 Search One Secondary Key ........ 4
9
4.1.1.1.5 Search All Secondary Keys ....... 4
10
4.1.1.2 TMP Update Interface ................ 4
12
4.1.1.2.1 Remove Record ................... 4
13
4.1.1.2.2 Insert Record ................... 4
13
4.1.1.2.3 Single Change Field Position .... 4
14
4.1.1.2.4 Global Change Field Position .... 4
15
4.1.1.2.5 Single Change Field Value ....... 4
16
4.1.1.2.6 Global Change Field Value ....... 4
17
4.1.2 Get TMP Statistics .................. 4
20
4.1.3 Get Table Attributes ................ 4
20
4.1.4 Lock Table .......................... 4
21
4.1.5 Unlock Table ........................ 4
22
4.1.6 Reorganize .......................... 4
22
4.1.7 Abandon Reorganize .................. 4
23
4.1.8 Backup .............................. 4
23
4.1.9 System start up ..................... 4
24
4.1.10 Set Global Serial Number ............ 4
24
4.1.11 Daily Global Serial Number Reset .... 4
25
4.1.12 Get Global Serial Number ............ 4
26
4.1.13 Set Global Serial Number Flags ...... 4
27
4.1.14 Set System Parameters ............... 4
27
4.1.15 Get System Parameter ................ 4
28
4.2 SSC INTERFACES ........................... 4
32
4.2.1 SSC External I/F ..................... 4
32
4.2.1.1 SSC to/from TEP .................. 4
32
4.2.1.2 SSC to/from MDP .................. 4
122
4.2.1.3 SSC to/from LOG .................. 4
127
4.2.1.4 SSC to/from THP .................. 4
147
4.2.1.5 SSC to/from SAR .................. 4
170
4.2.1.6 SSC to/from STP .................. 4
175
4.2.2 SSC INTERNAL INTERFACES .............. 4
180
4.2.2.1 CMI to EHD ̲COPSY ................. 4
180
4.2.2.2 WAMCO ̲COPSY to CMI ............... 4
195
4.2.2.3 CMI to WAMCO ..................... 4
205
4.2.2.4 CFH ̲COPSY to CMI ................. 4
210
4.3 CSF QUEUE I/F ............................ 4
217
4.3.1 CSF to/from LOG ...................... 4
217
4.3.2 CSF To/From TEP ...................... 4
228
4.3.3 CSF to SSC ............................ 4
231
4.4 SSC SYSTEM SOFTWARE INTERFACE ............. 4
235
4.4.1 SSC To/From CSF ....................... 4
235
4.4.1.1 Interface MMON to COPSY (EHD) ..... 4
235
4.4.1.2 COPSY (TEMCO to MMON) ............. 4
236
5 APPLICATION PACKAGE INTERFACES ............... 5
1
5.1 THP to/from MDP .......................... 5
1
5.1.1 THP to MDP ........................... 5
1
5.2 TEP to/from THP, MDP ..................... 5
19
5.2.1 TEP to THP ........................... 5
19
5.2.2 THP to TEP ........................... 5
96
5.2.3 TEP to MDP ........................... 5
188
5.2.4 MDP to TEP ........................... 5
221
5.3 SAR TO/FROM THP, MDP, AND TEP ............ 5
317
5.3.1 THP to SAR ........................... 5
317
5.3.2 MDP to SAR ........................... 5
355
5.3.3 SAR to TEP ........................... 5
366
5.3.4 TEP to SAR ........................... 5
413
5.4 LOG TO/FROM THP, MDP, TEP, SAR ........... 5
464
5.4.1 LOG to THP ........................... 5
464
5.4.2 THP to LOG ........................... 5
473
5.4.3 LOG to MDP ........................... 5
489
5.4.4 MDP to LOG ........................... 5
489
5.4.5 LOG to TEP ........................... 5
490
5.4.6 TEP to LOG ........................... 5
515
5.4.7 LOG to SAR ........................... 5
557
5.4.8 SAR to LOG ........................... 5
563
5.5 STP TO/FROM TEP .......................... 5
572
5.5.1 STP to TEP ........................... 5
572
5.5.2 TEP to STP ........................... 5
579
5.6 THP INTERNAL INTERFACES ................... 5
584
5.6.1 TRS to AAS ............................ 5
584
5.6.2 AAS to TRS ............................ 5
592
5.6.3 AAS to ACS ............................ 5
622
5.6.4 ACS to TRS ............................ 5
647
5.6.5 TRS to ACS ............................ 5
667
5.7 TEP INTERNAL INTERFACES ................... 5
671
5.7.1 VUP to VUP ........................... 5
671
5.7.2 VUP to PRI ........................... 5
687
5.7.3 VUP to UMAM .......................... 5
695
5.7.4 UMAM to VUP .......................... 5
716
5.7.5 SVUP to SPR .......................... 5
730
5.7.6 SVUP to UMAM ......................... 5
761
5.7.7 SPR to SVUP .......................... 5
770
5.7.8 UMAM to SVUP ......................... 5
775
5.7.9 MDO to PRI ........................... 5
780
5.7.10 MDO to UMAM ......................... 5
804
5.7.11 UMAM to MDO ......................... 5
804
5.7.12 MSO to PRI .......................... 5
805
5.7.13 MSO to UMAM ......................... 5
813
5.7.14 UMAM to MSO ......................... 5
823
5.7.15 UMAM to SPR ......................... 5
834
5.7.16 SPR to PRI ..........................
5.7.17 SPRI to UMAM......................... 5
849
5.7.18 PRI to UMAM.......................... 5
856
5.7.19 VUP to MDO........................... 5
859
5.7.20 SVUP to VUP.......................... 5
867
5.7.21 PRI to SPRI..........................
5.7.22 SVUP to SVUP......................... 5
870
5.7.23 MSO to MSO........................... 5
874
5.7.24 MDO to MDO........................... 5
882
5.7.25 OAS to MSA .......................... 5
886
5.7.26 MSA to OAS .......................... 5
895
6 SYSTEM EVENTS AND INTERFACES ................. 6
001
6.1 AUDIT DATA COLLECTION .................... 6
001
6.1.1 Statistics Data Collection ........... 6
001
6.1.1.1 Specific Input Data for Statistics 6
001
6.1.1.2 When to Collect .................. 6
002
6.1.1.3 What to Collect .................. 6
003
6.1.2 LOG Data Collection .................. 6
009
6.1.2.1 Specific Input Data For Logging .. 6
010
6.1.2.2 What to Collect .................. 6
011
6.1.3 Reports............................... 6
018
6.1.3.1 Security Reports.................. 6
018
6.1.3.2 Warning Reports................... 6
019
6.1.3.3 Command Completion Reports........ 6
020
6.1.3.4 Queue Prints...................... 6
020
6.1.3.5 Channel Reports................... 6
020
6.1.3.6 Deletion Request Report........... 6
021
6.2 STORAGE OF MESSAGES/COMMENTS, VDU-PAGES,
ETC. ..................................... 6
022
6.2.1 Retrieval Keys Collection............. 6
023
6.2.1.1 Package Contributing.............. 6
023
6.2.1.2 When to Collect Storage Keys...... 6
024
6.2.1.3 What to Collect .................. 6
026
6.3 COMMON ERROR HANDLING .................... 6
028
6.3.1 Error Detection ...................... 6
028
6.3.1.1 System Call ...................... 6
028
6.3.1.2 Instruction Execution ............ 6
035
6.3.1.3 Validity Checks .................. 6
035
6.3.2 Copsy Handling of Error Reports ...... 6
038
6.3.2.1 PSE Reports ...................... 6
039
6.3.2.2 COPSY Handling of Validity Check
Error Reports in GAQ ............. 6
039
6.3.2.3 DSSE Reports ..................... 6
040
6.3.2.4 FMS SE Reports ................... 6
040
6.3.2.5 Emergency Closedown/Switchover ... 6
040
6.3.3 CAMPS Modes .......................... 6
041
6.3.4 Process Types ........................ 6
041
6.3.5 User Specified Actions ............... 6
044
6.3.6 Analyze Error ........................ 6
044
6.3.7 Send Garble procedures ............... 6
046
6.3.7.1 Send Garble ...................... 6
046
6.3.7.2 Get Garble Information ........... 6
051
6.3.7.3 Receive from Garble Queue ........ 6
052
6.3.7.4 Define Garble Queue .............. 6
052
6.3.7.5 Get Subprocess Queue Elements .... 6
052
6.3.7.6 COPSY Handling of a Failed Process 6
054
6.3.7.7 Get CIF .......................... 6
054
6.4 CHECKPOINTS .............................. 6
057
6.4.1 Checkpoint Mechanism ................. 6
058
6.4.2 Checkpoints Performed by Application
Packages ............................. 6
061
6.4.3 Checkpoints Performed by the System
Software Packages .................... 6
063
6.5 START-UP AND INITIALIZATION .............. 6
064
6.5.1 Register Contents for processers ..... 6
064
6.5.2 PRE Initialization ................... 6
067
6.5.2.1 Functional Specification ......... 6
067
6.5.2.2 Interface ........................ 6
067
6.5.2.3 Module Components ................ 6
067
6.5.2.4 Data Description ................. 6
068
6.5.2.5 Module Design .................... 6
070
6.6 TABLE ACCESS SPECIFICATION ............... 6
072
1̲ ̲ ̲G̲E̲N̲E̲R̲A̲L̲ ̲O̲U̲T̲L̲I̲N̲E̲
1.1 P̲U̲R̲P̲O̲S̲E̲ ̲A̲N̲D̲ ̲S̲C̲O̲P̲E̲
The purpose of this document is to provide definition
of interfaces to such a detail that
1) interfaces can be designed by definitions contained
in this document only
2) system and software integration specifications
and procedures can be specified using this document
The software interface document shall be limited to
package interfaces while intra package interfaces shall
be contained in the package specifications.
1.2 S̲T̲R̲U̲C̲T̲U̲R̲E̲ ̲A̲N̲D̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲ ̲O̲F̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲
The document has been structured according to the different
package interface categories which are pertinent to
CAMPS software. The software interface categories are:
- general system software
- special system software
- application to application interfaces
- system events and interfaces
How these categories shall be documented is briefly
discussed in the following.
Where constant or type definitions are specified it
shall be remarked that these are only stated for information
purpose. The Master document for these definitions
are the CPS/DBD/001.
1.2.1 G̲e̲n̲e̲r̲a̲l̲ ̲S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲
General system software interfaces shall be documented
by a specification of the full spectrum of system software
calls and their functions.
It shall not be described in the SW I/F documentation
how other software packages are using the system software.
General system software are DAMOS, CAMPS System Functions,
IOC and SFM.
1.2.2 S̲p̲e̲c̲i̲a̲l̲ ̲S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲
By special system software is meant SSC and Table Management.
The packages shall be documented as described in 1.2.1,
but in addition it shall be specified how other packages
are interfacing the SSC package.
1.2.3 A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
By application interfaces are meant interfaces between
THP, MDP, TEP, SAR, LOG, and STP.
These interfaces are characterized by a communication
via queues/sync. element, etc. which requires a specification
of the control and transfer of data between packages.
Interfaces shall be documented by the communication
conventions i.e. sequence of events, control information
and detailed data formats.
1.2.4 S̲y̲s̲t̲e̲m̲ ̲E̲v̲e̲n̲t̲ ̲a̲n̲d̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
To ensure system integrity and coordination, a section
for all those types of events, which are distributed
across the system, is required.
The types of events to be included are collection of
data for logs, statistics, reports, checkpoints, and
storage of message, comments, etc.
For these types it shall be specified where, what,
and when data are collected or stored.
2̲ ̲ ̲A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲ ̲A̲N̲D̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲
2.1 A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲
CAMPS System Requirements
CPS/210/SYS/0001
User Procedures and Associated Formats
CPS/230/ICD/0001
Supervisor Commands and Procedures
CPS/230/ICD/0002
ACP127 NATO Supp. 3 Procedures
CPS/230/ICD/0003
NICS/TARE Interface Control Document
CPS/ICD/004
SCARS II Interface Control Document
CPS/ICD/005
ACE CCIS Interface Control Document
CPS/ICD/006
TRC, Point-to-point Connection Interface Control Document
CPS/ICD/007
OCR Interface Control Document
CPS/ICD/008
Operator Commands and Procedure
CPS/ICD/010
CAMPS System Design CPS/SDS/001
CAMPS System Functions CPS/SDS/002
Message Management CPS/SDS/003
System Status and Control CPS/SDS/004
Table Management CPS/SDS/005
Input/Output Control CPS/SDS/006
Storage and Retrieval CPS/SDS/007
Statistics CPS/SDS/008
Logging CPS/SDS/009
Traffic Handling CPS/SDS/010
Message Distribution Package CPS/SDS/011
Terminal Package CPS/SDS/012
Operating System CPS/SDS/013
(Appendix 1 - 18)
Storage and File Management CPS/SDS/016
Database Design Document CPS/DBD/001
2.2 P̲R̲O̲J̲E̲C̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲
N/A.
2.3 T̲E̲R̲M̲S̲
Please refer to CPS/SDS/001 section 1.3.1 "Terms".
2.4 A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲
ACP127 Allied Communication Procedures No.
127
AIG Address Indicator Group
APP Applications
BFD Directory types within SFM
BFD Basic File Directory
BPS Bit Per Second
CAMPS Computer Aided Message Processing
System
CCIS Command & Control Information System
CCITT The International Telegraph and Telephone
Consultative Committee
CH Channel
CHPT-IRATE Check Point Incoming Message Rate
CHPT-ORATE Check Point Outgoing Message Rate
CIA Data Channel Interface Adapter
CIF CAMPS Information File
CMI Command Interpreter
COPSY CAMPS Operating System
CPS CAMPS
CPU Central Processing Unit
CR Carriage Return
CRC Cyclic Redundancy Check
CSF In CPS/SDS/001 is the abbreviation
used to identify the CAMPS System
Functions, but CSF is also used to
identify the Central Supply Facility
in logistics of CAMPS
CSN Channel Serial Number (Identical
to TSN)
CSSI CAMPS Software Support Installation
CTS/A Cosmic Top Secret/Atomal
CU Channel Unit
DAMOS CR80D Advanced Multiprocessor Operating
System
DCB CR80D Control Bus
DCE Data Circuit-terminating Equipment
DCN Document Control Number
DD Device Designator
DEC Data Exchange Channel
DEV Development
DMA Direct Memory Access
DMB CR80D Main Bus
DM&T Distribution Monitoring and Test
Equipment
DSMT Development, Software, Maintenance,
Test
DTE Data Terminal Equipment
DTG Data Time Group
EDC Error Detection and Correction
EMI-racks Electromagnetic Interference
EOL End Of Line
EOLF End Of Line Feed
ETC Et Cetera
FIFO First In, First Out
FMS File Management System
HDB Historical Data Base
HDLC High Level Data Link Control
HQ Headquarters
HW Hardware
ICB Item Control Block
ICD Interface Control Document
ICHSN Incoming Channel Serial Number
IDF Intermediate Distribution Frame
IF I/F Interface
IID Item Identification
IMQ Incoming Message Queue
IO I/O Input/Output
IOC Input/Output Control Package
IOS I/O System
ISQ Incoming Storage Queue
ITA International Telegraph Alphabeth
ITEM REF ID Item Reference Identity
KER Kernel Package
LAPB Link Access Protocol B
LF Line Feed
LOG Log and Accountability Package
LSI Large Scale Integrated Circuits
LTU Line Termination Unit
LTUX Line Termination Unit Wired to the
TDX bus
MAP Memory Mapping Unit
MBT Main Bus Termination Module
MC Master Clear
MCB Message Control Block
MCQ MDCO Queue
MDCO Message Distribution Control
Operator
MDP Message Distribution Package
MIA Map Interface Adapter
MID Message Identification
MMON Message Monitor
MMS Message Management System within
SFM
MRQ Message Routing Queue
MSG Message
MSO Message Service operator
MSP Medium Speed Tele Printer
MSQ Message Service Queue
MSTP Medium Speed Tele Printer
MTBF Mean Time Between Failure
MTTR Mean Time To Repair
M&D Maintenance and Diagnostics
NA Not Applicable
NAK Negative Acknowledgement
NICS NATO Integrated Communication System
OCHSN Outgoing Channel Serial Number
OLP Off-line Software Package
OMQ Outgoing Message Queue
OU Off-line Utilities
PLA Plain Language Address
PLA# Plain Language Address Reference
Number
PM Page Manager
PSU Power Supply
PTP Paper Tape Puncher
PTR Paper Tape Reader
PU Processor Unit
P-to-P Point to Point
QEL Queue Element (Identical to QUEL)
QER Queue Element Reference
QMON Queue Monitor
QUEL Queue Element (Identical to QEL)
RAM Random Access Memory
RF Radio Frequency
RI Routing Indicator
RLQ Message Release Queue
ROP Receive Only Printer
RRQ Retrieve Request Queue
RSN Release Serial Number (Identical
to SSN)
RTCM Real Time Clock Module
SAR Storage and Retrieval
SCARS Status Control Alerting
and Reporting System
SCD Staff Cell Designator
SD&T Software Development and Test
SDL Standard Distribution List
SDS CAMPS System Design Specification
SEL Synchronization Element
SFD Directory types within SFM
SFM Storage and File Management Package
SIC Subject Indicator Code
SID Segment Identifier
SOTF Start of Transmission Function
SRS System Requirements Specification
SSC Status System and Control
SSN Station Serial Number (Identical
to RSN)
SSP Support Software Package
STA Statistics Package (Identical to
STP)
STI Supra-TDX Bus Interface
STP Statistics Package
SUPV Supervisor
SV Supervisor
SVQ Supervisor Queue
SW Software
TARE Telegraph Automatic Relay Equipment
TBD To Be Defined
TC Transfer Counter
TD Terminal designator
TDX Telecommunication Data Exchange
TEMCO Terminal Monitoring and Control
TEP Terminal Package
TG Table Generation (Software in SSP)
THP Traffic Handling Package
THS Terminal Handling System
TIA TDX Bus Interface Adapter
TM Terminal Manager
TMP Table Management Package
TOC Time of Occurrence
TOS Terminal Operating System
TP Tele Printer
TRANSID Transaction Identification
TRC Tape Relay Center
TS Time Stamp
TSN Transmission Serial Number (Identical
to CSN)
UGI User Group Identification
VDU Visual Display Unit
WDP Watchdog Processor
X25 Protocol Name
Z80 Zilog 80
3̲ ̲ ̲G̲E̲N̲E̲R̲A̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲I̲N̲T̲E̲R̲F̲A̲C̲E̲S̲
This section describes the system software calls and
their functions. However, it does not specify how and
when the particular software package is actually using
the set of system functions.
The interfaces are ordered in accordance with the following
subjects:
DAMOS (KERNEL) Sect. 3.1
CSF-Monitor Functions Sect. 3.2
Data Collection Facilities Sect. 3.3
Trace Sect. 3.4
I/O-Control Sect. 3.5
In the following a description, of "how to use" the
descriptions of the functions contained in this section,
is given.
Each function is described in the following way:
F̲u̲n̲c̲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̲
Narrative description
…0e….…0f…
…0e….…0f…
…0e….…0f…
…0e….…0f…
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) Format flowgram call spec
b) SWELL call spec.
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̲
Register contents
…0e….…0f…
…0e….…0f…
…0e….…0f…
R̲e̲t̲u̲r̲n̲ ̲r̲e̲g̲i̲s̲t̲e̲r̲s̲
Register contents
…0e….…0f…
…0e….…0f…
…0e….…0f…
State of registers not specified
F̲a̲t̲a̲l̲ ̲e̲r̲r̲o̲r̲
fatal errors
…0e….…0f…
…0e….…0f…
…0e….…0f…
N̲a̲r̲r̲a̲t̲i̲v̲e̲ ̲d̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ will in a few lines describe
the function performed.
F̲o̲r̲m̲a̲l̲ ̲f̲l̲o̲w̲g̲r̲a̲m̲ ̲c̲a̲l̲l̲ ̲s̲p̲e̲c̲ has the format
- FUNCTION(INPUTPARAMS)(OUTPUTPARAMS): EXIT ̲TYPE
where
- FUNCTION is the name of the function
- INPUTPARAMS are the parameters which must be specified
as input
- OUTPUTPARAMS consist of the parameters returned
by the function including those input parameters
the function might have updated.
- EXIT ̲TYPE defines a range of exits that may be
used by the function to deliver a result. The
type is a subrange of integer with 0 as least value.
For definition of actual type, refer SRS/DBD/001
section 4.2.
Each parameter consists of a formal name and a type.
Note: A pointer which specifies an area holding an
output parameter is not an input parameter
in this respect but is specified in C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲.
S̲W̲E̲L̲L̲ ̲c̲a̲l̲l̲ ̲s̲p̲e̲c̲.̲ is the call specification as it appears
in a SWELL program.
Note: In some functions two SWELL calls are specified:
- MON (SCM,....) used in connection with
SYSTEM CALL MONITOR
- COMON (CSYSCALL, ....) used in connection
with coroutine monitor.
In some functions the following notation is
used: FUNCTION ̲NAME: R6.
This is introduced for editorial reasons and
is equivalent to the SWELL notation:
FUNCTION ̲NAME = R6
In addition a few examples are given overleaf.
EXAMPLE:
G̲e̲t̲ ̲V̲i̲e̲w̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲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̲
The view attributes for the referenced view are delivered
to caller. Refer to 3.2.4 b.
I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
a) GET ̲VIEW ̲ATTRIBUTES
(VIEW:
VIEW
̲REFERENCE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲GET ̲VIEW ̲ATTRIBUTES: R6,
R1, R2, R7): ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲GET ̲VIEW ̲ATTRIBUTES, 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̲
R1 pointer to ATTRIBUTES (kept)
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
ATTRIBUTES address error
View reference error
Note that R1 by the call contains a pointer to ATTRIBUTES
although ATTRIBUTES in the f̲o̲r̲m̲a̲l̲ ̲f̲l̲o̲w̲g̲r̲a̲m̲ ̲c̲a̲l̲l̲ ̲s̲p̲e̲c̲
is specified as an output parameter.
EXAMPLE
S̲e̲n̲d̲ ̲Q̲E̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Sends a QEL to destination subqueue. If a reference
to a QEL owned by caller is specified a copy of this
is sent. If instead a NIL reference is specified a
new QEL is generated and sent. In both cases the fields
CHECKPOINT ̲STATUS, APPLICATION ̲PROFILE, and INFORMATION
are taken from the parameter PARAMS.
A QEL can only be sent to a queue, if Access Profile
of QEL is contained in that of the queue. If this check
is not passed, a profile mask is returned to caller,
specifying the profile fields which are too high.
A QEL may not be sent to a blocked queue.
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) SEND ̲QEL (PARAMS: SEND ̲PARAMS,
QEL: QEL ̲REFERENCE
QUEUE: QUEUE ̲REFERENCE)
(PARAMS: SEND ̲PARAMS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF;QMON ̲SEND ̲QEL, R1, R2, R3, 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̲
R1 pointer to PARAMS (kept)
R2 QEL (destr)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC: (OK, QEL ̲PROFILE ̲CHECK, BLOCKED
̲QUEUE)
R0, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL reference error
Queue reference error
SEND ̲PARAMS address error
No capability
Note that PARAMS are specified as an input parameter
and as an output parameter due to the fact that the
function might have changed this parameter.
Referring to the examples r̲e̲g̲i̲s̲t̲e̲r̲ ̲c̲o̲n̲t̲e̲n̲t̲s̲ is used
as follows:
First Column specifies the register
Second Column is used if the register contains the
value of the specified parameter.
Third Column is used if the register contains a pointer
to the specified parameter.
Fourth Column is used if the register contains a completion
code in order to give a list of the informative codes
that may occur as a result of the function performed.
The last column indicates if the register contents
are destroyed by the function or not.
S̲t̲a̲t̲e̲ ̲o̲f̲ ̲r̲e̲g̲i̲s̲t̲e̲r̲s̲ ̲n̲o̲t̲ ̲s̲p̲e̲c̲i̲f̲i̲e̲d̲ is a list of those
registers that are not specified as call or return
registers and their state upon return of the function.
F̲a̲t̲a̲l̲ ̲e̲r̲r̲o̲r̲s̲ is a list of the errors that gives rise
to a fatal error, meaning that the calling process
is stopped.
If no such error exists, this is indicated with NONE.
3.1 D̲A̲M̲O̲S̲
DAMOS provides a large number of facilities to be used
directly. For interface description to these facilities
ref. Document CSS/006/PSP/0044.
3.2 C̲S̲F̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
The functions supplied by CAMPS System Functions (CSF)
are grouped in the following way:
Common Functions
Queue Monitor Functions
Timer Monitor Functions
Message Monitor I/Fs
Coroutine Monitor I/Fs
System Call Monitor I/Fs
Some CSF functions are privileged, meaning that they
are only available to certain subprocesses. The privileged
functions are listed in table 3.2-1.
The Queue Monitor functions not listed in the table
are controlled via Queue Capabilities.
The Subprocess and Queue Capability concepts are defined
in CPS/DBD/001, sections 7 - 8.
Note: As some of the functions may be implemented
as internal functions only called from system
mode, e.g. CSF, TMP etc., no check on input
is performed and no error exit is given.
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
CSF CALLING CALLING
SUBPACKAGE FUNCTION PACKAGE SUBPROCESS
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
Utility Change Subprocess
Attributes
Functions
cf.
2.1.6
SSC COPSY
Queue
Monitor Set Capability
cf. 3.2.2.11
SSC COPSY
Initialize
Queues
3.2.2.14
SSC COPSY
Timer
Monitor Set Time
3.2.3.4
SSC COPSY
Message
Monitor Store
3.2.4.15
SAR SAR
Retrieve
3.2.4.16
SAR SAR
Init dump
3.2.4.17
SAR SAR
Dump CIF
Sequence
3.2.4.18
SAR SAR
Terminate
dump
3.2.4.19
SAR SAR
Clear
3.2.4.20
SAR SAR
Lock View
3.2.4.7
TEP UMAM
Unlock View
3.2.4.8
TEP UMAM
Lookup
3.2.4.9
TEP UMAM
Stop CIF
3.2.4.6 SAR/TEP SAR/UMAM
Set threshold
values
3.2.4.23 SSC/SAR COPSY/SAR
Get threshold
warning
3.2.4.24 TEP/SAR SPIP/SAR
Start system
3.2.4.27
SSC COPSY
Message
Monitor Get storage
occupancy
cf.
3.2.4.25 TEP/STP SPIP/STP
Set security
parameters
cf.
3.2.4.26
TEP SVUP
SSC COPSY
Get MMS
statistics
cf-
3.2.4.28
STP STP
FIG. 3.2-1
3.2.1 U̲t̲i̲l̲i̲t̲y̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Refer figure 3.2.1-1.
3.2.1.1 R̲e̲s̲e̲r̲v̲e̲ ̲B̲u̲f̲f̲e̲r̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Allocates a shared buffer of specified size from the
pool of shared buffers.
If pool is empty this will be signalled in the returned
completion code.
A buffer reference is created in the form of a QEL
belonging to the specified queue.
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) RESERVE ̲BUFFER (BUFFER ̲SIZE: 1..MAX ̲BUFFER-SIZE,
QUEUE: QUEUE ̲REFERENCE)
(BUFFER: BUFFER ̲REFERENCE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, RESERVE ̲BUFFER, R0,R2,R3,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 BUFFER ̲SIZE (dest)
R3 Pointer to QUEUE (dest)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 BUFFER
R7 CC (OK, POOL ̲EMPTY, BLOCKED ̲QUEUE)
R1,R4,R5,R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue Reference Error
No Capability
QEL Claims Exceeded
Buffer Size Error
Param address error
3.2.1.2 D̲i̲s̲m̲a̲n̲t̲l̲e̲ ̲B̲u̲f̲f̲e̲r̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Releases a reference to a shared buffer. If it was
the last QEL referencing the buffer, it is returned
to the pool of shared buffers.
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) DISMANTLE ̲BUFFER (BUFFER: BUFFER ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, DISMANTLE ̲BUFFER; R2, 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̲
R2 BUFFER (Destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R7 CC (OK)
R0, R1, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Buffer Reference Error
3.2.1.3 W̲r̲i̲t̲e̲ ̲B̲u̲f̲f̲e̲r̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A record of SIZE words starting at the address SOURCE
is written into the referenced buffer starting at the
relative address OFFSET within the buffer. The return
parameter SIZE gives the number of words written. It
can be smaller than specified, if buffer is not long
enough, then the informative completion code SIZE ̲ERROR
is returned. All the addresses are word addresses.
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) WRITE ̲BUFFER (BUFFER: BUFFER ̲REFERENCE,
SOURCE: POINTER,
SIZE,
OFFSET: 1..MAX ̲BUFFER
̲SIZE)
(SIZE: 1..MAX ̲BUFFER
̲SIZE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON(CSF,WRITE ̲BUFFER, R0,R1,R2,R3,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 SIZE
R1 OFFSET (Destr)
R2 BUFFER (Kept)
R3 SOURCE (Destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 SIZE
R7 CC (OK, SIZE ̲ERROR)
R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Buffer Reference Error
Param address error
3.2.1.4 R̲e̲a̲d̲ ̲B̲u̲f̲f̲e̲r̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
A read of SIZE words, starting at relative address
OFFSET within BUFFER is read into the memory area starting
at DESTINATION.
The return parameter SIZE gives the number of words
read. It may be smaller than specified, if buffer was
shorter, then the informative completion code
SIZE ̲ERROR is returned.
All addresses are word addresses.
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) READ ̲BUFFER (BUFFER: BUFFER ̲REFERENCE,
DESTINATION: POINTER,
SIZE,
OFFSET: 1..MAX ̲BUFFER
̲SIZE)
(SIZE: 1..MAX ̲BUFFER
̲SIZE,
CC: COMPLETION CODE):
ERROR ̲OK
b) MON (CSF, READ ̲BUFFER, R0, R1, R2, R3, 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 SIZE
R1 OFFSET (Destr)
R2 BUFFER (Kept)
R3 DESTINATION (Destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 SIZE
R7 CC (OK, SIZE ̲ERROR)
R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Param Address Error
Buffer Reference Error
3.2.1.5 C̲h̲a̲n̲g̲e̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲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 calling process indicates that its current subprocess
has changed. For processes with coroutines, only CMON
should call this function or else it may cause malfunction
of the System.
It is checked that the new subprocess id is one of
those assigned to calling process.
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) CHANGE ̲SUBPROCESS (SUBPROCESS ̲ID: SUBPROCESS ̲INDEX)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, CHANGE ̲SUBPROCESS, R0, 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 SUBPROCESS ̲ID (Destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R1, R2, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Illegal Subprocess
3.2.1.6 C̲h̲a̲n̲g̲e̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲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̲
The specified subprocess record is updated with the
specified subprocess attributes. Note that QEL-CLAIM
is a signed integer which is added to current value.
If the resulting value is negative, this is indicated
in the completion code and the subprocess is not able
to receive any QELs until the QEL claim of this subprocess
is positive. Attempt results in Retire.
If ATTRIBUTES.PROFILE ̲FLAG is TRUE only the PROFILE
of the subprocess is changed.
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) CHANGE ̲SUBPROCESS ̲ATTRIBUTES
(SUBPROCESS ̲ID: SUBPROCESS ̲INDEX,
ATTRIBUTES: SUBPROCESS ̲ATTRI-
BUTES)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON(CSF,CHANGE ̲SUBPROCESS ̲ATTRIBUTES, R0, R1, 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 SUBPROCESS ̲ID (Kept)
R1 pointer to ATTRIBUTES (Destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, QEL ̲CLAIMS ̲EXCEEDED)
R2, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Privilege Error
Subprocess Reference Error
Param address error
3.2.1.7 R̲e̲s̲e̲r̲v̲e̲ ̲V̲a̲r̲i̲a̲b̲l̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Reserves the specified variable for exclusive access
by calling process. If the variable is already reserved
by some other process, the calling process is suspended
until the variable is released, unless it specifies
that a completion code shall be returned in this case.
Note that CSF does not attempt to resolve possible
deadlock situations which may arise from use of this
function.
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) RESERVE ̲VARIABLE (VAR ̲REF: 1..NUMBER ̲OF
̲VAR,
WAIT: BOOLEAN)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, RESERVE ̲VARIABLE,R0,R2,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 WAIT (destr)
R2 VAR ̲REF (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R7 CC (OK, VAR ̲RESERVED)
R1,R3,R4,R5,R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Var Reference Error
3.2.1.8 R̲e̲l̲e̲a̲s̲e̲ ̲V̲a̲r̲i̲a̲b̲l̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Releases a reservation previously set by calling process.
If any processes are waiting for the variable, one
of them will be activated.
CSF does not check that calling process has actually
reserved the specified variable.
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) RELEASE ̲VARIABLE (VAR ̲REF: 1..NUMBER ̲OF
̲VAR)
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF,RELEASE ̲VARIABLE, R2, 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̲
R2 VAR ̲REF (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R7 CC (OK)
R0, R1, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Var Reference Error
3.2.1.9 R̲e̲a̲d̲ ̲C̲S̲F̲ ̲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 a specified subset of the CSF
statistics Information and initializes the corresponding
statistics collection variables.
CSF contains three types of statistics:
- Process Statistics are collected per process.
- Queue Statistics are collected per main queue
- Resource Statistics are collected per resource
pool
As it may not be possible for the calling process to
hold the complete CSF Statistics Information in one
buffer, it is possible to call the procedure separately,
each call specifying a statistics type and a range
within the specified type. If specified FIRST is greater
than specified LAST empty output will be the result.
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) READ ̲CSF ̲STATISTICS
(STATISTICS ̲TYPE:
(PROCESS ̲STATISTICS,
QUEUE ̲STATISTICS,
RESOURCE ̲STATISTICS),
FIRST, First process,
queue or resource
LAST, Last process,
queue
or resource
COUNT: INTEGER
Number of words
in buffer.)
(STASTICS ̲OUTPUT: STATISTICS ̲OUTPUT
̲TYPE,
LAST, Updated to actual
LAST, if buffer
too small
COUNT: INTEGER,
Updated COUNT
CC: COMPLETION ̲CODE):
ERROR ̲OK;
The type of STATISTICS ̲OUTPUT depends on STATISTICS
̲TYPE.
b) MON(CSF,READ ̲CSF ̲STATISTICS,R0,R1,R2,R3,R4,R7):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 STATISTICS ̲TYPE (Kept)
R1 FIRST (Kept)
R2 LAST
R3 COUNT
R4 pointer to STATISTICS ̲OUTPUT (Kept)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R2 LAST
R3 COUNT
R7 CC (OK)
R5,R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲
Param address error
Array reference error
3.2.1.10 G̲e̲t̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲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 SUBPROCESS ̲ID of current subprocess is delivered
to caller. It can be called from CSF or SCM procedures
in CSF or SCM procedures in other packages than CSF.
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 ̲SUBPROCESS ()
(SUBPROCESS ̲ID : SUBPROCESS ̲INDEX)
: OK
b) GET ̲SUBPROCESS (R0, R6);
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 LINK (Destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 SUBPROCESS ̲ID
R1, R2, R3, R4, R5, R7 kept…86…1
…02… …02… …02… …02…
…02…
…02…
3 FIGURER
3.2.2 Q̲M̲O̲N̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Refer Figure 3.2.2-1.
The concepts used in functional description and parameter
types are explained in CPS/SDS/024 section 4.1.1.2.
On fig. 3.2.2-2 to 4, a register convention overview
is given.
FIGURE 3.2.2-1…01…QMON PACKAGE INTERFACES
3.2.2.1 R̲e̲c̲e̲i̲v̲e̲ ̲F̲i̲r̲s̲t̲ ̲Q̲E̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Receives the first QEL in a main queue or a subqueue.
If the parameter WAIT is true the call is not completed
until the specified Queue contains a QEL, if false
the function returns immediately if the queue is empty.
The caller may receive QELs with all profiles but if
the QEL profile exceeds subprocess profile a Profile
Check completion code is returned.
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) RECEIVE ̲FIRST ̲QEL
(WAIT: BOOLEAN,
QUEUE: QUEUE ̲REFERENCE)
(ATTRIBUTES: QEL ̲ATTRIBUTES,
QEL: QEL ̲REFERENCE,
SUBQUEUE: SUBQUEUE ̲INDEX,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, QMON ̲RECEIVE ̲FIRST: R6, R0,
R1,
R2, R3, R7): ERROR ̲OK
b2) COMON (CSYSCALL, QMON ̲RECEIVE ̲FIRST, 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 WAIT (destr)
R1 pointer to ATTRIBUTES (kept)
R3 pointer to QUEUE
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 QEL
R3 SUBQUEUE
R7 CC (OK, PROFILE ̲CHECK, QUEUE ̲EMPTY,
CANCELLED)
R4, R5, R6 Destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
QEL claims exceeded
WAIT not allowed on QUEUE
No receive capability
QMON call error
PARAM address error
3.2.2.2 R̲e̲c̲e̲i̲v̲e̲ ̲N̲e̲x̲t̲ ̲Q̲E̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Receives the QEL next to one specifed as input. The
specified QEL must be owned by calling subprocess.
The caller may receive QELs with all profiles but if
the QEL profile exceeds subprocess profile a Profile
Check completion code is returned. The function only
works on the subqueue containing the QEL.
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) RECEIVE ̲NEXT ̲QEL (QEL: QEL ̲REFERENCE)
(QEL: QEL ̲REFERENCE,
ATTRIBUTES: QEL ̲ATTRIBUTES,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲RECEIVE ̲NEXT ̲QEL, R1, R2, 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̲
R1 pointer to ATTRIBUTES (kept)
R2 QEL
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 QEL
R7 CC (OK, QEL ̲PROFILE ̲CHECK,
SUBQUEUE ̲EMPTY)
R0, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL reference error
QEL claim exceeded
PARAM Address error
3.2.2.3 R̲e̲t̲u̲r̲n̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Returns the specified QEL at the same place in the
same queue from which it was received.
The QEL must be owned by calling subprocess.
If the QEL references a View, it must be "closed" before
use of return.
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) RETURN (QEL: QEL ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲RETURN, R2, 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̲
R2 QEL (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL reference error
View not closed
3.2.2.4 D̲i̲s̲m̲a̲n̲t̲l̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A QEL owned by calling subprocess is returned to the
list of free QELs. A QEL referencing a view or a buffer
cannot be dismantled by QMON, but must be dismantled
by calling the appropriate function of the server of
the object referenced, respectively DISMANTLE ̲VIEW
and DISMANTLE ̲BUFFER.
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) DISMANTLE (QEL: QEL ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲DISMANTLE, R2, 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̲
R2 QEL (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R3, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL reference error
Object type error
3.2.2.5 S̲e̲n̲d̲ ̲Q̲E̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Sends a QEL to destination subqueue. If a reference
to a QEL owned by caller is specified a copy of this
is sent. If instead a NIL reference is specified a
new QEL is generated and sent. In both cases the fields
CHECKPOINT ̲STATUS, APPLICATION ̲PROFILE, and INFORMATION
are taken from the parameter PARAMS.
A QEL can only be sent to a queue, if Access Profile
of QEL is contained in that of the queue. If this check
is not passed, a profile mask is returned to caller,
specifying the profile fields which are too high.
A QEL may not be sent to a blocked queue.
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) SEND ̲QEL (PARAMS: SEND ̲PARAMS,
QEL: QEL ̲REFERENCE,
QUEUE: QUEUE ̲REFERENCE)
(PARAMS: SEND ̲PARAMS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF,QMON ̲SEND ̲QEL, R1, R2, R3, 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̲
R1 pointer to PARAMS (kept)
R2 QEL (destr)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, QEL ̲PROFILE ̲CHECK,
BLOCKED ̲QUEUE)
R0, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL reference error
Queue reference error
PARAM address error
No capability
3.2.2.6 S̲e̲n̲d̲ ̲R̲e̲q̲u̲e̲s̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
As for SEND ̲QEL apart from an additional parameter
answer-queue which is used where another module performs
SEND ̲REPLY function to send an answer to the requesting
module. The caller must have receive capability to
this answer queue.
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) SEND ̲REQUEST (PARAMS: SEND ̲PARAMS,
QEL: QEL ̲REFERENCE,
QUEUE: QUEUE ̲REFERENCE,
ANSW ̲QUEUE: QUEUE ̲REFERENCE)
(PARAMS: SEND ̲PARAMS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲SEND ̲REQUEST, 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̲s̲
R1 pointer to PARAMS (kept)
R2 QEL (destr)
R3 pointer to QUEUE (destr)
R4 pointer to ANSW ̲QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC: (OK, QEL ̲PROFILE ̲CHECK,
BLOCKED ̲QUEUE)
R0, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL reference error
Queue reference error
No capability
No capability to answer queue
PARAM Address Error
3.2.2.7 S̲e̲n̲d̲ ̲R̲e̲p̲l̲y̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Sends a QEL to destination queue. The destination queue
is specified by means of a QEL which has been sent
as a function request and which is owned by caller.
If a reference to a QEL owned by caller is specified
a copy of this is sent. If instead a NIL reference
is specified a new QEL is generated and sent.
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) SEND ̲REPLY (PARAMS: SEND ̲PARAMS,
QEL: QEL ̲REFERENCE,
DEST ̲QEL: QEL ̲REFERENCE)
(PARAMS: SEND ̲PARAMS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲SEND ̲REPLY, R1, R2, R3, 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̲
R1 pointer to PARAMS (kept)
R2 QEL (destr)
R3 DEST ̲QEL (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, QEL ̲PROFILE ̲CHECK,
BLOCKED ̲QUEUE)
R0, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
QEL reference error
QEL not function request
Param address error
3.2.2.8 S̲e̲t̲ ̲P̲r̲o̲f̲i̲l̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The profile of a main queue is set. The queue must
be empty.
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) SET ̲PROFILE (PROFILE: ACCESS ̲PROFILE,
QUEUE: QUEUE ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲SET ̲PROFILE, R0, R1, R3, 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 PROFILE.LEAST (destr)
R1 PROFILE.MOST (destr)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R2, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
No capability
Param address error
Queue not empty
3.2.2.9 B̲l̲o̲c̲k̲ ̲Q̲u̲e̲u̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Blocks the specified queue. If it is a main queue all
subqueues are blocked.
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) BLOCK ̲QUEUE (QUEUE: QUEUE ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲BLOCK ̲QUEUE, R3, 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̲
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R2, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
No capability
Param address error
3.2.2.10 U̲n̲b̲l̲o̲c̲k̲ ̲Q̲u̲e̲u̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Cancels a previous blocking. If a main queue is specified,
all subqueues are unblocked.
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) UNBLOCK ̲QUEUE (QUEUE: QUEUE ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲UNBLOCK ̲QUEUE, R3, 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̲q̲i̲s̲t̲e̲r̲s̲
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC OK
R0, R1, R2, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
No capability
Param address error
3.2.2.11 S̲e̲t̲ ̲C̲a̲p̲a̲b̲i̲l̲i̲t̲y̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The capability specified by capability index is changed
in the capability array of the specified subprocess.
The capability index decides whether queue index should
be interpreted as a MAIN ̲QUEUE ̲INDEX or a
QUEUE ̲GROUP ̲INDEX The function is privileged.
If the specified function is equal (-1) the function
mask at specified capability is left unchanged.
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) SET ̲CAPABILITY (FUNCTION: CAP ̲FUNCTIONS,
SUBPROCESS ̲ID: SUBPROCESS ̲INDEX,
QUEUE ̲INDEX: MAIN ̲QUEUE ̲INDEX
/QUEUE ̲GROUP
̲INDEX,
CAP ̲INDEX: CAPABILITY ̲INDEX)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲SET ̲CAPABILITY, R0, R1, R2, R3, 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 FUNCTION (destr)
R1 SUBPROCESS ̲ID (destr)
R2 QUEUE ̲INDEX (destr)
R3 CAP ̲INDEX (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R4, R5, R6 kept.
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Privilege error
Capability index error
Queue or Queue group index error
Subprocess reference error
3.2.2.12 G̲e̲t̲ ̲Q̲u̲e̲u̲e̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The attributes of a queue are read from queue description
and delivered to caller.
The attributes of a subqueue are composed of the profile
and threshold of the Main Queue and the length of the
Subqueue.
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) GET ̲QUEUE ̲ATTRIBUTES
(ATTRIBUTES: QUEUE ̲ATTRIBUTES,
QUEUE: QUEUE ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲GET ̲QUEUE ̲ATTRIBUTES, R1, R3, 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̲
R1 pointer to ATTRIBUTES (kept)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R2, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
Param address error
3.2.2.13 G̲e̲t̲ ̲Q̲u̲e̲u̲e̲ ̲L̲e̲n̲g̲t̲h̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Counts the number of QELs in a Queue fulfilling a specified
Profile condition.
A QEL is included if its Profile is not contained in
the specified Profile.
If a Main Queue is specified, all subqueues are included.
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) GET ̲QUEUE ̲LENGTH (PROFILE: ACCESS ̲PROFILE,
QUEUE: QUEUE ̲REFERENCE)
(LENGTH: QUEUE ̲LENGTH,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲GET ̲QUEUE ̲LENGTH, R0, R1, R2, R3,
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 PROFILE.LEAST (destr)
R1 PROFILE.MOST (destr)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 LENGTH
R7 CC (OK)
R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
Param address error
3.2.2.14 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲Q̲u̲e̲u̲e̲s̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The QMON data area is initiated. 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) INITIALIZE ̲QUEUES
(INIT ̲DATA: INIT ̲QUEUES ̲DATA)
(CC: COMPLETION ̲CODE):
ERROR
̲OK
b) MON (CSF, QMON ̲INITIALIZE ̲QUEUES, R1, 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̲
R1 pointer to INIT ̲DATA (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 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Privilege error
Param address error
3.2.2.15 S̲e̲t̲ ̲Q̲u̲e̲u̲e̲ ̲T̲h̲r̲e̲s̲h̲o̲l̲d̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The threshold values of a specified main queue are
changed.
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) SET ̲QUEUE ̲THRESHOLD
(THRESHOLD: QUEUE ̲THRESHOLD,
QUEUE: QUEUE ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, QMON ̲SET ̲QUEUE ̲THRESHOLD, R0, R1, R3,
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 THRESHOLD.ENABLE (destr)
R1 THRESHOLD.WARNING (destr)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, ACCEPTED ̲WITH ̲WARNING
NOT ̲ACCEPTED)
R2, R4, R5, R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
No capability
Param address error
4 FIGURES
3.2.3 T̲i̲m̲e̲r̲ ̲M̲o̲n̲i̲t̲o̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Timer Monitor supports
- Timer Driven Events (Timeouts)
- Set Time
- Read Time
- Time Conversion
There exist three different Timeout types:
a) Single timeout coming at specified
- Absolute Time (Hour and Minute of Day)
- Hours from Now (INTEGER)
- Minutes from Now (INTEGER)
- Seconds from Now (INTEGER)
b) Periodic timeout coming with specified period.
The period is specified as a number of
- Hours (1..12)
- Minutes (1..720)
- Seconds (1..43200)
c) Modulus timeout coming each time, current time
is a whole multiple of the specified period. This
function quarantees that the timeouts per hour
are constant, even if time is set to a new value.
Period is specified as a number of
- Hours (1..12)
- Minutes (1..720)
- Seconds (1..43200)
By requesting or cancelling a timeout all input parameters
are put into a REQUEST ̲TIME record.
The fields in this record are used as follows:
QUEUE is queue reference to answer queue where
Time Request arrives later on.
TIMEOUT specifies what type the request is
FORMAT specifies the time format used as input.
Note that these formats are only used as
input to Request Timeout and are not supported
by conversion or read.
TIME specifies the absolute time or the period
for timeout.
EVENT ̲ID is an Identification used by caller to
recognize the timeout when it arrives to
the specified queue. This EVENT ̲ID must
be unique for timeouts sent to the same
queue.
Figure 3.2.3-1 and 2 show an interface overview.
3.2.3.1 R̲e̲q̲u̲e̲s̲t̲ ̲T̲i̲m̲e̲o̲u̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A timeout is requested. If caller has receive capability
to answer queue an OK completion code is returned.
After an OK completion at least one queue element referencing
this Timeout will arrive in answer queue. (cf. 3.2.3.3)
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) REQUEST ̲TIMEOUT (PARAMETER: REQUEST ̲TIME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, REQUEST ̲TIMEOUT, R2, 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̲
R2 pointer to PARAMETER (kept)
R7 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R3 - R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue Reference Error
Param address error
No receive capability
3.2.3.2 C̲a̲n̲c̲e̲l̲ ̲T̲i̲m̲e̲o̲u̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A previous requested Timeout is cancelled. The input
parameters to this function are queue ID of answer
queue and EVENT ̲ID. These two parameters must be the
same as used when the request was made. If caller has
receive capability to answer queue an OK completion
code is returned. After an OK completion a queue element
telling that request is cancelled will arrive in answer
queue.
Note that the Timeout perhaps is sent already so it
will arrive in answer queue before the cancel answer.
For information in queue element see 3.2.3.3
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 ̲TIMEOUT (PARAMETER: REQUEST ̲TIME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) MON (CSF, CANCEL ̲TIMEOUT, R2, 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̲
R2 pointer to PARAMETER (kept)
R7 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R3-R6 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue Reference Error
Param address error
No capability
3.2.3.3 T̲i̲m̲e̲o̲u̲t̲ ̲Q̲u̲e̲u̲e̲ ̲E̲l̲e̲m̲e̲n̲t̲
As described in 3.2.1-2 a Request Timeout or a Cancel
Timeout function will result in at least one queue
element sent to answer queue. This queue element will
have the attributes:
- OBJECT ̲TYPE: TIME ̲OUT
- MAINTYPE: TIME ̲OUT
- FLAGS: EVENT ̲ID
- SUB ̲TYPE: (TIMEOUT ̲EVENT,
CLAIM ̲EXCEEDED,
PARAMETER ̲ERROR,
TIMEOUT ̲CANCELLED)
TIMEOUT ̲EVENT tells that Timeout has occurred.
CLAIM ̲EXCEEDED tells that calling subprocess cannot
request further Timeouts.
PARAMETER ̲ERROR tells that the input parameters were
inconsistent.
TIMEOUT ̲CANCELLED tells that the Timeout has been cancelled.
3.2.3.4 S̲e̲t̲ ̲T̲i̲m̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The time in RTC Module is set to specified value.
The time format must be SYSTEM ̲TIME. This 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) SET ̲TIME (TIME: SYSTEM ̲TIME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b) SET ̲TIME (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̲
R2 pointer to TIME (kept)
R6 LINK (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, ILLEGAL ̲TIME)
R0, R1, R3, R4, R5 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Privilege error
3.2.3.5 R̲e̲a̲d̲ ̲T̲i̲m̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Current time is delivered to caller.
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) READ ̲TIME (FORMAT: TIME ̲FORMAT ̲TYPE)
(TIME: TIME ̲TYPE/
DTG ̲TYPE/
SYSTEM ̲TIME/
JULIAN ̲DATE ̲TYPE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) READ ̲TIME (FORMAT, 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̲
R3 pointer to TIME (kept)
R6 LINK (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0-R2, R4, R5 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Illegal format Type
3.2.3.6 C̲o̲n̲v̲e̲r̲t̲ ̲T̲i̲m̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TIME ̲TYPE is converted to one of the other three formats
or one of these three formats is converted to TIME
̲TYPE. For conversion types cf. DBD section 4.
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) CONVERT ̲TIME (CONVERSION: TIME ̲CONVER-
SION ̲TYPE,
IN ̲TIME: TIME ̲TYPE/
DTG ̲TYPE/
SYSTEM ̲TIME/
JULIAN ̲DATE ̲TYPE)
(OUT ̲TIME: TIME ̲TYPE/
DTG ̲TYPE/
SYSTEM ̲TIME/
JULIAN ̲DATE ̲TYPE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b) CONVERT ̲TIME (CONVERSION, 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̲
R2 pointer to IN ̲TIME (kept)
R3 pointer to OUT ̲TIME (kept)
R6 LINK (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, ILLEGAL ̲TIME)
R0, R1, R4, R5 kept
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Illegal conversion type
Figure 3.2.3-1
3.2.4 M̲e̲s̲s̲a̲g̲e̲ ̲M̲o̲n̲i̲t̲o̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The general environment for Message Monitor is shown
in figures 3.2.4-1 and 3.2.4-2. Message Monitor is
an interface module between application processes and
Message Management System. In a few cases the Parent
Process is involved in security procedures.
Message Monitor and Message Management System together
form a Service System in the sense described in CPS/SDS/024,
section 2.2.1.6. The interface between MMS and MMON
is described in 3.2.7.
All Message Monitor functions available to application
processes are called via System Call Monitor as described
in section 3.2.6. All functions may be called as Init-Wait
functions.
The Data Types used in Package Interface Specifications
are defined in DBD section 4.
An overview of the registers used in the functions
is given on fig. 3.2.4-10 through 15.
RSE: Message Management System Synchronization Element
PSE: Parent Synchronization Element
ASE: MMON Answer Synchronization Element
A: Request to MMS. Refer 3.2.7
B: Answer from MMS. Refer 3.2.7
C: Open Notification to Parent. Refer 3.2.4.3.1
D: Answer from Parent. Refer 3.2.4.3.2
FIGURE 3.2.4-1…01…MESSAGE MONITOR PROCESS ENVIRONMENT
FIGURE 3.2.4-2…01…MESSAGE MONITOR PROCESS ENVIRONMENT (CONT.)
FIGURE 3.2.4-3…01…MMON PACKAGE INTERFACES
FIGURE 3.2.4-4…01…MMON PACKAGE INTERFACES (CONT)
G̲e̲n̲e̲r̲a̲l̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲
Message Monitor is the interface between application
processes and Message Management System. As such it
controls all access to and all manipulation of items
stored by MESSAGE Management System. Queue Monitor
and Message Monitor in cooperation form centralized
access control system for stored items. The mechanisms
are briefly described in the following:
a) A̲c̲c̲e̲s̲s̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲t̲o̲ ̲V̲i̲e̲w̲s̲
Control of access to views is based on the principle
that the only legal reference that an application
process can have to a view is a queue element which
the process has received from a queue, and which
references the view. In the parameter descriptions
for Message Monitor functions the term "View Reference"
always denotes a "Queue Element Reference".
Whenever a view reference occurs as input parameter
to a function, the following check is performed:
- The object type of the queue element must be
"view".
- The calling subprocess must be owner of the
queue element.
For field I/O functions two additional checks are
performed.
- The "open flag" in the queue element must be
set.
- The profile of the receiving subprocess shall
contain the profile of the view.
A number of Message Monitor functions requires
special privileges for the calling process in order
to be legal. Each process has a Message Monitor
Capability Set describing the set of functions,
which the process is allowed to call.
b) V̲i̲e̲w̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲
VIEW ̲ATTRIBUTES are used in the following commands:
- CREATE ̲CIF,
- CREATE ̲NEW ̲CIF ̲VERSION
- CREATE ̲VIEW
- GET ̲VIEW ̲ATTRIBUTES
- LOOKUP
- RETRIEVE
- MAKE ̲CIF ̲PERMANENT
- COPY ̲FIELDS
FIELD ̲INFORMATION which correspond to last part
of VIEW ̲ATTRIBUTES is used by CREATE ̲FIELDS.
VIEW ̲ATTRIBUTES always has the format shown on
figure 3.2.4-8.
In the following the use of ATTRIBUTES in these
commands is described:
P̲R̲O̲F̲I̲L̲E̲:̲
Contains the profile of the CIF. The application
̲part of the profile is always zero.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
- CREATE ̲CIF
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:
- All
N̲A̲M̲E̲:̲
NAME contains CIF ̲ID and VIEW ̲ID of referenced
view. CIF ̲ID is undefined if the CIF is not permanent.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
- LOOKUP output from previous LOCK
- RETRIEVE output from previous RETRIEVE
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
- In CREATE ̲CIF NAME. CIF ̲REFERENCE ̲NUMBER is
updated if at least one field group is declared
as permanent. Version is set to one.
R̲E̲T̲R̲I̲E̲V̲E̲ ̲S̲T̲A̲T̲U̲S̲:̲
Indicates if the view references a retrieved CIF
or not.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
None
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
R̲E̲C̲O̲V̲E̲R̲Y̲ ̲I̲N̲F̲:̲
Indicates that the CIF has been recovered (possible
duplicate)
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
None
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲:̲
Indicates if the field is referenced or not.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
- CREATE ̲CIF
The fieldgroups must be specified without "holes",
i.e. when the first not referenced field is
met, the rest is skipped.
- CREATE ̲VIEW
the new view can only reference a subset of
the fieldgroups referenced by predecessor
- CREATE ̲FIELDS
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
W̲R̲I̲T̲E̲ ̲A̲C̲C̲E̲S̲S̲:̲
Specifies the access rights of the view
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
- CREATE ̲VIEW
Write access can only be obtained if the predecessor
view has write access
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
In CREATE ̲CIF and CREATE ̲NEW ̲CIF ̲VERSION the created
view will have read and write access to all fields.
P̲E̲R̲M̲A̲N̲E̲N̲T̲:̲
Indicates if the field is permanent or not.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
- CREATE ̲CIF
- MAKE ̲CIF ̲PERMANENT
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
A̲L̲L̲O̲C̲A̲T̲E̲D̲ ̲L̲E̲N̲G̲T̲H̲:̲
Specifies the number of bytes allocated for the
field.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
- CREATE ̲CIF
- CREATE ̲NEW ̲CIF ̲VERSION
In these two commands a specified non-zero
value will be used to allocate initial disk
space for the field.
- CREATE ̲VIEW
- CREATE ̲FIELDS
If specified, in these commands that a new
field shall be added to the field group, ALLOCATED
̲LENGTH may specify that space shall be allocated
for the field
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
U̲S̲E̲D̲ ̲L̲E̲N̲G̲T̲H̲:̲
Specifies the number of bytes which have been written
to the field.
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
None
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
In CREATE ̲CIF and CREATE ̲NEW ̲CIF ̲VERSION ̲USED ̲LENGTH
of each field is set to zero.
F̲I̲E̲L̲D̲ ̲S̲T̲A̲T̲U̲S̲:̲
Specify the states as follows:
0: Not existing
1: Field included from predecessor view
2: New field created
I̲n̲p̲u̲t̲ ̲t̲o̲:̲
CREATE ̲CIF
CREATE ̲NEW ̲CIF ̲VERSION
CREATE ̲VIEW
CREATE ̲FIELDS
In CREATE ̲CIF and CREATE ̲NEW ̲CIF ̲VERSION, FIELD
̲STATUS specifies if a field already shall be
created for the view. If specified subsequent
calls of CREATE ̲FIELDS may be avoided.
In CREATE ̲FIELDS FIELD ̲STATUS specifies whether
the field shall be included from predecessor
view or a new field shall be added to the field
group.
O̲u̲t̲p̲u̲t̲ ̲f̲r̲o̲m̲:̲
All
An overview of ATTRIBUTES used as input parameter
is given in figure 3.2.4-9.
FIGURE 3.2.4-5
FIGURE 3.2.4-6
3.2.4.1 C̲r̲e̲a̲t̲e̲ ̲C̲I̲F̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
A CIF will be created with the specified attributes.
A view referencing the CIF and an active Handle for
this view will be generated too. A QEL referencing
the view is generated. The QEL belongs to specified
queue. The caller must have Receive capability to that
queue. The specified profile must be contained in the
profile of the Queue. The view will reference all fieldgroups
of the CIF and have Read and Write access to all fields.
View attributes will be updated according to the generated
view and returned. Refer to 3.2.4 b).
FIELD ̲STATUS may for each field be specified as one
of the values:
- Not Existing: Then no resources are allocated
to the Field. This should
be used if the field shall
not be accessed right away.
The Field may then be created
later on by Create Fields or
by a subsequent View of the
CIF.
- New Field Created: Memory resources in MMS are
allocated to the field, and
preallocation may take place
if so specified by a non-zero
ALLOCATED LENGTH.
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) CREATE ̲CIF (ATTRIBUTES: VIEW ̲ATTRIBUTES,
QUEUE: QUEUE ̲REFERENCE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
VIEW: VIEW ̲REFERENCE,
CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, MMON ̲CREATE ̲CIF: R6, R1, R2,
R3, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲CREATE ̲CIF, 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̲
R1 pointer to ATTRIBUTES (kept)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 VIEW
R7 CC (OK, BLOCKED ̲QUEUE,PROFILE
̲CHECK)
R0, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue reference error
No capability
Param address error
QEL claims exceeded
3.2.4.2 C̲r̲e̲a̲t̲e̲ ̲N̲e̲w̲ ̲C̲I̲F̲ ̲V̲e̲r̲s̲i̲o̲n̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A new CIF will be generated. A view referencing this
CIF and a Handle for this view will be generated too.
A QEL referencing the view is generated. The QEL belongs
to specified queue. The caller must have Receive capability
to that queue. The specified profile must be contained
in the profile of the Queue. The input view will reference
the latest version of the CIF and this CIF must be
permanent. After completion the updated ATTRIBUTES
is returned. Refer to 3.2.4 b).
Regarding FIELD ̲STATUS, refer to CREATE ̲CIF
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) CREATE ̲NEW ̲CIF ̲VERSION
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
VIEW: WIEW ̲REFERENCE,
QUEUE: QUEUE ̲REFERENCE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
NEW ̲VIEW: VIEW ̲REFERENCE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) CMON (SCM, SYSCALL, MMON ̲CREATE ̲NEW ̲CIF ̲VERSION:
R6,R1,
R2, R3, R7):
ERROR ̲OK
b2) CMON (CSYSCALL, MMON ̲CREATE ̲NEW ̲CIF ̲VERSION, 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̲
R1 pointer to ATTRIBUTES (kept)
R2 VIEW
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 NEW ̲VIEW
R7 CC (OK, BLOCKED ̲QUEUE, PROFILE ̲CHECK)
R0, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
QEL claims exceeded
No capability
Param address error
Queue reference error
CIF not latest version
CIF not permanent
View reference error
3.2.4.3 C̲r̲e̲a̲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̲
A new View and a Handle for this view are generated.
A QEL referencing the view is generated. The QEL belongs
to specified queue. The caller must have Receive capability
to that queue. The profile of the specified View must
be contained in the profile of the Queue. In ATTRIBUTES
some fields must be specified by caller. Refer to 3.2.4
b).
C̲R̲E̲A̲T̲E̲ ̲V̲I̲E̲W̲
REFERENCED may for each Field be specified to TRUE
or FALSE. Only Fields referenced by Predecessor View
can be referenced to the new View. For those Fields
with REFERENCED = TRUE, FIELD ̲STATUS may be specified
to:
- Not Existing: This has the same meaning as
in CREATE CIF
- Field Included from Predecessor View:
This is only allowed, if a Field
in this group has been created
by one of the predecessor views.
- New Field Created:
This has the same meaning as
for CREATE ̲CIF
After completion ATTRIBUTES are updated and these and
a VIEW ̲REFERENCE are returned.
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) CREATE ̲VIEW (ATTRIBUTES: VIEW ̲ATTRIBUTES,
VIEW: VIEW ̲REFERENCE,
QUEUE: QUEUE ̲REFERENCE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
NEW ̲VIEW: VIEW ̲REFERENCE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲CREATE ̲VIEW: R6, R1, R2,
R3, R7): ERROR
̲OK
b2) COMON (CSYSCALL, MMON ̲CREATE ̲VIEW, 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̲
R1 pointer to ATTRIBUTES (kept)
R2 VIEW
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 NEW ̲VIEW
R7 CC (OK, BLOCKED ̲QUEUE,PROFILE ̲CHECK)
R0, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
No capability
Queue Reference Error
Param address error
QEL claims exceeded
Missing parameters
Params discrepancy
View reference error
3.2.4.4 C̲r̲e̲a̲t̲e̲ ̲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 command specifies the fields for a previously created
view. After completion the updated FIELD ̲INF will contain
the complete field information for the view. The command
may be called several times for the same view, but
each field group may only be specified once. Note that
inclusion of a field from predecessor view requires
that it still exists.
REFERENCED may for each Field be specified to TRUE,
only if the field is referenced by the View and is
Not Existing. For each field with REFERENCED = TRUE,
the FIELD ̲STATUS may be specified to "Field Included
from Predecessor View" or "New Field Created", with
same meaning as for CREATE VIEW.
I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
a) CREATE ̲FIELDS (FIELD ̲INF: FIELD ̲INFORMATION,
VIEW: VIEW ̲REFERENCE)
(FIELD ̲INF: FIELD ̲INFORMATION,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲CREATE ̲FIELDS: R6, R1,
R2,
R7): ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲CREATE ̲FIELDS, 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 FIELD ̲INF (kept)
R2 VIEW (destr)
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
Missing parameters
View reference error
Predecessor view does not exist
3.2.4.5 G̲e̲t̲ ̲V̲i̲e̲w̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲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̲
The view attributes for the referenced view are delivered
to caller. Refer to 3.2.4 b.
I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
a) GET ̲VIEW ̲ATTRIBUTES
(VIEW: VIEW ̲REFERENCE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲GET ̲VIEW ̲ATTRIBUTES: R6,
R1, R2, R7): ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲GET ̲VIEW ̲ATTRIBUTES, 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 (destr)
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̲
Params address error
View reference error
3.2.4.6 S̲t̲o̲p̲ ̲C̲I̲F̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Stops all active versions of a CIF. Future OPEN calls
for views of the CIFs will be rejected, thus preventing
future transmissions from being initiated.
A passive CIF version cannot be stopped. It can, however,
be made active by the LOOKUP command and can then be
stopped. The function is priveleged. The command generates
a checkpoint.
The function is only allowed on CIFs which have been
checkpointed.
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) STOP ̲CIF (CIF: CIF ̲REFERENCE
̲NUMBER)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲STOP ̲CIF: R6, R2, R7):
ERROR ̲OK
b2) COMON (CSYSCAL,MMON ̲STOP ̲CIF, 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̲
R2 pointer to CIF (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R7 CC (OK, NOT ̲ACTIVE ̲CIF)
R0, R1, R3, R4, R5, R6 destroyed.
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Privilege Error
VIEW ̲NOT ̲SAVED
3.2.4.7 L̲o̲c̲k̲ ̲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̲
Creates a Passive Handle to the specified View. This
Handle enables a subsequent use of the Lookup function.
The handle will keep the CIF in Short Term Storage,
even when all QELs referencing it has been dismantled.
In order to remove the Handle, thus enabling removal
of the CIF from Short Term Storage, the Unlock function
must be called.
The procedure generates a checkpoint. The function
is privileged.
The function is only allowed on Views which have been
checkpointed.
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) LOCK ̲VIEW (VIEW: VIEW ̲REFERENCE)
(NAME: VIEW ̲NAME,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲LOCK ̲VIEW: R6, R1, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲LOCK ̲VIEW, 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 NAME (kept)
R2 VIEW (destr)
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̲
View Reference Error
Param Address Error
Privilege error
View ̲not ̲saved
3.2.4.8 U̲n̲l̲o̲c̲k̲ ̲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̲
Removes a passive Handle previously created by Lock
View.
Output parameter COUNT gives the remaining number of
passive handles for the specified View.
The function is only allowed on an active CIF.
The function is privileged.
The function is only allowed on CIFs which have been
checkpointed.
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) UNLOCK ̲VIEW (VIEW: VIEW ̲REFERENCE)
(COUNT: INTEGER,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲UNLOCK ̲VIEW: R6, R0, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲UNLOCK ̲VIEW, R2, 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̲
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 COUNT
R7 CC (OK, NO ̲MATCHING ̲LOCK)
R3, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
View Reference Error
Privilege error
View not saved
3.2.4.9 L̲o̲o̲k̲u̲p̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Creates an Active Handle for the specified View and
returns a View Reference in the form of a QEL. This
QEL will belong to the specified Queue. The caller
must have RECEIVE capability to this Queue. The parameter
NAME is the one obtained from Lock View. If the CIF
was passive, it will be made active. 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) LOOKUP (ATTRIBUTES: VIEW ̲ATTRIBUTES,
QUEUE: QUEUE ̲REFERENCE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
VIEW: VIEW ̲REFERENCE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲LOOKUP: R6, R1, R2, R3,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲LOOKUP, 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̲
R1 pointer to ATTRIBUTES (kept)
R3 pointer to QUEUE (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 VIEW
R7 CC (OK, BLOCKED ̲QUEUE, UNKNOWN ̲VIEW
̲NAME,
PROFILE ̲CHECK, NO ̲MATCHING ̲LOCK)
R0, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Queue Reference Error
No capability
QEL Claims Exceeded
Privilege error
Param Address Error
3.2.4.10 C̲h̲a̲n̲g̲e̲ ̲P̲r̲o̲f̲i̲l̲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 profile of a CIF is changed as specified.
It is always allowed to decrease the profile. An increase
of the profile is however, only allowed if the following
conditions are fulfilled:
a) For any QEL referencing a view of the CIF, the
new profile must be contained in the profile of
the corresponding queue.
b) For any QEL referencing a view of the CIF, and
owned by same subprocess, the area profile must
be contained in the profile of that Subprocess.
If either of the conditions is not fulfilled, a PROFILE
̲CHECK completion code is returned.
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) CHANGE ̲PROFILE (PROFILE:…02…ACCESS ̲PROFILE,
VIEW:…02…VIEW ̲REFERENCE,
(CC:…02…COMPLETION ̲ CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲CHANGE ̲PROFILE: R6, R0,
R1, R2,
R7): ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲CHANGE ̲PROFILE, R0, 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̲
R0 PROFILE.LEAST (destr)
R1 PROFILE.MOST (destr)
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, PROFILE ̲CHECK)
R3, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
View Reference Error
3.2.4.11 O̲p̲e̲n̲ ̲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̲
Makes a view available for I/O operations. First it
is checked if the CIF has been stopped, then the QEL
profile is compared with the subprocess profile. Moreover,
it is checked if a security procedure should be invoked.
Invokation is based on the following:
- If the subprocess is of VDU type, the function
will compare the view profile with the system profiles
SECURITY ̲WARNING and SECURITY ̲INTERROGATION. The
comparison uses the following algorithm:
Check if security calssification of system profile
is lower than or equal to that of the view profile
or fi any bits in the rest of system profile occur
in view profile.
If any of the conditions are fulfilled the comparison
is failued.
- If either of the system profiles fails the compariso,
the function sends an open notification to the
parent and awaits answer telling if the open request
shall be accepted or not. The answer is returned
to caller. If OK the referencing QEL is marked
as opened.
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) OPEN ̲VIEW (VIEW: VIEW ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM,SYSCALL,MMON ̲OPEN ̲VIEW: R6,R2,R7): ERROR
̲OK
b2) COMON (CSYSCALL,MMON ̲OPEN ̲VIEW: 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̲
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, STOPPED, PROFILE ̲CHECK,
OPEN ̲NOT ̲ACCEPTED)
R0, R1, R3, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
View Reference Error
View already open
3.2.4.12 C̲l̲o̲s̲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̲
Close a view on which a previous OPEN ̲VIEW has been
performed. The referencing QEL is marked as closed.
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) CLOSE ̲VIEW (VIEW: VIEW ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM,SYSCALL,MMON ̲CLOSE ̲VIEW: R6,R2,R7): ERROR
̲OK
b2) COMON (CSYSCALL,MMON ̲CLOSE ̲VIEW: 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̲
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R3, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
View Reference Error
View not open
3.2.4.13 D̲i̲s̲m̲a̲n̲t̲l̲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̲
The QEL referencing a view is dismantled. If the dismantled
QEL is the last one referencing the Handle, the Handle
is deleted and a checkpoint is generated.
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) DISMANTLE ̲VIEW (VIEW: VIEW ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲DISMANTLE ̲VIEW: R6, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲DISMANTLE ̲VIEW, R2, 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̲
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R0, R1, R3, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
View Reference Error
3.2.4.14 S̲a̲v̲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̲
Makes a checkpoint for the referenced CIF. If DISMANTLE
flag is TRUE the QEL is Deleted. The referenced View
will be marked as saved, and will be included in future
checkpoints for the CIF.
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) SAVE ̲VIEW (DISMANTLE: BOOLEAN,
VIEW: VIEW ̲REFERENCE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲SAVE ̲VIEW: R6, R0, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲SAVE ̲VIEW, R0, 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̲
R0 DISMANTLE (destr)
R2 VIEW (destr)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
R1, R3, R4, R5, R6 destroyed
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
View Reference Error
3.2.4.15 S̲t̲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̲
Request the referenced view to be stored. When the
command has been completed, the view is retrievable
from On-line storage by the returned NAME.
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) STORE ̲VIEW (VIEW: VIEW ̲REFERENCE)
(NAME: VIEW ̲NAME,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲STORE ̲VIEW: R6, R1, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲STORE ̲VIEW, 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 NAME (kept)
R2 VIEW (destr)
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̲
View Reference Error
Privilege function
Param address error
3.2.4.16 R̲e̲t̲r̲i̲e̲v̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Request retrieval of a view specified by NAME. The
parameter TYPE defines whether retrieval shall be done
from Online Disk or from a Long term Storage Volume.
In the latter case, dump file and dump segment shall
be specified. Otherwise the parameter PARAMS is not
used.
In ATTRIBUTES the following fields must be filled in
by caller.
- NAME.CIF ̲ID
- NAME.CIF ̲VERSION
- NAME.VIEW ̲ID
The complete attributes for the retrieved view are
returned, refer 3.2.4 b. 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) RETRIEVE (PARAMS: RETRIEVE ̲PARAMS,
ATTRIBUTES: VIEW ̲ATTRIBUTES,
QUEUE: QUEUE ̲REFERENCE,
TYPE: RETRIEVAL ̲TYPE)
(ATTRIBUTES: VIEW ̲ATTRIBUTES,
VIEW: VIEW ̲REFERENCE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, MMON ̲RETRIEVE: R6, R0, R1, R2,
R3,
R7): ERROR ̲OK
b2) COMON (CSYSCALL, MMON ̲RETRIEVE, 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 pointer to PARAMS (destr)
R1 pointer to ATTRIBUTES (kept)
R2 TYPE
R3 pointer to QUEUE (destr)