COMBFAS 
COMMON
  
#     COMBFAS - SYMBOLS USED BY M860.                                 # 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL FI;
      BEGIN  # COMBFAS #
  
# 
***   COMBFAS - SYMBOLS USED BY M860. 
* 
*     COMBFAS DEFINES SYMBOLS AND STATUS LISTS USED BY
*     THE MASS STORAGE FACILITY SUB-SYSTEM (M860) ROUTINES. 
# 
  
      DEF SFMCAT     #"SFMCAT"#;     # FAS CATALOG FILE NAME BASE # 
      DEF SMMAP      #"SMMAPA"#;     # SMMAP FILE NAME BASE # 
  
  
      DEF DEF$ERLEN  #1#;            # DEFAULT M860 ERROR LOG LENGTH #
      DEF DEF$UI     #O"377760"#;    # DEFAULT USER INDEX # 
      DEF MAXSM      #8#;            # MAXIMUM STORAGE MODULES #
      DEF MAXSML1    #7#;            # MAXIMUM STORAGE MODULES LESS 1 # 
      DEF MAXFAM     #16#;           # MAXIMUM NUMBER OF FAMILIES # 
      DEF MAXCHERR   #2#;            # MAXIMUM CHANNEL ERRORS ALLOWED # 
      DEF MAXCHERRTM #3600#;         # MAXIMUM CHAN ERROR RETRY TIME #
      DEF MAXCTN     #8#;            # MAXIMUM NUMBER OF CU-S # 
      DEF MAXCTNM1   #7#;            # MAXIMUM NUMBER OF CU-S MINUS 1 # 
      DEF MAXCTUNIT  #1#;            # MAXIMUM CURRENT CU-S # 
      DEF MAXSMUNIT  #2#;            # MAXIMUM CURRENT SM-S # 
      DEF MAXSMM1    #1#;            # MAXIMUM CURRENT SM-S MINUS 1 # 
      DEF MAXORD     #352#;          # MAXIMUM SMMAP ORDINAL #
      DEF MINFO      #16#;           # MINIMUM *FCT* ORDINAL #
      DEF MAXFO      #326#;          # MAXIMUM *FCT* ORDINAL #
      DEF MAXSF      #7#;            # MAXIMUM SUBFAMILY NUMBER # 
      DEF MAXGP      #20#;           # MAXIMUM GROUP NUMBER # 
      DEF MAXGRT     #16#;           # MAXIMUM CARTRIDGES IN GROUP #
      DEF MIMHLRQ    #16#;           # MAXIMUM *HLRQ* ENTRIES # 
      DEF MRBUFL     #266#;          # MESSAGE READ BUFFER LENGTH # 
      DEF MWBUFL     #91#;           # MESSAGE WRITE BUFFER LENGTH #
      DEF MXGRPLS    #21#;           # MAX GROUP PLUS 1 # 
      DEF NA         #1#;            # NO ABORT OPTION #
      DEF NRCL       #0#;            # NO AUTO RECALL # 
      DEF NUMFCT     #2#;            # *FCT* ENTRY INCREMENTS # 
      DEF OFF        #0#;            # OFF #
      DEF ON         #1#;            # ON # 
      DEF PFP$ABORT  #0#;            # RESTORE USER *PFP* AND ABORT # 
      DEF PFP$END    #1#;            # RESTORE USER *PFP* AND END # 
      DEF PFP$RESUME #2#;            # RESTORE USER *PFP* AND RESUME #
      DEF PPCBENLEN  #3#;            # PP CALL BLOCK ENTRY LENGTH # 
      DEF PPCBTSIZE  #4#;            # PP CALL BLOCK TABLE SIZE # 
      DEF PRUBLK     #13#;           # PRU-S PER STRIPE # 
      DEF PRULEN     #64#;           # DISK PRU LENGTH #
      DEF RBSIZE     #8#;            # *SLAVE* REQUEST BLOCK SIZE # 
      DEF RCL        #1#;            # AUTO RECALL #
      DEF RFETL      #8#;            # RANDOM PROCESSING FET LENGTH # 
      DEF RFHBL      #30#;           # *1SS* LARGE BUFFER FET LENGTH #
      DEF RTRQ$SPACE #20#;           # NUMBER *RTRQ* BLOCKS PER *HLRQ* #
      DEF RWDATA     #887#;          # RAW DATA BYTE COUNT #
      DEF SFETL      #6#;            # STANDARD PROCESSING FET LENGTH # 
      DEF SFMRL      #12#;           # MESSAGE READ BUFFER FET LENGTH # 
      DEF SFMWL      #10#;           # MESSAGE WRT BUFFER FET LENGTH #
      DEF SMALT      #37#;           # LENGTH OF UDT M861 ENTRY # 
      DEF FPF$UI     #O"377775"#;    # FLAWPF USER INDEX #
      DEF SYS$UI     #O"377777"#;    # SYSTEM USER INDEX #
      DEF UDTCNTL    #27#;           # LENGTH OF UDT M862 ENTRY # 
      DEF UDTHDRLT   #1#;            # LENGTH OF UDT TABLE HEADER # 
  
