*COMDECK COMQNET                   09SEP81
# 
      COMQNET - NETWORK DEFINITIONS AND BUFFERS.
# 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL ENDIF; 
# 
***   COMQNET - NETWORK DEFINITIONS AND BUFFERS 
  
**    THE FOLLOWING DEFINITIONS ARE USED IN THE NSTORE AND NFETCH CALLS.
*     THEY ARE THE FIELD NAMES LEFT-JUSTIFIED AND ZERO-FILLED.
  
**    APPLICATION BLOCK HEADER FIELDS 
# 
    DEF $ABHABT    #O"01021001022400000000"#;  # ABHABT  BLOCK TYPE # 
    DEF $ABHADR    #O"01021001042200000000"#;  # ABHADR  ADDR INFO #
    DEF $ABHABN    #O"01021001021600000000"#;  # ABHABN  BLOCK NUMBER # 
    DEF $ABHACT    #O"01021001032400000000"#;  # ABHACT  CHAR TYPE #
    DEF $ABHIBU    #O"01021011022500000000"#;  # ABHIBU  UNDELIV BLK #
    DEF $ABHTLC    #O"01021024140300000000"#;  # ABHTLC  TEXT LENGTH #
# 
**    GENERAL FIELDS FOR SUPERVISORY MESSAGES 
# 
    DEF $PFCSFC    #O"20060323060300000000"#;  # PFCSFC  PRI/SEC FUNC # 
    DEF $EB        #O"05020000000000000000"#;  # EB      ERROR BIT #
    DEF $RB        #O"22020000000000000000"#;  # RB      RESPONSE BIT # 
    DEF $RC        #O"22030000000000000000"#;  # RC      RESPONSE FLAG #
# 
**    SUPERVISORY MESSAGE FIELDS FOR MANAGING CONNECTIONS.
# 
    DEF $CONACN    #O"03171601031600000000"#;  # CONACN  APPL CONN NUM #
    DEF $CONDT     #O"03171604240000000000"#;  # CONDT   DEVICE TYPE #
    DEF $CONACT    #O"03171601032400000000"#;  # CONACT  INPUT CH TYPE #
    DEF $CONALN    #O"03171601141600000000"#;  # CONALN  APPL LIST NUM #
    DEF $CONANM    #O"03171601161500000000"#;  # CONANM  APPL NAME #
# 
**    OTHER SUPERVISORY MESSAGE FIELDS. 
# 
    DEF $FCABN     #O"06030102160000000000"#;  # FCACN   BLOCK NUMBER # 
    DEF $CTFC      #O"03240603000000000000"#;  # CTFC    CTL/INFO FUNC #
    DEF $CTFNDTL   #O"03240616042414000000"#;  # CTFNDTL NDT LENGTH # 
    DEF $CTFNDTA   #O"03240616042401000000"#;  # CTFNDTA NDT ADDRESS #
    DEF $LSTACN    #O"14232401031600000000"#;  # LSTACN  LST CONN NO #
    DEF $LSTALN    #O"14232401141600000000"#;  # LSTALN  LST LIST NO #
# 
**    PRIMARY/SECONDARY FUNCTION FIELDS.
# 
    DEF $CONACRQ   #O"03171601032200000000"#;  # CONACR  CON/ACRQ # 
    DEF $CONCB     #O"03171603020000000000"#;  # CONCB   CON/CB # 
    DEF $CONEND    #O"03171605160400000000"#;  # CONEND  CON/END #
    DEF $CONREQ    #O"03171622052100000000"#;  # CONREQ  CON/REQ #
    DEF $CONBSZ    #O"03171602233200000000"#;  # CONBSZ  BLOCK SIZE # 
    DEF $CONABL    #O"03171601021400000000"#;  # CONABL  BLOCK LIMIT #
    DEF $CONABN    #O"03171601021600000000"#;  # CONABN  BLOCK NUMBER # 
    DEF $CONDBZ    #O"03171604023200000000"#;  # CONDBZ  BLOCK SIZE # 
    DEF $CTRINF    #O"03242211160600000000"#;  # CTRINF  CTRL/INFO #
    DEF $FCACK     #O"06030103130000000000"#;  # FCACK   FC/ACK # 
    DEF $FCBRK     #O"06030222130000000000"#;  # FCBRK   FC/BRK # 
    DEF $FCINA     #O"06031116010000000000"#;  # FCINA   FC/INACT # 
    DEF $FCINIT    #O"06031116112400000000"#;  # FCINIT  FC/INIT #
    DEF $FCNAK     #O"06031601130000000000"#;  # FCNAK   FC/NAK # 
    DEF $LSTOFF    #O"14232417060600000000"#;  # LSTOFF  LST/OFF #
    DEF $LSTON     #O"14232417160000000000"#;  # LSTON   LST/ON # 
    DEF $SHUTINS   #O"23102511162300000000"#;  # SHUINS  SHUT/INSD #
