COMSSCD 
COMMON
          CTEXT  COMSSCD - SERVICE CLASS DEFINITIONS. 
          SPACE  4
          BASE   O
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4
***       COMSSCD - SERVICE CLASS DEFINITIONS.
* 
*         B. M. SLIWINSKI.   82/09/28.
*         R. C. SCHMITTER.   84/06/26.
          SPACE  4
***       *COMSSCD* DEFINES ALL SERVICE CLASSES AND OTHER VALUES
*         ASSOCIATED WITH SERVICE CLASS.
* 
*         IF *SCL$* IS DEFINED, THE CALLER MUST DEFINE THE *SCLASS* 
*         MACRO TO BUILD THE DESIRED TABLE OF SERVICE CLASS DATA, 
*         SINCE THE *CLASS* MACRO WILL INVOKE *SCLASS* IN THIS CASE.
*         IF *SCL$* = 0, *SCLASS* WILL ONLY BE INVOKED FOR SERVICE
*         CLASSES WITH JOB CONTROL BLOCKS.  IF *SCL$* = ANYTHING ELSE,
*         *SCLASS* WILL BE INVOKED FOR ALL SERVICE CLASSES.  IF *SCL$*
*         IS NOT DEFINED, *SCLASS* WILL NOT BE INVOKED. 
 CLASS    SPACE  4,15 
**        CLASS - DEFINE SERVICE CLASS AND ATTRIBUTES.
* 
*         CLASS  NAME,MNEMONIC,DAYFILE,STEXT,TEXT 
* 
*         ENTRY  *NAME* = SERVICE CLASS NAME. 
*                *MNEMONIC* = TWO CHARACTER MNEMONIC. 
*                *DAYFILE* = ONE CHARACTER DAYFILE MESSAGE CHARACTER. 
*                *STEXT* = SHORT TEXT NAME FOR *QFTLIST*. 
*                *TEXT* = LONG TEXT NAME OF SERVICE CLASS.
* 
*         NOTE - THE FIRST CALL IN A SEQUENCE OF CALLS TO *CLASS* 
*                MUST USE THE NAME *BEGIN*.  THE LAST CALL MUST USE 
*                THE NAME *END*.
  
          PURGMAC  CLASS
  
          MACRO  CLASS,NAME,MNEMONIC,DAYFILE,STEXT,TEXT 
  
*         INITIALIZE VALUES.
  
 .A       IFC    EQ,$NAME$BEGIN$
 .1       SET    0           SERVICE CLASS VALUE
 .2       SET    0           END OF CLASSES WITH JCB-S FLAG 
 .A1MK    SET    0           FIRST BYTE VALIDATION MASK VALUE 
 .A2MK    SET    0           SECOND BYTE VALIDATION MASK VALUE
          LOC    1
 NMSC     MICRO  1,, **      SERVICE CLASS MNEMONIC MICRO 
 NMDS     MICRO  1,, *       DAYFILE CHARACTER MICRO
 .J       SKIP
 .A       ENDIF 
  
*         TERMINATE PROCESSING. 
  
 .B       IFC    EQ,$NAME$END$
 .A1MK    SET    .A1MK-SSMK  REMOVE SUBSYSTEM MASK BIT
          LOC    *O          RESET LOCATION 
 .K       SKIP
 .B       ENDIF 
  
*         DEFINE SERVICE CLASS VALUE AND CONSTRUCT MICROS.
  
 NAME     EQU    .1          SET CLASS VALUE
          LOC    *+1
 .NMSC    MICRO  1,, MNEMONIC 
 .NMDS    MICRO  1,, DAYFILE
 NMSC     MICRO  1,,+"NMSC"".NMSC"+  CONSTRUCT SERVICE CLASS MICRO
 NMDS     MICRO  1,,+"NMDS"".NMDS"+  CONSTRUCT DAYFILE CHARACTER MICRO
  
 .C       IFC    EQ,$NAME$DSSC$ 
 .2       SET    1           SET END OF JCB-S FLAG
 .C       ENDIF 
 .D       IFEQ   .2,0 
  
  
*         DEFINE VALIDATION MASK BITS (CLASSES WITH JCB-S ONLY).
  
 .E       IFGT   NAME,11D 
 .3       DECMIC .1-12D 
 MNEMONIC_MK SET 1S".3" 
 .A2MK    SET    .A2MK+MNEMONIC_MK
 .E       ELSE
 .3       DECMIC .1 
 MNEMONIC_MK SET 1S".3" 
 .A1MK    SET    .A1MK+MNEMONIC_MK
 .E       ENDIF 
  