# 
*     SPECIAL *SM* LOCATIONS. 
# 
  
      DEF MAX$Z      #15#;           # MAXIMUM Z COORDINATE # 
      DEF MAX$Y      #21#;           # MAXIMUM Y COORDINATE # 
      DEF SC$LOWER$Y #11#;           # LOWER SERVICE CELL - Y COORD # 
      DEF SC$LOWER$Z #15#;           # LOWER SERVICE CELL - Z COORD # 
      DEF SC$UPPER$Y #21#;           # UPPER SERVICE CELL - Y COORD # 
      DEF SC$UPPER$Z #15#;           # UPPER SERVICE CELL - Z COORD # 
      DEF SM$EXIT$TY #12#;           # SM *Y* CAS EXIT TRAY # 
      DEF SM$ENT$TY  #14#;           # SM *Y* CAS ENTRY TRAY #
      DEF SM$TY$Z    #0#;            # ENTRY/EXIT *Z* COORINATE # 
      DEF Z$NO$CUBE  #6#;            # NO CUBES AT Z=6 #
  
  
# 
*     *FCT* INITIALIZATION VALUES.
# 
  
      DEF INFTST     #40#;           # FIRST USABLE STRIPE #
      DEF INSPAU     #14#;           # STRIPES PER AU # 
      DEF INPRUS     #13#;           # PRUS PER STRIPE #
      DEF INAVOT     #1931#;         # MAXIMUM AU PER CARTRIDGE # 
      DEF INAVVS     #127#;          # LARGE VOLUME SIZE #
  
# 
*     SPECIAL *FOR* LOOP FORMS. 
# 
  
      DEF FASTFOR    #CONTROL FASTLOOP; 
      FOR#;                          # FAST FOR LOOP #
  
      DEF REPEAT     #CONTROL SLOWLOOP; 
      FOR DUMMY=0#;                  # DUMMY LOOP # 
  
      DEF SLOWFOR    #CONTROL SLOWLOOP; 
      FOR#;                          # SLOW FOR LOOP #
  
  
# 
*     DATA TRANSFER RETURN CODES. 
# 
  
      DEF OK         #0#;            # NO ERRORS #
      DEF EOF        #-1#;           # END OF FILE ENCOUNTERED #
      DEF EOI        #-2#;           # END OF INFORMATION ENCOUNTERED # 
      DEF CIOERR     #-3#;           # *CIO* RETURNED ERROR STATUS #
  
# 
*     *CIO* ABNORMAL TERMINATION CODE.
# 
  
      DEF ATCODE     #O"11"#;        # DETAILED ERROR RETURNED #
      DEF DISKFULL   #O"4007"#;      # DETAIL ERROR RETURN CODE FOR 
                                       DEVICE FULL #
  
