*COMDECK COMADFM
#     COMADFM - DAYFILE MESSAGE COMMON BLOCK.  #
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL ENDIF; 
# 
*     COMADFM - DAYFILE MESSAGE COMMON BLOCK. 
* 
*     COMADFM IS THE COMMON BLOCK WHICH IS USED TO WRITE DAYFILE
*     MESSAGES. 
# 
  
      DEF FIRSTIMSGO #-2#;         # FIRST INFORMATIVE MESSAGE ORD. # 
      DEF LASTIMSGOR #17#;         # LAST INFORMATIVE MESSAGE ORD. #
      DEF FIRSTRIOEO #25#;         # FIRST RHF I/O ERROR ORDINAL #
      DEF LASTRIOEOR #33#;         # LAST RHF I/O ERROR ORDINAL # 
      DEF FIRSTFMSGO #40#;         # FIRST FATAL MESSAGE ORDINAL #
      DEF LASTFMSGOR #44#;         # LAST FATAL MESSAGE ORDINAL # 
      DEF NUMFMSGORD # 5#;         # NUMBER OF FATAL MESSAGES   # 
  
      DEF FIPNAME    #"  FIP  -  "#;  # DAYFILE MESSAGE PREFIX #
      DEF FIPNAMC    #"   FIP  - "#;  # LONG DAYFILE MESSAGE PREFIX # 
  
      COMMON COMADFM;                # COMMON BLOCK FOR DAYFILE MSGS. # 
        BEGIN  # COMADFM #
  
      ARRAY BUFFORMSG [0:0] S(7); 
        BEGIN 
        ITEM BUFF$FIPN  C(0,00,10) = [FIPNAME];  # PREFIX # 
        ITEM BUFF$MSG   C(1,00,30);  # FIELD FOR DAYFILE MESSAGE #
        ITEM BUFF$WD3   I(3,00,60);  # BUFFER WORD 3 #
        ITEM BUFF$MSGEN I(4,00,60) = [0];      # NEED ZERO BYTE AT END #
        ITEM BUFF$MSG2  C(4,00,28);  # FIELD FOR 2D MSG LINE #
        ITEM BUFF$MSGZ  U(6,48,12) = [0];  # ZERO BYTE #
        END 
  
