COMSSSD 
COMMON
          CTEXT  COMSSSD - SUBSYSTEM DEFINITIONS. 
          SPACE  4,10 
          BASE   M
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4,10 
***       COMSSSD - SUBSYSTEM DEFINITIONS.
* 
*         R. M. DANISCH.     81/01/26.
*         R. C. SCHMITTER.   83/08/17.
          SPACE  4,10 
**        COMSSSD DEFINES SUBSYSTEM IDENTIFICATION NUMBERS FOR
*         ALL SUBSYSTEMS.  IN ADDITION, IF SYMBOL *SUB$* IS DEFINED 
*         BY THE CALLING PROGRAM, A MACRO CALL WILL BE ISSUED FOR 
*         EACH SUBSYSTEM.  THE CALLING PROGRAM MUST DEFINE THE
*         *SUBSYST* MACRO SUCH THAT IT GENERATES THE REQUIRED CODE. 
 SSID     SPACE  4,10 
***       SSID - DEFINE SUBSYSTEM ID. 
* 
*         SSID   ID,TAG 
* 
*         ENTRY  *ID* = SUBSYSTEM ID SYMBOL NAME. 
*                *TAG* = ALTERNATE SYMBOL NAME. 
  
  
          PURGMAC  SSID 
  
 SSID     MACRO  ID,TAG 
 .A       IFC    EQ,$ID$BEGIN$
 .1       SET    10000B 
 .D       SKIP
 .A       ELSE
 .B       IFC    NE,$ID$END$
 ID       EQU    .1 
 .B       ENDIF 
 .C       IFC    NE,$TAG$$
 TAG      EQU    .1 
 .C       ENDIF 
 .D       ENDIF 
 .1       SET    .1-1 
 SSID     ENDM
          SPACE  4,10 
**        DEFINE SUBSYSTEM IDENTIFICATION NUMBERS.
* 
*         TO ADD A NEW SUBSYSTEM ID, INSERT AN *SSID* MACRO CALL
*         WITH THE ID SYMBOL.  THE POSITION OF THE SUBSYSTEM IN THE 
*         TABLE DETERMINES ITS SUBSYSTEM ID; THEY ARE DEFINED IN
*         DESCENDING NUMERICAL ORDER.  A NEW SUBSYSTEM SHOULD 
*         ONLY BE ADDED AT THE END OF THE TABLE TO AVOID BINARY 
*         INCOMPATIBILITIES BETWEEN EXISTING ABSOLUTE BINARIES
*         AND *SCP* TYPE SUBSYSTEMS, SUCH AS *CDCS* AND *MCS*.
*         TWO SUBSYSTEMS ARE DEFINED AND RESERVED FOR INSTALLATION
*         USE.
  
  
          SSID   BEGIN
          SSID   DSSI        DEADSTART SEQUENCING 
          SSID   IFSI,MXSI   IAF
          SSID   RFSI        RHF
          SSID   I1SI        RESERVED FOR INSTALLATION
          SSID   I2SI        RESERVED FOR INSTALLATION
          SSID   TRSI        TAF
          SSID   MPSI        MAP III
          SSID   NMSI        NAM
          SSID   NVSI        NVE
          SSID   CDSI        CDCS 
          SSID   MCSI        MCS
          SSID   RDSI        RDF
          SSID   MFSI        MSS
          SSID   RBSI        RBF
          SSID   BISI        BATCHIO
          SSID   MTSI        MAGNET 
          SSID   STSI        STIMULATOR 
          SSID   MSSI        MSM
          SSID   SMSI        SMF
          SSID   SSSI        SSF
          SSID   ASSI        MSE
          SSID   TLSI        TLF
          SSID   NJSI        NJF
          SSID   PLSI        CYBIS
          SSID   ATSI        ATF
          SSID   END,LSSI    LOWEST SUBSYSTEM ID - 1
  
          ERRNG  LSSI-MXSI+60D  TOO MANY SUBSYSTEMS 
  
 FZSI     EQU    4           INHIBIT ROLLOUT (FROZEN JOB) 
 ORSI     EQU    3           ALLOW OPERATOR ROLLOUT (FOR *SSJ=* JOBS) 
 IRSI     EQU    1           INHIBIT ROLLOUT (USED BY *SSJ=* JOBS)
 UJSI     EQU    0           NON-SUBSYSTEM JOB (DEFAULT FOR USER JOBS)
          SPACE  4,10 
 .A       SET    MXSI-LSSI+4
 SSCTL    EQU    .A/5        LENGTH OF SSCT 
 SUB$     IF     DEF,SUB$ 
          SPACE  4,10 