# 
**    MESSAGE TYPES 
*          0 IF NO MESSAGE
*          1 IF MESSAGE PART OF A BLOCK BUT NOT THE LAST PART 
*          2 IF THE MESSAGE THE LAST PART OF A BLOCK
*          3 IF SUPERVISORY MESSAGE 
*          4 RESERVED FOR NAM NETWORK 
*          5 RESERVED FOR NAM NETWORK 
*          6 Q-BLOCK TYPE BLOCK 
*          7 Q-MESSAGE TYPE BLOCK 
# 
    DEF NULMSG     #0#;              # NULL MESSAGE TYPE #
    DEF BLKMSG     #1#;              # BLOCK TYPE BLOCK # 
    DEF MSGMSG     #2#;              # BLOCK TYPE MESSAGE # 
    DEF SUPMSG     #3#;              # SUPERVISORY MESSAGE #
    DEF APPQBLK    #6#;              # Q-BLOCK TYPE BLOCK # 
    DEF APPQMSG    #7#;              # Q-MESSAGE TYPE BLOCK # 
# 
**    OTHER DEFINITIONS.
# 
    DEF ACTDEF     #2#;              # APPLICATION CHARACTER TYPE # 
  
    DEF SUPCHAT    #1#;              # SUPERVISORY MESSAGE CHAR TYPE #
  
    DEF QTFSNAM    #"XXXQTFS"#;      # NAME OF FACILITY TO WHICH A
                                       CONNECTION IS REQUESTED #
  
    COMMON COMQNET; 
      BEGIN  # COMMON BLOCK COMQNET # 
# 
**    NSUP - WORD USED BY FIP AND ASSOCIATED WITH THE NETWAIT CALL. 
* 
*     NHA - HEADER AREA FOR ALL NETPUT AND NETGET(L) CALLS. 
* 
*     NHA$B - BASED ARRAY VERSION OF NHA. 
* 
*     NTAH - HEADER TO BE USED BY THE APFETCH, APSTORE, ACFETCH, AND
*            ACSTORE SUBROUTINES. THIS WORD MUST IMMEDIATELY PRECEDE
*            NTA, THE NETWORK TEXT BUFFER.
* 
*     NTA - TEXT AREA FOR ALL NETPUT AND NETGET(L) CALLS. 
* 
*     NTA$B - BASED ARRAY VERSION OF NTAH AND NTA.
  
  
**    NETWORK BUFFER AND HEADER AREAS.
# 
      ARRAY NSUP;                    # NETWORK NSUP WORD #
        BEGIN 
        ITEM NSUPI      B(0,3,1);    # INPUT AVAILABLE FLAG # 
        ITEM NSUPS      B(0,4,1);    # SUPERVISORY MSG AVAILABLE FLAG # 
        ITEM NSUPIORS   B(0,3,2);  # NSUPI OR NSUPS # 
        END 
  
      ITEM NHA        U;             # NETWORK HEADER BUFFER #
  
      BASED ARRAY  NHA$B  S(208);    # NETWORK ARRAY #
        BEGIN 
        ITEM NHA$LNK    U(0,0,60);   # ADDRESS OF NEXT BLOCK #
        ITEM NHA$       U(1,0,60);   # NETWORK HEADER # 
        ITEM NTAH$      U(2,0,60);   # TEXT HEADER #
        ITEM NTA$HPC    U(2,2,10);   # PARAMETER COUNT #
        ITEM NTA$HMCC   U(2,12,12);  # MAX TEXT CHAR COUNT #
        ITEM NTA$HCI    U(2,26,10);  # CURRENT CHAR COUNT # 
        ITEM NTA$HWI    U(2,36,12);  # CURRENT WORD INDEX # 
        ITEM NTA$HCC    U(2,48,12);  # TEXT CHAR COUNT #
        ITEM NTA$       U(3,0,60);   # TEXT OF MESSAGE #
        END 
  
# 
**    NAM - FALSE IF COMMUNICATING WITH RHF NETWORK.
*           TRUE IF COMMUNICATING WITH NAM NETWORK. 
* 
# 
      ITEM NAM        B;           # NETWORK INDICATOR O-RHF, 1-NAM # 
  