# 
*     MESSAGE ROUTING OPTIONS.  A MESSAGE MAY BE DISPLAYED ON THE 
*     SYSTEM CONSOLE DISPLAY AND IN A DAYFILE.  FOR OPTIONS *ACTDF* 
*     AND *ERRLOG*, THE MESSAGE WILL BE DISPLAYED IN THE USER 
*     DAYFILE IF THE JOB IS A SPECIAL SYSTEM JOB OR OF SYSTEM ORIGIN. 
# 
  
      DEF SYSUDF1    #0#;            # SYSTEM AND USER DAYFILE LINE 1 # 
      DEF LINE1      #1#;            # LINE 1 OF CONTROL POINT #
      DEF LINE2      #2#;            # LINE 2 OF CONTROL POINT #
      DEF UDFL1      #3#;            # USER DAYFILE LINE 1 #
      DEF ERRLOG     #4#;            # ERRLOG OR USER DAYFILE # 
      DEF ACTDF      #5#;            # ACCOUNT OR USER DAYFILE #
      DEF SYSUDF1C   #6#;            # SYSTEM AND USER DAYFILE LINE 1 # 
      DEF UDFL1C     #7#;            # USER DAYFILE LINE 1 #
      DEF BML        #9#;            # BINARY MAINTENANCE LOG # 
  
      ITEM DUMMY      I;             # DUMMY REPEAT LOOP VARIABLE # 
  
      BASED 
      ARRAY ACTSTAT [0:0] P(1);      # ACTIVITY STATUS #
        BEGIN 
        ITEM ACT$STCNT  U(00,00,12);  # SHORT TERM ACTIVITY COUNTS #
        ITEM ACT$LTCNT  B(00,12,01);  # LONG TERM ACTIVITY COUNT #
        ITEM ACT$INS    U(00,36,12);  # RESERVED FOR INSTALLATIONS #
        ITEM ACT$COMP   B(00,59,01);  # COMPLETION BIT #
        END 
  
      BASED 
      ARRAY ASA [0:0] P(1);          # ALTERNATE STORAGE ADDRESS #
        BEGIN 
        ITEM ASAFIELD   U(00,24,36);  # ALTERNTAE STORAGE ADDRESS # 
        ITEM ASASM      U(00,24,06);  # SM ON WHICH FILE RESIDES #
        ITEM ASAFCT     U(00,30,12);  # FCT INDEX # 
        ITEM ASAGP      U(00,30,08);  # GROUP INDEX # 
        ITEM ASAGPT     U(00,38,04);  # INDEX WITHIN GROUP #
        ITEM ASAAU      U(00,42,12);  # FIRST ALLOCATION UNIT # 
        ITEM ASAFM      U(00,54,06);  # FUTURE USE #
        END 
  
      COMMON BFASCOM; 
  
        BEGIN  # BFASCOM #
                                     # $$ # 
        ITEM $$BFAS$$   C(20) = "****** COMBFAS *****"; 
                                     # $$ # 
        ITEM DEF$FAM    C(7);        # DEFAULT FAMILY NAME #
        ITEM FIRSTRTIME I;           # *RTIMSECS* AT SSEXEC STARTUP # 
        ITEM PRUPSTRM   I;           # PRU-S PER ALLOCATION UNIT #
        ITEM LDROSW     I;           #  LOADER OFFSET WORD #
  
        ARRAY FAMT [1:MAXFAM] P(1);  # FAMILY TABLE # 
          BEGIN 
          ITEM FAM$NAME   C(00,00,07);  # FAMILY NAME # 
          ITEM FAM$MSTP   U(00,42,18);  # MST ENTRY ADDRESS # 
          END 
  
  
        ARRAY PDATESTAT[0:0] S(1);   # DATE/TIME FROM *PDATE* # 
          BEGIN 
          ITEM PDATEV     U(00,24,36);  # YYMMDDHHMMSS #
          END 
  
  
        ARRAY RTIMESTAT [0:0] S(1);  # TIME RETURNED BY *RTIME* # 
          BEGIN 
          ITEM RTIMSECS   U(00,00,24);  # SECONDS SINCE DEADSTART # 
          ITEM RTIMMILS   U(00,24,36);  # MILLISECONDS SINCE DEADSTART
                                        # 
          END 
  
  
        END  # BFASCOM #
  
                                               CONTROL DISJOINT;
                                               CONTROL INERT; 
  
      END  # COMBFAS #
  
                                               CONTROL LIST;