**        DEFINE SUBSYSTEM ATTRIBUTES.
* 
*         THESE MACRO CALLS DEFINE THE ATTRIBUTES OF EACH SUBSYSTEM 
*         IN THE SYSTEM.  EACH DECK THAT REQUIRES A TABLE OF ONE OR 
*         MORE OF THESE ATTRIBUTES MUST DEFINE THE *SUBSYST* MACRO
*         APPROPRIATELY.  IN ORDER TO ADD A SUBSYSTEM, THE FOLLOWING
*         DECKS MUST BE CHANGED AND ALL DECKS CALLING THIS COMMON 
*         DECK (COMSSSD) MUST BE REASSEMBLED. 
* 
*         1. PPCOM - DOCUMENT THE BYTE POSITION IN THE *SSCT* AND 
*                    *SSAT* TABLES. 
*         2. COMSPRD - DEFINE A CPU PRIORITY FOR THE SUBSYSTEM. 
*         3. COMSSSD - DEFINE A SUBSYSTEM ID WITH THE *SSID* MACRO. 
*                      ADD A *SUBSYST* MACRO CALL WITH ALL ATTRIBUTES.
*         4. COMUCPD - ADD THE SUBSYSTEM NAME TO THE HEADER TABLE.
*         5. DSD - ADD A SYNTAX TABLE ENTRY FOR INITIATING THE
*                  SUBSYSTEM IN ALPHABETICAL ORDER IN THE SYNTAX TABLE
*                  OVERLAYS.
*         6. COMTNAP - IF THE NEW SUBSYSTEM IS A *NAM* APPLICATION, 
*                  ADD AN ENTRY TO THE *TNAV* TABLE.
*         7. COMSACC - IF THE NEW SUBSYSTEM IS A *NAM* APPLICATION, 
*                  DOCUMENT THE APPLICATION VALIDATION BIT. 
*         8. MODVAL - IF THE NEW SUBSYSTEM IS A *NAM* APPLICATION,
*                  DOCUMENT THE APPLICATION VALIDATION BIT. 
* 
*         THE FOLLOWING ATTRIBUTES ARE DEFINED BY THE *SUBSYST* MACRO 
*         CALLS.  THEY ARE DESCRIBED IN THE ORDER THEY APPEAR IN THE
*         CALL; EACH DECK MUST INSURE THAT ITS MACRO IS DEFINED WITH
*         THE PARAMETERS DEFINED IN THE SAME ORDER.  THE *SUBSYST*
*         MACRO IS CALLED AS FOLLOWS -
* 
*         SUBSYST  NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT,CPU 
* 
* 
*         NAME - SUBSYSTEM NAME (THREE CHARACTERS). 
*         ID   - SUBSYSTEM ID (AS DEFINED BY THE *SSID* MACRO ABOVE). 
*         PR   - CPU PRIORITY (AS DEFINED IN *COMSPRD*).
*         PP   - WHETHER OR NOT THE SUBSYSTEM IS PP INITIATED.  IF SO,
*                THE PP NAME IS USED AS THE PARAMETER VALUE.  IF NOT, A 
*                NULL VALUE IS USED.
*         AUTO - WHETHER OR NOT THE SUBSYSTEM IS INITIATED BY THE AUTO
*                OPERATOR COMMAND (IF ENABLED IN *SSSL*).  IF SO, THE 
*                VALUE *AUTO* IS USED.  IF NOT, A NULL VALUE IS USED. 
*         DEF  - WHETHER OR NOT THE SUBSYSTEM IS ENABLED BY DEFAULT.
*                IF SO, A VALUE OF *ENABLE* IS USED.  OTHERWISE A NULL
*                VALUE IS USED. 
*         DCP  - WHETHER OR NOT A DEFAULT CONTROL POINT NUMBER IS 
*                DEFINED AT WHICH TO INITIATE THE SUBSYSTEM (IF NONE
*                IS SUPPLIED BY AN IPRDECK *ENABLE/DISABLE* ENTRY OR
*                OPERATOR *ENABLE/DISABLE* ENTRY FROM THE *SUBSYST* 
*                L-DISPLAY.  THIS VALUE CAN BE A SYMBOL OR A VALUE SUCH 
*                AS -1, WHICH MEANS THE LAST CONTROL POINT. 
*         CP  -  WHETHER OR NOT A CONTROL POINT IS ALLOWED ON THE 
*                *ENABLE/DISABLE* COMMANDS.   FOR EXAMPLE, *IAF* DOES 
*                NOT ALLOW THE DEFAULT OF CONTROL POINT 1 TO BE 
*                CHANGED.  IF ANOTHER CONTROL POINT IS ALLOWED, THE 
*                VALUE *YES* IS USED.  IF NOT, THE VALUE *NO* IS USED.
*         PROC - WHETHER OR NOT THE PROCEDURE THAT INITIATES THE
*                SUBSYSTEM CAN CONSIST OF MORE THAN JUST THE 3
*                CHARACTER SUBSYSTEM NAME.  FOR EXAMPLE, *BATCHIO* MUST 
*                BE INITIATED BY A PROCEDURE NAMED *BIO*, WHILE *IAF* 
*                IS INITIATED BY ANY PROCEDURE OF THE FORM *IAFXXXX*. 
*                IF AN ALTERNATE NAME IS ALLOWED, THE VALUE *YES* IS
*                USED.  IF NOT, THE VALUE *NO* IS USED. 
*         ABT  - WHETHER OR NOT THE SUBSYSTEM SHOULD BE ABORTED BY
*                *1CK* WHEN PROCESSING A *CHECKPOINT SYSTEM* COMMAND. 
*                IF THE SUBSYSTEM IS NOT TO BE ABORTED, THE VALUE *NA*
*                IS USED.  IF THE SUBSYSTEM IS TO BE ABORTED, A NULL
*                VALUE IS USED. 
*         CPU  - WHETHER OR NOT THE SUBSYSTEM SHOULD BE FORCED INTO 
*                CPU 0 ON A DUAL CPU MACHINE WITH CACHE.  IF THE
*                SUBSYSTEM IS TO BE FORCED INTO CPU 0, THE VALUE *CPU0* 
*                IS USED.  IF THE SUBSYSTEM MAY RUN IN EITHER CPU,
*                A NULL VALUE IS USED.
  
  
          SUBSYST  IAF,IFSI,IACS,,AUTO,,VCPT,NO,YES,,CPU0 
          SUBSYST  RHF,RFSI,RFCS,,AUTO,,,YES,YES
          SUBSYST  IN1,I1SI,I1CS,,AUTO,,,YES,YES
          SUBSYST  IN2,I2SI,I2CS,,AUTO,,,YES,YES
          SUBSYST  TAF,TRSI,TACS,,AUTO,,,YES,YES
          SUBSYST  MAP,MPSI,MPCS,,AUTO,,,YES,YES,NA 
          SUBSYST  NAM,NMSI,NMCS,,AUTO,,,YES,YES
          SUBSYST  NVE,NVSI,MLCS,,AUTO,,,YES,YES,NA,CPU0
          SUBSYST  CDC,CDSI,CZCS,,AUTO,,,YES,YES
          SUBSYST  MCS,MCSI,MCCS,,AUTO,,,YES,YES
          SUBSYST  RDF,RDSI,,,AUTO,,VCPT,NO,YES,,CPU0 
          SUBSYST  MSS,MFSI,MFCS,,AUTO,,,YES,YES
          SUBSYST  RBF,RBSI,RBCS,,,,,YES,YES
          SUBSYST  BIO,BISI,BICS,1IO,AUTO,ENABLE,-2,YES,NO
          SUBSYST  MAG,MTSI,MTCS,,AUTO,ENABLE,-3,YES,YES,NA,CPU0
          SUBSYST  STM,STSI,TSCS,,,,-1,YES,YES
          SUBSYST  CMS,MSSI,MFCS,CMS,,,,NO,NO 
          SUBSYST  SMF,SMSI,SMCS,,AUTO,,,YES,YES
          SUBSYST  SSF,SSSI,SSCS,,AUTO,,,YES,YES
          SUBSYST  MSE,ASSI,AFCS,,AUTO,,,YES,YES
          SUBSYST  TLF,TLSI,TLCS,,AUTO,,,YES,YES
          SUBSYST  NJF,NJSI,NJCS,,AUTO,,,YES,YES
          SUBSYST  CYB,PLSI,PLCS,,,,,YES,YES
          SUBSYST  ATF,ATSI,ATCS,,,,,YES,YES
 SUB$     ENDIF 
          SPACE  4,10 
          BASE   *
          ENDX