# 
**    NETWORK TEXT HEADER AND BUFFER. 
*     **** NOTE - NTAH MUST IMMEDIATELY PRECEDE NTA. **** 
# 
      ARRAY NTAH [1:1] S(1);         # TEXT HEADER #
        BEGIN 
        ITEM NTAHPC     U(0,2,10);   # PARAMETER COUNT #
        ITEM NTAHMCC    U(0,12,12);  # MAX TEXT CHAR COUNT #
        ITEM NTAHCI     U(0,26,10);  # CURRENT CHAR COUNT # 
        ITEM NTAHWI     U(0,36,12);  # CURRENT WORD INDEX # 
        ITEM NTAHCC     U(0,48,12);  # TEXT CHAR COUNT #
        END 
  
      ARRAY NTA[1:NTLMAX] S(1);      # NETWORK TEXT BUFFER #
        BEGIN 
        ITEM NTAWD      U(0,0,60);   # NTA WORD # 
        ITEM CONABN     U(0,24,18);  # BLOCK NUMBER # 
        ITEM CONABL     U(0,36,03);  # BLOCK LIMIT #
        ITEM CONPID     U(1,42,18);  # REMOTE HOST #
        ITEM CONRABN    U(2,24,18);  # BLOCK NUMBER # 
        ITEM CONDBZ     U(2,48,11);  # DOWN LINE BLOCK #
        END 
  
      BASED ARRAY  NTA$B; 
        BEGIN 
        ITEM NTA$BWD    U(0,0,60);
        END 
  
# 
**    CONSTANTS FOR NSTORE CALLS. 
*     (NOTE - THESE WORDS MUST BE INITIALIZED.) 
# 
      ITEM CONACRQ    U;             # CONACRQ CONSTANT # 
      ITEM CONCB      U;             # CONCB CONSTANT # 
      ITEM CONEND     U;             # CONEND CONSTANT #
      ITEM CONREQ     U;             # CONREQ CONSTANT #
      ITEM CTRINF     U;             # CTRL/INFO CONSTANT # 
      ITEM FCACK      U;             # FCACK CONSTANT # 
      ITEM FCBRK      U;             # FCBRK CONSTANT # 
      ITEM FCINA      U;             # FCINACT CONSTANT # 
      ITEM FCINIT     U;             # FCINIT CONSTANT #
      ITEM FCNAK      U;             # FCNAK CONSTANT # 
      ITEM LSTOFF     U;           # LSTOFF CONSTANT #
      ITEM LSTON      U;           # LSTON CONSTANT # 
      ITEM SHUTINS    U;             # SHUTINSD CONSTANT #
  
# 
**    SUPHDR - A PREDEFINED SUPERVISORY HEADER.  THE WORD COUNT 
*              FOR THE ASSOCIATED TEXT IS ONE.
* 
*     MSGHDR - A PREDEFINED HEADER TO BE USED WITH THE BLOCK TYPE 
*              MESSAGE. 
# 
      ITEM MSGHDR     U=0;           # CANNED MESSAGE HEADER #
      ITEM SUPHDR     U=0;           # CANNED SUPERVISORY HEADER #
# 
**    OTHER NETWORK MESSAGE VARIABLES.
# 
      ITEM ACN        U;             # APPLICATION CONNECTION NUMBER #
      ITEM ATTEXTL    U;             # TEXT LENGTH #
      ITEM EB         U;             # ERROR BIT #
      ITEM FC         U;             # PFCSFC OF SUPERVISORY MESSAGE #
      ITEM QUAL       C(10);         # TEXT QUALIFIER # 
      ITEM RB         U;             # RESPONSE BIT # 
      ITEM TY         U;             # MESSAGE TYPE   0 - NO MESSAGE #
                                     #   1 - PART OF BLOCK, NOT LAST #
                                     #   2 - LAST PART OF BLOCK      #
                                     #   3 - SUPERVISORY MESSAGE     #
  
# 
**    TEXT BUFFER.
*     (SIZE DETERMINED BY MAXIMUM ATTRIBUTE LENGTH, 999 CHARACTERS.)
# 
      ARRAY  ATTEXT [0:100];         # TEXT ARRAY # 
        BEGIN 
        ITEM ATEXTWD    C(0,0,10);
        END 
  
      END  # COMMON BLOCK COMQNET # 
  
#     END OF COMDECK COMQNET #
                                               CONTROL LIST;