*         DETERMINE WHETHER TO INVOKE *SCLASS*. 
*         IF *SCL$* IS NOT DEFINED, DO NOT CALL *SCLASS*. 
*         IF *SCL$* = 0, CALL *SCLASS* ONLY FOR CLASSES WITH JCB-S. 
*         OTHERWISE, CALL *SCLASS* FOR ALL SERVICE CLASSES. 
  
 .D       ENDIF 
 .F       IF     DEF,SCL$ 
 .G       IFEQ   SCL$,0 
 .H       IFEQ   .2,0 
 .G       ENDIF 
          SCLASS NAME,MNEMONIC,DAYFILE,STEXT,(TEXT) 
 .H       ENDIF 
 .F       ENDIF 
  
 .J       ENDIF 
 .1       SET    .1+1        ADVANCE CLASS VALUE
 .K       ENDIF 
 CLASS    ENDM
          SPACE  4,10 
**        DEFINE SERVICE CLASS ATTRIBUTES.
* 
*         THESE MACRO CALLS DEFINE THE ATTRIBUTES OF EACH SERVICE 
*         CLASS IN THE SYSTEM.  EACH DECK THAT REQUIRES A TABLE OF ONE
*         OR MORE OF THESE ATTRIBUTES MUST DEFINE THE *SCLASS* MACRO
*         APPROPRIATELY.  NOTE THAT IF THE NUMBER OF SERVICE CLASSES
*         CHANGES, THE DATA FILE CREATED BY *CPD* WILL NOT BE 
*         COMPATIBLE WITH PREVIOUS VERSIONS.  TO CHANGE AN ATTRIBUTE
*         FOR A SERVICE CLASS, OR TO ADD A SERVICE CLASS, MAKE THE
*         APPROPRIATE CHANGES TO THE *CLASS* MACRO CALLS AND REASSEMBLE 
*         ALL DECKS THAT CALL THIS COMMON DECK.  CHANGES TO *CCL* AND 
*         *RHF* MAY ALSO BE NECESSARY.
          LIST   G
  
 BEGIN    CLASS 
  
*         DEFINE SERVICE CLASSES WITH JCB-S.
  
 SYSC     CLASS  SY,S,SYSTEM,SYSTEM 
 BCSC     CLASS  BC,B,BATCH,BATCH 
 RBSC     CLASS  RB,R,REMOTE,(REMOTE BATCH) 
 TSSC     CLASS  TS,T,TIMESHR,INTERACTIVE 
 DISC     CLASS  DI,D,DETACH,(DETACHED INTERACTIVE) 
 NSSC     CLASS  NS,N,NETWORK,(NETWORK SUPERVISOR)
 SSSC     CLASS  SS,X,SUBSYS,SUBSYSTEM
 MASC     CLASS  MA,M,MAINTEN,MAINTENANCE 
 CTSC     CLASS  CT,C,COMTASK,(COMMUNICATION TASK)
 I0SC     CLASS  I0,0,ICLASS0,(CLASS I0)
 I1SC     CLASS  I1,1,ICLASS1,(CLASS I1)
 I2SC     CLASS  I2,2,ICLASS2,(CLASS I2)
 I3SC     CLASS  I3,3,ICLASS3,(CLASS I3)
 I4SC     CLASS  I4,4,ICLASS4,(CLASS I4)
 I5SC     CLASS  I5,5,ICLASS5,(CLASS I5)
 I6SC     CLASS  I6,6,ICLASS6,(CLASS I6)
 I7SC     CLASS  I7,7,ICLASS7,(CLASS I7)
 I8SC     CLASS  I8,8,ICLASS8,(CLASS I8)
*I9SC     CLASS  I9,9,ICLASS9,(CLASS I9)
*IISC     CLASS  II,I,ICLASSI,(CLASS II)
*IJSC     CLASS  IJ,J,ICLASSJ,(CLASS IJ)
*IKSC     CLASS  IK,K,ICLASSK,(CLASS IK)
*ILSC     CLASS  IL,L,ICLASSL,(CLASS IL)
  
 MXJC     EQU    .1          NUMBER OF SERVICE CLASSES WITH JCB-S 
          ERRNG  24D-MXJC    TOO MANY SERVICE CLASSES 
  
*         THE FOLLOWING SERVICE CLASSES HAVE NO JCB-S.
  
 DSSC     CLASS  DS,A,DEADST,(DEADSTART)
 END      CLASS 
  
 MXSC     EQU    .1          TOTAL NUMBER OF SERVICE CLASSES
  
*         TOTAL MASK BITS DEFINED IN EACH BYTE FOR NON-SYSTEM ORIGIN
*         JOBS.  THE VALIDATION MASK FOR SERVICE CLASS *N* IS BIT *N*.
*         BITS ARE SET FOR ALL SERVICE CLASSES WITH JCB-S EXCEPT FOR
*         SUBSYSTEM SERVICE CLASS *SSSC*. 
  
 A1MK     EQU    .A1MK       FIRST BYTE VALIDATION MASK 
 A2MK     EQU    .A2MK       SECOND BYTE VALIDATION MASK
          LIST   *
          SPACE  4
          BASE   *
          ENDX