# 
*     IDFMESSAGE - INFORMATIVE DAYFILE MESSAGE ARRAY. 
* 
*     IDFMESSAGE DEFINES ALL INFORMATIVE MESSAGES FOR FIP. TO 
*     ADD A MESSAGE (OR REMOVE A MESSAGE), DEFINE ITS ORDINAL 
*     IN THE STATUS DEFINITIONS / MESSAGE ORDINAL TABLE IN
*     COMACBF AND REDEFINE FIRSTIMSGO AND LASTIMSGOR AS NEEDED. 
*     (NOTE: DUE TO A BUG IN THE SYMPL COMPILER, WE CANNOT USE A SYMBOL 
*            THAT HAS BEEN DEFINED AS A NEGATIVE NUMBER AS THE LOWER
*            BOUND OF AN ARRAY.  IF AND WHEN THIS BUG IS FIXED, 
*            FIRSTIMSGO MAY BE SUBSTITUED FOR -2 IN THE ARRAY DEFINITION
*            BELOW. 
# 
  
      ARRAY IDFMESSAGE [-2:LASTIMSGOR] S(3);
        BEGIN 
        ITEM IDFM$MSG C(0,00,30) = [
                             "TERMINATING XFR OF   LFNXXXX. " 
                            ,"INITIATING  XFR OF   LFNXXXX. " 
                            ,"TRANSFER OF XXXXXXX  IN PROGR." 
                            ,"TRANSFER OF XXXXXXX  COMPLETE." 
                            ,"SYSTEM ERROR                  " 
                            ,"CONNECTION BROKEN ON ACN  XXXX" 
                            ,"PROTOCOL ERROR DETECTED.      " 
                            ,"TIMED OUT WAITING FOR NETWORK." 
                            ,"OUTPUT BLK NOT DEL ON ACN XXXX" 
                            ,"GT 4 FILE TRANSFERS INITIATED." 
                            ,"ACN XXXX NOT WITHIN RANGE.    " 
                            ,"SECOND FILE XFR ON ACN XXXX.  " 
                            ,"CIO ERROR XXB ON LFNXXXX.     " 
                            ,"PREMATURE TERM. RCVD. ON  XXXX" 
                            ,"XFR COMPLETE, NO ERR, IDLEDOWN" 
                            ,"XFR TERM. WITH ERR, IDLEDOWN. " 
                            ,"DISABLE WARNING RECEIVED.     " 
                            ,"RHF I/O ERROR XXB ON LFNXXXX. " 
                            ,"XXXXXXX ON INVALID DEVICE.    " 
                            ,"CONVERT MODE N/A FOR LFNXXXX. " 
                                   ]; 
        ITEM IDFM$LFN0  C(0,00,07);  # LFN FIELD IN WORD 0 #
        ITEM IDFM$LFN1  C(1,12,07);  # LFN FIELD IN WORD 1 #
        ITEM IDFM$LFN1A C(1,42,07);  # LFN FIELD IN WORD 1 #
        ITEM IDFM$LFN2  C(2,06,07);  # LFN FIELD IN WORD 2 #
        ITEM IDFM$ACN2B C(2,36,04);  # ACN FIELD IN WORD 2 #
        ITEM IDFM$ACNO  C(0,24,04);  # ACN FIELD IN WORD 0 #
        ITEM IDFM$ACN2A C(2,18,04);  # ACN FIELD IN WORD 2 #
        ITEM IDFM$CIOER C(1,00,02);  # CIO ERROR NUMBER # 
        ITEM IDFM$CIOTX C(2,24,06);  # CIO ERROR TEXT # 
        ITEM IDFM$RHFER C(1,24,02);  # RHF I/O ERROR NUMBER # 
        ITEM IDFM$SYSER C(1,18,17);  # SYSTEM ERROR TEXT #
        END 
  
      ARRAY [0:0] S(3); 
      BEGIN 
        ITEM RPV$MSGU   U(00,00,60) = [0];  # REPRIEVE MESSAGE #
        ITEM RPV$MSG    C(00,00,28);  # "REPRIEVING" MESSAGE #
        END 
  
  
# 
*     RHFIOERRMS - RHF I/O ERROR DETAILED MESSAGES. 
* 
*     RHFIOERRMS DEFINES THE MESSAGES DAYFILED BY FIP TO FURTHER
*     EXPLAIN A RHF I/O ERROR.
# 
  
      ARRAY RHFIOERRMS [FIRSTRIOEO:LASTRIOEOR] S(3);
        BEGIN 
  
        ITEM RIOE$MSG   C(00,00,28) = 
                            ["RHF FET PARAMETER ERROR.    " 
                            ,"HOST ABN MISCOMPARE.        " 
                            ,"LAST BLOCK TOO BIG.         " 
                            ,"CONTROL WORD FORMAT ERROR.  " 
                            ,"BLOCK LENGTH MISMATCH.      " 
                            ,"INVALID PARTIAL BLOCK.      " 
                            ,"NETWORK ABN MISCOMPARE.     " 
                            ,"BLOCK NOT 60-BIT MULTIPLE.  " 
                            ,"UNKNOWN BLOCK ERROR.        " 
                                   ]; 
        END 
  
# 
*     FDFMESSAGE - FATAL ERROR DAYFILE MESSAGE ARRAY
* 
*     FDFMESSAGE DEFINES ALL FATAL ERRORS FOR FIP. TO ADD OR
*     REMOVE A MESSAGE REQUIRED APPROPRIATE MODIFICATION OF THE 
*     STATUS DEFINITION / MESSAGE ORDINAL TABLE IN COMACBF. 
# 
  
      ARRAY FDFMESSAGE [FIRSTFMSGO:LASTFMSGOR] S(6);
        BEGIN 
  
        ITEM FDFM$MSG   C(00,00,58) = 
          ["NETOFF DURING FILE TRANSFER.                              " 
          ,"NETXFR ERROR, BAD PARAMETER                      DD = XXB." 
          ,"NETXFR ERROR, BAD INTERNAL           TRANSFER STATE = XXB." 
          ,"NETXFR ERROR, BAD ATTRIB. XXXX            FOR COMMAND YY. " 
          ,"NETXFR ERROR, ALL TRANSFER              TABLES IN USE.    " 
          ];
        ITEM FDFM$MSG1  C(00,00,30);  # 1ST LINE #
        ITEM FDFM$MSG2  C(03,00,28);  # 2D LINE # 
        ITEM FDFM$VALU1 C(02,36,04);  # ATT VALUE (4 CHARS) # 
        ITEM FDFM$VALU2 C(05,24,02);  # BAD VALUE (2 CHARS) # 
        END 
  
        END  # COMACBF #
                                               CONTROL LIST;
