COMBTDM 
COMMON
  
#     COMBTDM - FORMAT OF *TDAM* REQUEST.                             # 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL FI;
      BEGIN  # COMBTDM #
  
# 
***   COMBTDM - FORMAT OF *TDAM* REQUEST. 
* 
*     COMBTDM CONTAINS THE FORMAT OF A *TDAM* REQUEST AND THE 
*     FUNCTION CODE VALUES OF POSSIBLE REQUESTS.  IT ALSO 
*     DEFINES THE NAME AND FORMAT OF THE *SSEXEC*/*SSMOVE*
*     COMMUNICATION FILE. 
# 
  
  
      DEF INVRQC     #" INVALID TDAM REQUEST.;"#;  # ERROR MESSAGE #
      DEF MAXSSN     #O"7777"#;      # MAXIMUM VALUE OF *TDAMSSN* # 
      DEF MVOCOM     #"MVOCOM"#;     # COMMUNICATION FILE NAME #
      DEF MVPRML     #2#;            # COMMUNICATION FILE PREAMBLE
                                       LENGTH # 
      DEF TDAMLEN    #6#;            # *TDAM* REQUEST MAXIMUM LENGTH #
  
      STATUS TDAMFCODE               # *TDAM* FUNCTION CODES #
        NOREQ,                       # INVALID FUNCTION CODE #
        STAGE,                       # STAGE REQUEST #
        RLSCINT,                     # RELEASE CATALOG INTERLOCK #
        RCLMCINT,                    # RECLAIM CATALOG INTERLOCK #
        DESTRLS,                     # DESTAGE AND RELEASE REQUEST #
        DESTAGE,                     # DESTAGE REQUEST #
        RLSUMI,                      # RELEASE UPDATE MODE I/L #
        RCLMUMI,                     # RECLAIM UPDATE MODE I/L #
        FCEND;                       # END OF *TDAM* FUNCTION CODES # 
  
      STATUS ABANDON                 # REASON TO ABANDON DESTAGE #
        OK,                          # NO PROBLEM # 
        NOSPACE,                     # NO SPACE LEFT #
        NOSM,                        # NO STORAGE MODULE AVAILABLE #
        NOCARGP,                     # NO CARTRIDGE OR GROUP AVAILABLE
                                     #
        NEWASA,                      # FILE HAS A DIFF *ASA* VALUE #
        PFMERR,                      # *PFM* ERROR #
        CATIOERR,                    # CATALOG ACCESS ERROR # 
        NOOVERF,                     # CARTRIDGE OVERFLOW NOT LEGAL # 
        GRFULL,                      # GROUP FULL # 
        DSKRDERR,                    # DISK READ ERROR #
        LOST,                        # CARTRIDGE LOST # 
        CLOSEDS,                     # SSEXEC CLOSED DESTAGE #
        ENDAB;                       # END OF STATUS LIST # 
  
      BASED 
      ARRAY MVPREAM [0:0] S(MVPRML);
        BEGIN 
        ITEM MVPR$WRD1  U(00,00,60);  # FIRST WORD #
        ITEM MVPR$FLNM  C(00,00,07);  # COMMUNICATION FILE NAME # 
        ITEM MVPR$WRD2  U(01,00,60);  # SECOND WORD # 
        ITEM MVPR$LB    U(01,00,24);  # LARGE FILE BOUNDARY # 
        ITEM MVPR$DT    U(01,24,36);  # DATE/TIME OF RUN #
        END 
  
      BASED 
      ARRAY TDAM [0:0] S(TDAMLEN);
        BEGIN 
        ITEM TDAMREQST  C(00,00,60);  # *TDAM* REQUEST BLOCK #
        ITEM TDAMWORD   U(00,00,60);  # *TDAM* REQUEST WORD # 
        ITEM TDAMFC     U(00,00,06);  # FUNCTION CODE # 
        ITEM TDAMAL     U(00,06,03);  # ACCESS LEVEL #
        ITEM TDAMRES1   U(00,09,15);  # RESERVED FOR CDC #
        ITEM TDAMPFCFL  U(00,24,07);  # *PFU* PFC FLAGS # 
        ITEM TDAMFLAGS  U(00,24,04);  # FLAGS # 
        ITEM TDAMFFF    B(00,24,01);  # FREE FILE FLAG #
        ITEM TDAMAFVER  B(00,26,01);  # *ASA* VERIFY FLAG # 
        ITEM TDAMAFPDR  B(00,27,01);  # PSEUDO RELEASE FLAG # 
        ITEM TDAMPFID   U(00,28,32);  # *PF-ID* # 
        ITEM TDAMPEO    U(00,28,02);  # PFC ENTRY ORDINAL # 
        ITEM TDAMDN     U(00,30,06);  # DEVICE NUMBER # 
        ITEM TDAMTRACK  U(00,36,12);  # DISK TRACK NUMBER # 
        ITEM TDAMSECTOR U(00,48,12);  # SECTOR ORDINAL #
  
        ITEM TDAMPFUFAM C(01,00,07);  # *PFU* FAMILY NAME # 
        ITEM TDAMABR    U(01,00,04);  # REASON FOR DESTAGE ABANDON #
        ITEM TDAMOMAST  B(01,04,01);  # ORIGIN = MASTER # 
        ITEM TDAMOSLV   B(01,05,01);  # ORIGIN = SLAVE #
        ITEM TDAMSSN    U(01,06,12);  # STAGE SEQUENCE NUMBER # 
        ITEM TDAMASI    U(01,18,42);  # ALTERNATE STORAGE INFORMATION # 
        ITEM TDAMAT     U(01,18,06);  # ALTERNATE STORAGE TYPE #
        ITEM TDAMASA    U(01,24,36);  # ALTERNATE STORAGE ADDRESS # 
        ITEM TDAMMASK   U(01,52,08);  # MASK #
  
        ITEM TDAMPFN    C(02,00,07);  # PERMANENT FILE NAME # 
        ITEM TDAMUI     U(02,42,18);  # USER INDEX #
        ITEM TDAMSBF    U(02,57,03);  # SUBFAMILY NUMBER #
  
        ITEM TDAMJSN    C(03,00,04);  # JOB SEQUENCE NUMBER # 
        ITEM TDAMRES2   U(03,24,15);  # RESERVED FOR CDC #
        ITEM TDAMEVENT  U(03,39,21);  # EVENT - ID #
  
        ITEM TDAMFAM    C(04,00,07);  # FAMILY NAME # 
        ITEM TDAMRES3   U(04,42,18);  # RESERVED FOR CDC #
  
        ITEM TDAMIA     B(05,00,01);  # TRUE IF INDIRECT ACCESS # 
        ITEM TDAMFLN    U(05,01,23);  # FILE LENGTH IN PRUS # 
        ITEM TDAMCDT    U(05,24,36);  # FILE CREATION DATE AND TIME # 
  
# 
*     THE ABOVE FIELDS ARE THE SAME AS IN *COMATDM*.
* 
*     THE FOLLOWING FIELDS CONTAIN THE ACCESS COUNT, LAST ACCESS
*     DATE AND CREATE DATE SO THEY CAN BE PRINTED ON THE *SSMOVE* 
*     REPORT LISTING EACH FILE SELECTED FOR PROCESSING. 
# 
  
        ITEM TDAMLMD    U(03,24,18);  # LAST MODIFY DATE #
        ITEM TDAMLAD    U(03,42,18);  # LAST ACCESS DATE #
        ITEM TDAMACC    U(04,42,18);  # ACCESS COUNT #
        END 
  
      END  # COMBTDM #
  
                                               CONTROL LIST;
