DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

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

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

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