*DECK     TEXTCS
PROC TEXTCS;
# TITLE TEXTCS - SYMPL TEXT FOR CS.  #
  
      BEGIN  # TEXTCS # 
# 
**    TEXTCS - SYMPL TEXT FOR CS. 
* 
*     D. G. DEPEW           81/08/12. 
*     C. J. BRION           82/04/23. 
*     A. LIM                82/06/10. 
* 
*     THIS PROC GENERATES A SYMPL TEXT FOR COMPILING CS.
*     IT CONTAINS DEFINITIONS OF SYMBOLS, PARAMETERS, COMMON BLOCKS ETC.
*     USED THROUGHOUT THE PROGRAM.
# 
  
  
      CONTROL STEXT ; 
  
# 
**    GLOBAL DEFINITIONS FOR THE CS PROGRAM 
# 
  
      DEF  OCBSIZ$      # 10 #;           # NUMBER OF WORDS IN OCB #
      DEF  ACNESIZ$     # 2 #;            # NUMBER WORDS PER ACN ENTRY #
      DEF  HBFESIZ$     # 9 #;            # HISTORY BUFFER ENTRY SIZE  #
      DEF  MINACN$      # 2 #;            # MINIMUM ACN ALLOWED TO CS # 
      DEF  MAXACN$      # 11 #;           # MAXIMUM NUMBER CONNECTIONS #
      DEF  MXHSBLCNT$   # 90 #;           # MAX NUM LINES IN HIS BUF# 
      DEF  HOPORD$      # 1 #;            # HOP OCB ORDINAL # 
      DEF  DEFPL$       # 22 #;           # DEFAULT HIST TERM PL #
      DEF  HOPIPL$      # 30 #;           # INTERNAL HOP PL # 
      DEF  HOPTPL$      # 32 #;           # HOP TURN PAGE LENGTH  # 
      DEF  NPCBSZ$      # 8 #;            # NUMBER OF WORDS IN NPUCB #
      DEF  AUDGR1$      # 1 #;            # AUDIENCE GROUP 1 #
      DEF  AUDGR2$      # 2 #;            # AUDIENCE GROUP 2 #
      DEF  AUDGR3$      # 3 #;            # AUDIENCE GROUP 3 #
      DEF  AUDGR4$      # 4 #;            # AUDIENCE GROUP 4 #
      DEF  AUDGR6$      # 6 #;            # AUDIENCE GROUP 6 #
      DEF  CSPID$       # 03 #;           # CS PROGRAM I.D. FOR DUMPS  #
      DEF  DTIME$       # 30 #;           # DELAY TIME FOR NEED GO MSG #
      DEF  DEFCP$       # 100 #;          # DEFAULT CP VALUE           #
      DEF  DEFBU$       #   0 #;          # DEFAULT BU VALUE           #
      DEF  MINCP$       #  50 #;          # MINIMUM CP VALUE           #
      DEF  MAXCP$       # 100 #;          # MAXIMUM CP VALUE           #
      DEF  MINBU$       #   0 #;          # MINIMUM BU VALUE           #
      DEF  MAXBU$       # 500 #;          # MAXIMUM BU VALUE           #
  
  
  
# 
**    CSWDF - WORKLIST DEFINITIONS. 
* 
*     THIS STATUS LIST DEFINES THE SYMBOLS TO BE USED IN MAKING 
*     WORKLIST REQUESTS.
*     THE ORDER IN THE STATUS LIST SETS THE PRIORITY OF THE WORKLIST
*     REQUEST, FIRST IS HIGHEST PRIORITY, LAST IS LOWEST PRIORITY.
*     THE ORDER CAN BE CHANGED (REARRIANGE PRIORITIES) AND THE PROGRAM
*     RECOMPILIED WITHOUT ANY OTHER CHANGES.
# 
  
      STATUS CSWDF
        SCRTR,                         #RETURN TIMER REQUEST           #
        SACNI,                         #CONTROL NETWORK INTERFACE      #
        SOEOP,                         #EXECUTE OVERLAY PROGRAM        #
        CTDNQ,
        CTSNR,                         #START NCF READ REQUEST         #
        CSDNS,                         #DISPATCH NPU SUPERVISION  # 
        CSDOS,                         # DISPATCH OPERATOR SUPERVISION# 
        CCDQE,                         # DISPATCH CONN TRAFFIC #
        CEDEQ,                         # IDENTIFY EVENT ENTRY # 
        CSDPE,                         # DISPATCH PROTOCOL EVENT #
        CSDNR,                         # DETERMINE NPU REQUIREMENT #
        CSDRC,                         # DISPATCH ROUTED COMMAND #
        CSROC,                         # RECOGNIZE OPERATOR COMMAND # 
        CSRSS,                         # ROUTE SOLICITED STATUS        #
        COBOE,                         # BROADCAST OP EVENT     # 
        COROO,                         # ROUTE OP OUTPUT #
        COGHL,                         # GET HISTORY LINES #
        DUMMY,                         # DUMMY ENTRY FOR DISABLING     #
      ; 
  
  
# 
**    CSODF - OVERLAY DEFINITIONS.
* 
*     THIS STATUS LIST DEFINES THE SYMBOLS TO BE USED AS OVERLAY NUMBERS
*     IN MAKING A TYPE 2 (OVERLAY ENTRY POINT CALL) WORKLIST REQUEST. 
*     THE ORDER IN THE STATUS LIST SETS THE OVERLAY NUMBER, WITH THE
*     FIRST ONE BEING OVERLAY 0,0, SECOND 1,0 ETC...
*     THE ORDER CAN BE CHANGED IF SO DECIDED TO CHANGE THE OVERLAY
*     NUMBERS, AND THE PROGRAM RECOMPILED WITHOUT ANY OTHER CHANGES.
# 
  
      STATUS CSODF
        CLMAN,               # 0,0- MAIN OVERLAY                       #
        CLEVT,               # 1,0- EVENT PROCESSING OVERLAY           #
        CLOIO,               # 2,0- OPERATOR I/O PROCESSING OVERLAY    #
        CLCMR,               # 3,0- COMMAND RECOGNITION OVERLAY        #
        CLCMP,               # 4,0- COMMAND PREPROCESSING OVERLAY      #
        CLOSS,               # 5,0- OPERATOR SUPERVISION SM OVERLAY    #
      ; 
  
  
# 
*     THE FOLLOWING STATUS LISTS ARE ENTRY POINT DEFINITIONS FOR THE
*     VARIOUS OVERLAYS WE DEFINED IN THE ABOVE LIST (CSODF).
*     EACH STATUS LIST DEFINES THE SYMBOLS TO BE USED AS ENTRY POINT
*     NUMBERS WITHIN THE OVERLAY IN MAKING A WORKLIST REQUEST.
*     THE ORDER IN THE LIST SETS THE ENTRY POINT NUMBER, AND THE
*     ORDER CAN BE CHANGED, AND THE PROGRAM RECOMPILED WITHOUT
*     ANY OTHER CHANGES.
# 
  
  
# 
*     EPEVT - ENTRY POINT DEFINITIONS FOR EVENT PROCESSING OVERLAY. 
# 
  
      STATUS EPEVT
        CSRSS,               # ROUTE SOLICITED STATUS                  #
        CEDEQ,               # IDENTIFY EVENT ENTRY                    #
      ; 
  
  
# 
*     EPOIO - ENTRY POINT DEFINITIONS FOR OPERATOR I/O PROCESSING OVL.
# 
  
      STATUS EPOIO
        CCDQE,               # DISPATCH CONNECTION TRAFFIC             #
        COBOE,               # BROADCAST OPERATOR EVENT                #
        COGHL,               # GENERATE HISTORY LINE                   #
        COROO,               # ROUTE OPERATOR OUTPUT                   #
      ; 
  
  
# 
*     EPCMR - ENTRY POINT DEFINITIONS FOR COMMAND RECOGNITION OVL.
# 
  
      STATUS EPCMR
        CSROC,               # RECOGNIZE OPERATOR COMMAND              #
      ; 
  
  
# 
*     EPCMP - ENTRY POINT DEFINITIONS FOR COMMAND PREPROCESSOR OVL. 
# 
  
      STATUS EPCMP
        CSDNR,               # DETERMINE NPU REQUIREMENT               #
        CSDRC,               # DISPATCH ROUTED COMMAND                 #
      ; 
  
  
# 
*     EPOSS - ENTRY POINT DEFINITIONS FOR OPERATOR SUPERVISION SM OVL.
# 
  
      STATUS EPOSS
        CSDPE,               # DISPATCH PROTOCOL EVENT                 #
        CSDOS,               # DISPATCH OPERATOR SUPERVISION           #
      ; 
  
  
  
# 
**    SUPSTAT -SUPERVISION STATES OF NPU. 
* 
*     THIS STATUS LIST DEFINES THE SYMBOLS TO BE USED FOR SETTING THE 
*     SUPERVISION STATE OF THE NPUCB. 
# 
      STATUS SUPSTAT
        SUPLOST,                         # SUPERVISION LOST           # 
        SUP,                             # SUPERVISED                 # 
        NCFMIS,                          # NCF MISMATCH               # 
        LEVMIS;                          # LEVEL MISMATCH             # 
  
  
  
  
# 
**    SMID - SUPERVISORY MESSAGE IDENTIFICATION LIST. 
* 
*     THIS LIST DICTATES THE INTERNAL IDENTIFICATION CODES FOR ALL
*     SUPERVISORY MESSAGE TRAFFIC, AS WELL AS VARIOUS INTERNAL TYPED
*     TRAFFIC FOR THE CS PROGRAM. THIS LIST MUST MATCH THE PSFCTBL
*     ARRAY DEFINITION IN THE PROC *CSDDNT*. ANY CHANGE TO THIS LIST
*     OR TO THE PSFCTBL ARRAY DEFINITION MUST CAUSE A COMPARABLE
*     CHANGE TO THE OTHER. SERIOUS CIRCUMSTANCES MAY OCCUR OTHERWISE. 
# 
  
      STATUS SMID 
        CNFTE,       # 0 #
        CNFRCTM,     # 0.1# 
        SUPCB,       # 1 #
        SUPIN,       # 2 #
  
#       UNSOLICITED PFCSFCS # 
#       ******************* # 
  
  
        ALMOP,       # 3 #
        LOGER,       # 4 #
        CDILI,       # 5 #
        CDILL,       # 6 #
        CDITE,       # 7 #
        CDITR,       # 8 #
        MSGOP,       # 9 #
        STILI,       # 10 # 
        STINP,       # 11 # 
        STITR,       # 12 # 
        STIAP,       # 12.1 # 
        STITE,       # 12.2 # 
        STUTE,       # 13 # 
        STULI,       # 14 # 
        STULL,       # 15 # 
        STUTR,       # 16 # 
        STUNP,       # 17 # 
        STUCP,       # 18 # 
        STUVC,       # 19 # 
        OLDDT,       # 20 # 
        SUPGO,       # 21 # 
  
#       CONNECTION TRAFFIC PFCSFCS #
#       ************************** #
  
        SHUINS,      # 22 # 
        CONREQ,      # 23 # 
        HOPSTRT,     # 24 # 
        CONCB,       # 25 # 
        FCACK,       # 26 # 
        INTRUSR,     # 27 # 
        FCINA,       # 28 # 
        FCINIT,      # 29 # 
        FCNAK,       # 30 # 
        TCHTCH,      # 31 # 
        HOPALT,      # 32 # 
        HOPBRK,      # 33 # 
        HOPCMD,      # 34 # 
        HOPENDD,     # 35 # 
        HOPIG,       # 36 # 
        HOPPAGE,     # 37 # 
        CONENDN,     # 38 # 
        BIMARK,      # 38.1 # 
  
  
#       OPERATOR SUPERVISION PFCSFCS #
#       **************************** #
  
        HOPDU,       # 39 # 
        HOPTRCE,     # 40 # 
        HOPNOTR,     # 41 # 
        HOPREL,      # 42 # 
        HOPRS,       # 43 # 
        HOPDB,       # 43.1 # 
        HOPDE,       # 43.2 # 
        TRSNPN,      # 44 # 
        TRSTRN,      # 45 # 
        LISLIN,      # 46 # 
        LISNPN,      # 47 # 
        LLSLLN,      # 48 # 
        LLSNPN,      # 49 # 
        CPSCPN,      # 50 # 
        CPSNPN,      # 51 # 
        NPSNPN,      # 52 # 
        TESLIN,      # 53 # 
        TESLLN,      # 54 # 
        TESNPN,      # 55 # 
        TESTEN,      # 56 # 
        VCSLIN,      # 57 # 
        VCSNPN,      # 58 # 
        VCSVCN,      # 59 # 
        MSGLIN,      # 60 # 
        MSGLLN,      # 61 # 
        MSGNPN,      # 62 # 
        MSGTEN,      # 63 # 
        MSGLIA,      # 64 # 
        MSGLLA,      # 65 # 
        MSGTEA,      # 66 # 
        OLDINN,      # 67 # 
        OLDINA,      # 68 # 
  
#       SOLICITED STATUS PFCSFCS #
#       ************************ #
  
        STUTEN,      # 69 # 
        STULIN,      # 70 # 
        STULLN,      # 71 # 
        STUTRN,      # 72 # 
        STUNPN,      # 73 # 
        STUCPN,      # 74 # 
        STUVCN,      # 74.1 # 
  
#       IGNORE THESE PFCSFCS #
#       ******************** #
        CTRTCD,      # 75 # 
        CTRCCD,      # 75.1 # 
        CTRCHRN,     # 75.2 # 
        CTRCHRA,     # 75.3 # 
        CTRCTDN,     # 75.4 # 
        CTRCTDA,     # 75.5 # 
        CTRRTCA,     # 75.6 # 
        CTRRCCA,     # 75.7 # 
  
  
#       OUTGOING TRAFFIC PFCSFCS #
#       ************************ #
  
        CNFTEN,      # 76 # 
        CNFRCTN,     # 76.1#
        CNFTEA,      # 77 # 
        CNFRCTA,     # 77.1#
        SUPGON,      # 78 # 
        MSGLI,       # 79 # 
        MSGLL,       # 80 # 
        MSGNP,       # 81 # 
        MSGTE,       # 82 # 
        CPSCP,       # 83 # 
        CPSNP,       # 84 # 
        DIBLI,       # 85 # 
        DIBLL,       # 86 # 
        DIBTE,       # 87 # 
        DIBTR,       # 88 # 
        DIBVC,       # 89 # 
        ENBLI,       # 90 # 
        ENBLL,       # 91 # 
        ENBTE,       # 92 # 
        ENBTR,       # 93 # 
        ENBVC,       # 94 # 
        LISLI,       # 95 # 
        LISNP,       # 96 # 
        LLSLL,       # 97 # 
        LLSNP,       # 98 # 
        NPSNP,       # 99 # 
        OLDTM,       # 100 #
        SUPINN,      # 101 #
        SUPINA,      # 102 #
        HOPDIS,      # 103 #
        HOPLG,       # 104 #
        TESLI,       # 105 #
        TESLL,       # 106 #
        TESNP,       # 107 #
        TESTE,       # 108 #
        TRSNP,       # 109 #
        TRSTR,       # 110 #
        VCSLI,       # 111 #
        VCSNP,       # 112 #
        VCSVC,       # 113 #
        CONREQN,     # 114 #
        CONENDR,     # 115 #
        NPIIN,       # 115.1 #
        OLDIN,       # 115.2 #
  
#       INTERNAL PFCSFCS      # 
#       ********************* # 
  
        STUFIN,      # 115.3 #
        CMDTXT,      # 116 #
        CTRLON,      # 117 #
        CTRLOFF,     # 118 #
        DATAIN,      # 119 #
        HOPSRTN,     # 120 #
        CONCBW,      # 121 #
        TTEXT,       # 122 #
        HIST,        # 122.1 #
        SUPINUN,     # 123 #
        SUPGOI,      # 124 #
           ;
  
  
  
  
# 
**    OVLST - STATES ALLOWED FOR THE DIAGNOSTIC PROGRAM IN NPU. 
# 
  
      STATUS OVLST
        IDLE,                  # IDLE, NO OPERATOR CONNECTED #
        BUSY,                  # OPERATOR CONNECTED # 
        LOADING;               # AWAITING RESPONSE TO CONNECT REQUEST # 
  
# 
**    ACNST - STATES ALLOWED FOR AN ACN ENTRY.
* 
*     THIS STATUS LIST DEFINES THE ALLOWED STATES FOR AN ACN ENTRY. 
# 
  
      STATUS ACNST
        INACT,                            # INACTIVE #
        CREATE,                           # CREATE IN PROGRESS #
        ACTIVE,                           # BOTH INPUT AND OUTPUT OK #
        COMMAND,                          # COMMAND IN PROGRESS # 
        BREAK,                            # BREAK OUTSTANDING # 
        ENDED,                            # END IN PROGRESS # 
        BROKEN,                           # CONNECTION BROKEN # 
        CLEARI;                           # CLEAR INPUT # 
  
  
# 
**    HCNST  - STATES ALLOWED FOR THE HOP ACN ENTRY.
* 
*     THIS STATUS LIST DEFINES THE ALLOWED STATES FOR THE ACN LIST
*     ENTRY FOR THE HOP.  BECAUSE WE COMMUNICATE WITH THE HOP VIA A 
*     TOTALLY DIFFERENT PROTOCOL THAN THAT FOR NOPS (WHO ARE TERMINAL 
*     USERS), A DIFFERENT SET OF STATES ARE REQUIRED. 
# 
  
      STATUS HCNST
        INACT,               # INACTICE, NOT ASSIGNED                  #
        CREATE,              # HOP/START IN PROGRESS                   #
        ACTIVE,              # BOTH INPUT AND OUTPUT ALLOWED           #
        COMMAND,             # COMMAND IN PROGRESS,ONLY OUTPUT ALLOWED #
        BREAK,               # BREAK OUTSTANDING                       #
        ENDED,               # HOP/END IN PROGRESS                     #
        RESTART,             # START WHILE END IN PROGRESS             #
        STARTEND,            # END WHILE START IN PROGRESS             #
        STARTBRK,            # BREAK WHILE START IN PROGRESS           #
        RESBREAK;            # START + BREAK WHILE END IN PROGRESS     #
  
  
  
  
# 
**    OPTYP - OPERATOR TYPES. 
* 
*     THIS STATUS LIST DEFINES THE TYPES OF OPERATORS SUPPORTED BY CS.
# 
  
      STATUS OPTYP
        HOP,                 # HOST OPERATOR                           #
        NOP,                 # NPU OPERATOR                            #
        DOP;                 # DIAGNOSTIC OPERATOR                     #
  
  
  
  
# 
**    CSINTR - MONITOR ROUTINE INTERRUPT LOCATIONS. 
* 
*     CSINTR IS A COMMON BLOCK CONTAINING A GROUP OF WHOLE WORD ITEMS 
*     THAT FUNCTION AS INTERRUPT CELLS FOR THE ROUTINES THAT ARE CALLED 
*     BY THE STATUS WORKLIST PROCESSOR TO PROCESS ONE OR MORE QUEUES. 
*     (SOME QUEUES ARE PROCESSED BY MONITOR TYPE ROUTINES AND OTHER 
*     QUEUES (OF LOWER PRIORITY) ARE PROCESSED BY WORKLIST ROUTINES.) 
*     THESE CELLS PROVIDE A LINKAGE BETWEEN ONE OR MORE QUEUES AND A
*     SINGLE, GIVEN MONITOR ROUTINE.  THIS ASSOCIATION IS MADE AT 
*     INITIALIZATION TIME WHEN TABLES *WDF* AND *QWD* (IN SSTEXT) ARE 
*     BUILT BY PROC CSIBWD.  WHENEVER THE STATUS WORKLIST PROCESSOR IS
*     WATCHING A GIVEN INTERRUPT CELL AND THAT CELL BECOMES OR IS NON-
*     ZERO, THE CORRESPONDING MONITOR ROUTINE IS CALLED.  THE MONITORS
*     THEMSELVES DETERMINE WHEN A GIVEN CELL WILL BE WATCHED VIA THE
*     FORMAL RETURN PARAMETER ARRAY *SWTESS* (COMMOM DECK).  WHENEVER AN
*     ENTRY IS PLACED IN A GIVEN QUEUE, THE ASSOCIATED INTERRUPT WORD 
*     IS INCREMENTED.  (NOT ALL MONITOR ROUTINES ARE TRIGGERRED BY THESE
*     INTERRUPT CELLS.  OTHERS ARE TRIGGERRED BY ,E.G., THE NSUP WORD OR
*     THE FIRST WORD OR IN POINTER OF THE NCF FET.) 
# 
  
      COMMON CSINTR;
        BEGIN 
        ITEM ICSTSNR  I;     # INTERRUPT FOR PROC CSTSNR               #
        END 
  
# 
**    CSCB - CS PROGRAM CONTROL BLOCK.
* 
*     THE CS CONTROL BLOCK IS A COMMON BLOCK THAT CONTAINS PROGRAM
*     WIDE INFORMATION. 
# 
      COMMON CSCB;
        BEGIN 
# 
****
# 
        ITEM CRNT$DPN   I;                #CURRENT DUMP NUMBER        # 
        ITEM CRNT$NIN   I;                #CURRENT INVOCATION NUR     # 
        ITEM CSACNOP    U;                #CONTROL NOP OCB ORDINAL    # 
        ITEM CSTRACE    U;                #COUNT OF TRACE MSGS        # 
        ITEM CSSTATE    B;                #STATE OF CS PROGRAM        # 
        ITEM CSNPCNT    U;                #COUNT OF NPUCBS DEFINED    # 
        ITEM CSNPSUP    U;                #COUNT OF NPUS SUPERVISED   # 
        ITEM CSNCFVER   C(20);            # NCF FILE VERSION #
        ITEM CSNCFLEV   C(3);             # NCF VERSION LEVEL # 
        ITEM DBGFLAG    B;                # DEBUG FLAG                # 
        ITEM CSCP       U;             # CS CONTROL CARD CP VALUE      #
        ITEM CSBU       U;             # CS CONTROL CARD BU VALUE      #
# 
****
# 
        END 
  
  
  
  
 #
**
*E
**    TABLES - MEMORY MANAGEMENT COMMON BLOCK.
* 
*     A COMMON BLOCK OF BASED-ARRAY POINTER WORD AND LENGTH FOR TABLES/Q
*     USED BY THE TABLE-MANAGER.
 #
  
      COMMON TABLES;
      BEGIN                            # TABLES                        #
      ITEM MEMLOC     I;        # BEGINNING MEMORY LOC OF MANAGED AREA #
      ITEM FL         I;        # CURRENT TOTAL FIELD LENGTH           #
  
  
  
# 
**
*E
**    LRI - LINE RECORD INDEX.
* 
*     THE LINE RECORD INDEX IS A TABLE THAT TRANSLATES AN NPU NODE ID 
*     AND PORT NUMBER INTO THE RELATIVE PRU ADDRESS OF THE CORRESPONDING
*     LINE RECORD IN THE NCF.  THE TABLE IS CREATED BY NDL AND USED BY
*     CS DURING TERMINAL CONFIGURATION, AND IS PASSED TO CS VIA THE NCF.
*     THE TABLE IS DESCRIBED IN APPENDIX F OF THE NDL ERS.  THE ENTRY 
*     SIZE IS FIXED AT ONE WORD PER ENTRY.  THE TABLE HEADER IS NOT USED
*     AND IS DISCARDED BY CS.  A DUMMY LAST ENTRY IS ADDED DURING 
*     INITIALIZATION.  THIS ENTRY CONTAINS AN NPU NODE ID OF 255 AND A
*     PORT NUMBER OF 255 (HIGHEST VALID PORT NUMBER IS 254).  THIS
*     INSURES THAT THE SEARCH OF THE LINE RECORD INDEX ALWAYS GETS A HIT
*     (AT LEAST ON THE LAST ENTRY).  A DUMMY FIRST ENTRY IS ALSO ADDED
*     DURING INITIALIZATION.  THIS ENTRY IS ALL ZEROES AND ENSURES THAT 
*     THE SEARCH OF THE LINE RECORD INDEX FOR A LARGER CONCATENATED 
*     NPU/PORT IS NEVER SATISFIED BY THE FIRST ENTRY (ELIMINATES SOME 
*     SPECIAL CASING).
* 
* 
*     THE FOLLOWING IS THE FORMAT OF A LINE RECORD INDEX ENTRY.  EACH 
*     ENTRY IS ONE WORD LONG. 
* 
* 
*                 1         2         3         4         5 
*       012345678901234567890123456789012345678901234567890123456789
*TEXT 
*T,8/LINID,8/LIPORT,8/LIGC,12/,24/LIRPA 
*ENDTEXT
# 
  
      BASED ARRAY LRI [00:00] S(1); 
        BEGIN 
# 
****
# 
*CALL LINCF 
# 
****
# 
        END 
  
      ITEM LRIL;              #LENGTH OF LINE RECORD INDEX             #
  
  
  
  
# 
**
**    OCB - OPERATOR CONTROL BLOCK. 
* 
*     THE OPERATOR CONTROL BLOCK MANAGED TABLE CONTAINS AN ENTRY FOR
*     EACH OPERATOR THAT IS TO BE CONNECTED TO THIS CS. INITIAL  IM-
*     PLEMENTATION OF R7 CS WILL ALLOW TEN TERMINAL OPERATORS (NOPS)
*     AND ONE HOST OPERATOR (HOP).
* 
*     THE FOLLOWING IS THE FORMAT OF AN OPERATOR CONTROL BLOCK.  EACH 
*     ENTRY IS THREE WORDS LONG.
* 
* 
*                 1         2         3         4         5 
*       012345678901234567890123456789012345678901234567890123456789
*TEXT 
*T,WORD0,42/TNAM,12/ACN,6/ORD 
*T,WORD1,42/UNAM,2/O,8/NCNT,1/C,1/N,6/
*T,WORD2,18/VERB,8/CNP1,8/CNP2,8/PL,1/S,9/,8/SDCNT
*ENDTEXT
# 
  
      BASED ARRAY OCB [01:MAXACN$] S(OCBSIZ$);
        BEGIN 
# 
****
# 
        ITEM OC$WORD         U(00,00,60);  #FULL WORD REFERENCE       # 
        ITEM OC$WORD1        U(01,00,60);  #FULL WORD 1 REF # 
        ITEM OC$WORD2        U(02,00,60);  #FULL WORD 2 REF # 
        ITEM OC$TNAM         C(00,00,07);  #TERMINAL NAME             # 
        ITEM OC$SVCNAM       C(00,00,05);  #SVC NAME                  # 
        ITEM OC$ACN          U(00,42,12);  #APPL CONNECTION NUMBER    # 
        ITEM OC$ORD          U(00,54,06);  #OCB ORDINAL VALUE         # 
        ITEM OC$UNAM         C(01,00,07);  #USER NAME                 # 
        ITEM OC$TYPE   S:OPTYP(01,42,02);  #OPERATOR TYPE             # 
        ITEM OC$NCNT         U(01,44,08);  #AFFECTED NPU COUNT        # 
        ITEM OC$PAGEC      U(01,52,02);   # RIGHT K-DISPLAY PAGE NUM   #
        ITEM OC$RPL        U(01,54,06);   # RIGHT K-DISPLAY LENGTH     #
        ITEM OC$VERB         C(02,00,03);  #CURRENT CMD VERB          # 
        ITEM OC$UVERB        U(02,00,18); 
        ITEM OC$CNPU         U(02,18,08);  #CURRENT CMD FOR NPU       # 
        ITEM OC$PL           U(02,26,08);  #PAGE LENGTH AT TERMINAL   # 
        ITEM OC$STATE        B(02,34,01);  #STATE OF THE OCB          # 
        ITEM OC$WC           U(02,36,06);  # SM CM WORD COUNT          #
        ITEM OC$CBPD         B(02,42,01);  #CB PENDING FLAG           # 
        ITEM OC$NTO          B(02,43,01);  #NO TIMEOUT FLAG           # 
        ITEM OC$TLC          U(02,48,12);  # SM TLC VALUE              #
        ITEM OC$SM           I(03,00,60);  # SM FIRST WORD             #
# 
****
# 
        END 
  
      ITEM OCBL;                        #LENGTH OF OCB TABLE          # 
  
  
  
  
  
# 
**
**    ACN - APPLICATION CONNECTION NUMBER LIST. 
* 
*     THE ACN LIST CONTAINS AN ACN ENTRY FOR EACH OPERATOR CONNECTION 
*     TO CS. EACH ENTRY CONTAINS INFORMATION REGARDING THE CONNECTION.
* 
*     THE FOLLOWING IS THE FORMAT OF AN ACN LIST ENTRY.  EACH ENTRY 
*     IS TWO WORDS LONG.
* 
* 
*                 1         2         3         4         5 
*       012345678901234567890123456789012345678901234567890123456789
*TEXT 
*T,WORD0,1/I,4/CST,7/,18/ABN,12/DBZ,18/ACN
*T,WORD1,3/,6/BKCNT,6/BLCNT,6/ABL,9/,6/PCHAR,3/,1/G,2/,9/WBCNT,9/PL 
*ENDTEXT
* 
* 
# 
  
      BASED ARRAY ACN [01:MAXACN$] S(ACNESIZ$); 
        BEGIN 
# 
****
# 
        ITEM ACN$WORD0        U(00,00,60);  # FULL WORD0 REFERENCE #
        ITEM ACN$INIT         B(00,00,01);  # INIT SEEN FLAG #
        ITEM ACN$HOPST  S:HCNST(00,02,04);  # HOP PSEUDO ACN STATE #
        ITEM ACN$NOPST  S:ACNST(00,02,04);  # NOP ACN STATE # 
        ITEM ACN$ABN          U(00,12,18);  # APPL BLOCK NUMBER # 
        ITEM ACN$DBZ          U(00,30,12);  # DOWNLINE BLK SIZE # 
        ITEM ACN$ACN          U(00,42,18);  # CONNECTION NUMBER # 
        ITEM ACN$WORD1        U(01,00,60);  # FULL WORD1 REFERENCE #
        ITEM ACN$BKCNT        U(01,03,06);  # NUMBER OF BREAKS COUNT #
        ITEM ACN$BLCNT        U(01,09,06);  # OUTSTANDING BLK COUNT # 
        ITEM ACN$ABL          U(01,15,06);  # APPL BLOCK LIMIT #
        ITEM ACN$PCHAR      C(01,30,01);  # HOP PAGE CHARACTER  # 
        ITEM ACN$PWAIT        B(01,35,01);  # PAGE WAIT FLAG #
        ITEM ACN$IGNOR        B(01,39,01);  # HOP IGNORE FLAG # 
        ITEM ACN$WBCNT        U(01,42,09);  # WAITING BLK COUNT # 
        ITEM ACN$PL           U(01,51,09);  # PAGE LENGTH # 
# 
****
# 
        END 
  
      ITEM ACNL;               # LENGTH OF ACN TABLE #
  
  
  
  
  
# 
**
* 
*     LLXREF - LOGICAL LINK XREF TABLE. 
* 
*     THE LOGICAL LINK XREF TABLE WILL RESIDE INITIALLY IN A MANAGED
*     TABLE. IT CONTAINS A TWO WORD ENTRY FOR EACH LOGICAL LINK 
*     DEFINED IN THE NCF.  IT IS EVENTUALLY WRITTEN OUT TO THE OVERLAYS 
*     THAT NEED IT. 
# 
  
      BASED ARRAY LLXRS [00:00] S(2); 
        BEGIN 
        ITEM LXS$WORD      U(00,00,60);  #FULL WORD REFERENCE          #
        END 
  
      ITEM LLXREFLS;                    #LENGTH OF LLXREF TABLE       # 
  
  
  
  
# 
**    PLXREFS - PHYSICAL LINK CROSS REFERENCE TABLE.
* 
*     THE PHYSICAL LINK XREF TABLE CONTAINS A TWO-WORD ENTRY FOR EACH 
*     COUPLER OR TRUNK DEFINED FOR THE NETWORK. THIS TABLE WILL INITIAL-
*     LY RESIDE IN A MANAGED TABLE. IT IS INITIALIZED BY CSIBXT FROM THE
*     NCF.  IT IS EVENTUALLY WRITTEN OUT TO THE OVERLAYS THAT NEED IT.
# 
      BASED ARRAY PLXREFS [00:00] S(2); 
        BEGIN 
        ITEM PXS$WORD      U(00,00,60);    #FULL WORD REFERENCE        #
        END 
  
      ITEM PLXREFLS;                      #LENGTH OF PLXREF TABLE     # 
  
  
# 
**    LIXS - LINE CROSS REFERENCE TABLE . 
* 
*     THE LINE CROSS REFERENCE TABLE CONTAINS INFORMATION ABOUT EACH
*     LINE DEFINED IN THE NCF. THIS MANAGED TABLE IS BUILT AT INITIALI- 
*     ZATION TIME BY THE CSIBXT PROC.  IT IS EVENTUALLY MADE A PART OF
*     THE OVERLAYS WHICH REQUIRES THE INFORMATION IN THE TABLE. 
# 
  
      BASED ARRAY LIXS [00:00] S(1);
        BEGIN 
        ITEM LIXS$WORD  U(00,00,60);      # FULL WORD REFERENCE # 
        END 
  
      ITEM LIXLS;                         #LENGTH OF LIX TABLE #
  
  
# 
**    DEXS - DEVICE CROSS REFERENCE TABLE.
* 
*     THE DEVICE CROSS REFERENCE TABLE CONTAINS AN ENTRY FOR EACH DEVICE
*     OR TERMDEV STATEMENT IN THE NDL SOURCE. THIS TABLE IS BUILT BY
*     PROC CSIBXT AT INITIALIZATION TIME.  THE TABLE IS WRITTEN TO THE
*     OVERLAYS WHICH REQUIRES ITS INFORMATION.
# 
  
      BASED ARRAY DEXS [00:00] S(1);
        BEGIN 
        ITEM DXS$WORD   U(00,00,60);      # FULL WORD REFERENCE # 
        END 
  
      ITEM DEXLS;                         # LENGTH OF DEX TABLE # 
  
  
  
  
# 
**
*E
**    NPUCB - NPU CONTROL BLOCK ARRAY.
* 
*     THE NPUCB ARRAY WILL RESIDE IN A MANAGED TABLE.  THERE EXISTS AN
*     ENTRY FOR EACH NPU DEFINED IN THE NETWORK CONFIGURATION FILE. 
*     THE MANAGED TABLE IS INITIAILIZED BY CSIBNP FROM INFORMATION
*     THAT IS READ FROM THE NPU CROSS REFERENCE TABLE ON THE NCF. 
* 
*     THE FOLLOWING IS THE FORMAT OF AN NPU CONTROL BLOCK.  EACH BLOCK
*     IS FOUR WORDS LONG. 
* 
* 
*                 1         2         3         4         5 
*       012345678901234567890123456789012345678901234567890123456789
*TEXT 
*T,WORD,42/NAME,8/NID,8/HID,1/R,1/D 
*T,WORD1,16/CSUM,12/OPSD,12/OPST,12/OPOV,8/STAT 
*T,WORD2,1/L,5/,36/VAR,18/DNID
*T,WORD3,8/OVSTATE,52/
*ENDTEXT
# 
      BASED ARRAY NPUCB [00:00] S(NPCBSZ$); 
        BEGIN 
# 
****
# 
        ITEM NPU$WORD      U(00,00,60);    #FULL WORD REFERENCE        #
        ITEM NPU$WORD1     U(01,00,60);    #FULL WORD 1 REF # 
        ITEM NPU$WORD2     U(02,00,60);    #FULL WORD 2 REF # 
        ITEM NPU$WORD3     U(03,00,60);    #FULL WORD 3 REF # 
      ITEM NPU$WORD4    U(04,00,60);
      ITEM NPU$WORD5    U(05,00,60);
      ITEM NPU$WORD6    U(06,00,60);
      ITEM NPU$WORD7    U(07,00,60);
        ITEM NPU$NAME      C(00,00,07);    #NAME OF NPU                #
        ITEM NPU$NID       U(00,42,08);    #NODE NUMBER OF NPU         #
        ITEM NPU$HID       U(00,50,08);    #HOST NODE NUMBER           #
        ITEM NPU$RIND      B(00,58,01);    #REMOTE INDICATOR,1=REMOTE  #
        ITEM NPU$DMPF      B(00,59,01);    #LONG TERM DMP FLAG         #
        ITEM NPU$CSUM      U(01,00,16);    #NPUCHECKSUM FOR SUPER-     #
                                           #VISION COMPARE OF NCF      #
        ITEM NPU$OPSD      U(01,16,12);    #CURRENT SEND OPERATOR OCB  #
                                           #ORDINAL                    #
        ITEM NPU$OPST      U(01,28,12);    #CURRENT STATUS OPERATOR    #
                                           #OCB ORDINAL                #
        ITEM NPU$OPOV      U(01,40,12);    #CURRENT OVERLAY OPERATOR   #
                                           #OCB ORDINAL                #
        ITEM NPU$STAT      U(01,52,08);    #NPUSTATE                   #
        ITEM NPU$LRF       B(02,00,01);    #LOAD REQUEST FLAG          #
        ITEM NPU$VAR       C(02,06,06);    # NPU VARIENT NAME          #
        ITEM NPU$DNID      C(02,42,03);    # DISPLAY CODED NODE NUM    #
        ITEM NPU$CNID      U(02,42,18);    # DCD INTEGER NID #
        ITEM NPU$OVSTATE   U(03,00,08);     # OVERLAY STATE # 
        ITEM NPU$CP        U(03,08,09);    # CPU UTILIZATION           #
        ITEM NPU$BU        U(03,17,09);    # BUFFER AVAILABILITY       #
        ITEM NPU$GFLAG     B(03,27,01);    # NEED GO FLAG              #
        ITEM NPU$CNUM      U(03,30,18);    # TIMER CANCEL NUMBER       #
        ITEM NPU$CNOP      U(03,48,12);    # CONTROLLING NOP FOR NPU   #
        ITEM NPU$RFLGS     U(04,12,48);    # REPORT BIT MAP            #
        ITEM NPU$STFLGS    U(05,12,48);    # PENDING STATUS REQ BIT MAP#
        ITEM NPU$SDFLGS    U(06,12,48);    # PENDING SEND REQ BIT MAP  #
        ITEM NPU$OVFLGS    U(07,12,48);    # DIAG OPERATOR BIT MAP     #
# 
****
# 
        END 
  
      ITEM NPUCBL;                         #LENGTH OF NPUCB            #
  
  
  
  
# 
**    NPXREF - NPU CROSS REFERENCE TABLE. 
* 
*     THE NPU XREF TABLE CONTAINS INFORMATION ABOUT EACH NPU DEFINED IN 
*     THE NCF. THE TABLE IS READ INTO CS AT INITIALIZATION TIME AND 
*     EACH ENTRY'S INFORMATION IS TRANSFERRED INTO THE APPROPRIATE
*     NPUCB MANAGED TABLE ENTRY.
# 
      BASED ARRAY NPXREF [00:00] S(2);
        BEGIN 
        ITEM NPX$WORD       U(00,00,60);    #FULL WORD REFERENCE       #
        ITEM NPX$NAME       C(00,00,07);    #NAME OF NPU               #
        ITEM NPX$NID        U(00,52,08);    #NODE NUMBER OF NPU        #
        ITEM NPX$VAR        C(01,00,06);    #NPU VARIENT NAME          #
        ITEM NPX$CSUM       U(01,44,16);    #NPU SUPERVISION CHECKSUM  #
        END 
  
      ITEM NPXREFL;                         #LENGTH OF NPXREF TABLE    #
  
  
  
# 
**    TRQ - TIMER REQUEST QUEUE.
* 
*     THIS QUEUE IS USED FOR TIMER REQUEST BLOCKS.  CURRENTLY THE ONLY
*     USE FOR THIS QUEUE IS THE REPETITION OF *GO NEEDED* MESSAGE.
*     IT IS ONLY USED BY THE EVENT PROCESSOR.  (SEE SERVICES AND
*     SCHEDULING OVERVIEW FOR THE FORMAT OF THE TIMER REQUEST BLOCK.) 
* 
# 
      BASED ARRAY TRQ [00:00] S(1); 
        BEGIN 
        ITEM TRQ$WORD   I(00,00,60);   # FULL WORD DEFINITION          #
        END 
  
      ITEM TRQL;             # NUMBER OF WORDS ALLOCATED TO TRQ        #
  
  
  
  
# 
**    EVQ - EVENT QUEUE.
* 
*     THE EVENT QUEUE IS THE MAIN INPUT QUEUE FOR THE EVENT PROCESSOR.
*     IT RESIDES IN A MANAGED TABLE.  THIS QUEUE RECEIVES UNSOLICITED 
*     STATUS SM-S, SUPERVISION EVENTS, AND ROUTED SOLICITED STATUS SM-S.
# 
  
      BASED ARRAY EVQ[00:00] S(1);
        BEGIN 
        ITEM EVQ$WORD   U(00,00,60);      # FULL WORD REFERENCE # 
        ITEM EVQ$CODE   U(00,00,12);      # EVENT CODE, ALIAS SMID #
        ITEM EVQ$WC     U(00,48,12);      # WORD CNT OF ENTRY # 
        END 
  
        ITEM EVQL;                        # LENGTH OF EVENT QUEUE # 
  
  
  
  
# 
**    CNQ - CONNECTION TRAFFIC QUEUE. 
* 
*     THE CONNECTION TRAFFIC QUEUE IS THE MAIN INPUT QUEUE FOR THE
*     CONNECTION LAYER.  IT CONTAINS CONNECTION SMS, FLOW CONTROL SMS,
*     SPECIAL HOP SMS, INBOUND DATA BLOCKS, OUTBOUND TERMINAL TEXT, 
*     AND PROTOCOL RESPONSES. 
# 
  
      BASED ARRAY CNQ[00:00] S(1);
        BEGIN 
        ITEM CNQ$WORD   U(00,00,60);      # FULL WORD REFERENCE # 
        ITEM CNQ$ID     U(00,00,12);      # CONNECTION TRAFFIC ID # 
        ITEM CNQ$WC     U(00,48,12);      # WORD CNT OF ENTRY # 
        END 
  
      ITEM CNQL;             # LENGTH OF CONN TRAFFIC Q # 
  
  
  
  
# 
**    OPTQ - OPERATOR TYPEIN QUEUE
* 
*     OPTQ RECEIVES ALL INCOMING COMMANDS (TYPEINS) FROM ALL OPERATORS
*     (REGARDLESS OF TYPE) THAT THIS CS IS CURRENTLY SUPPORTING.  AN
*     ENTRY IN THIS CONTAINS THREE PARTS.  THE FIRST PART IS THE ENTRY
*     SIZE WORD (AS PER ALL OTHER VARIABLE ENTRY SIZE QUEUES).  THE 
*     SECOND PART IS A SINGLE WORD CONTAINING THE ACN (EQUALS ACN LIST
*     ORDINAL, EQUALS OCB ORDINAL) OF THE OPERATOR, A BREAK OCCURRED
*     FLAG (INDICATES THIS TYPEIN IS A USER BREAK) AND THE COUNT OF 
*     CHARACTERS IN THE TYPEIN (ZERO FOR A BREAK), ALL IN ABH FORMAT. 
*     THE THIRD PART IS THE TEXT STRING OF THE TYPEIN IN DISPLAY CODE.
# 
  
      BASED ARRAY OPTQ [00:00] S(1);
        BEGIN 
        ITEM OPQ$WORD   U(00,00,60);  #WHOLE WORD REFERENCE            #
        END 
  
      ITEM OPQL;             #LENGTH OF OPERATOR TYPEIN QUEUE          #
  
# 
**    VCQ - VALID COMMAND QUEUE.
* 
*     THE VALID COMMAND QUEUE CONTAINS THE VALIDATED COMMAND FROM THE 
*     COMMAND RECOGNIZER. THE ORIGINAL OPERATOR TYPE-IN ALSO IS APPEND- 
*     ED TO THE ENTRY.
# 
  
      BASED ARRAY VCQ [00:00] S(1); 
        BEGIN 
        ITEM VCQ$WORD   U(00,00,60);
        END 
  
      ITEM VCQL;                          # LENGTH OF VCQ TABLE # 
  
# 
**    HRQ - HISTORY REQUEST QUEUE 
* 
*     THE HISTORY REQUEST QUEUE CONTAINS REQUESTS MADE BY 
*     OPERATORS TO SEE THE CS HISTORY BUFFER.  EACH ENTRY HAS THE 
*     SAME FORMAT AS THE VALID COMMAND QUEUE.  IT HAS A WORD
*     COUNT WORD, A HEADER WORD WITH INFORMATION ABOUT THE
*     COMMAND, THE ORIGINAL OPERATOR TYPE-IN, AND A STRUCTURED
*     VERSION OF THE COMMAND AS GENERATED BY THE COMMAND RECOGNIZER.
# 
  
      BASED ARRAY HRQ [00:00] S(1); 
        BEGIN 
        ITEM HRQ$WORD   U(00,00,60);
        END 
  
      ITEM HRQL;                       # LENGTH ALLOCATED TO HRQ TABLE #
  
  
  
# 
**    ORQ - OPERATOR RESPONSE QUEUE.
* 
*     THE OPERATOR RESPONSE QUEUE RECEIVES ALL THE MESSAGES SENT TO A 
*     GROUP OF OPERATORS.  EACH ENTRY CONTAINS A WORD COUNT WORD, AN
*     ABH WORD WHICH CONTAINS THE AUDIENCE GROUP NUMBER IN THE ABH
*     ADDRESS FIELD AND THE TEXT LENGTH, AND THE ACTUAL TEXT TO BE SENT 
*     TO THE OPERATORS IDENTIFIED BY THE GROUP NUMBER.
# 
      BASED ARRAY ORQ [00:00] S(1); 
        BEGIN 
        ITEM ORQ$WORD    U(00,00,60); 
        END 
  
      ITEM ORQL;             # LENGTH ALLOCATED TO THE ORQ             #
  
  
  
  
# 
**    RCQ - ROUTED COMMAND QUEUE. 
* 
*     THE ROUTED COMMAND QUEUE CONTAINS THE COMMANDS THAT HAVE HAD THE
*     PHYSICAL ADDRESSES RESOLVED FROM THE CROSS REFERENCE TABLES.
* 
# 
  
      BASED ARRAY RCQ [00:00] S(1); 
        BEGIN 
        ITEM RCQ$WORD   U(00,00,60);
        END 
  
      ITEM RCQL;                          # LENGTH OF RCQ TABLE # 
  
  
  
  
  
# 
**    PEQ - PROTOCOL EVENT QUEUE
* 
*     PEQ RECEIVES ALL CONNECTION/OPERATOR RELATED ASYNCHRONOUS 
*     SUPERVISORY MESSAGES THAT MUST BE PROCESSED BY THE INNER LAYER
*     EXCEPT FOR THE FC/BRK SM, WHICH IS PASSED TO THE INNER LAYER AS 
*     AN OPERATOR TYPEIN (THE FC/BRK IS USED AS A PIPE CLEANER BETWEEN
*     THE CONNECTION AND INNER LAYERS AND HENCE MUST BE PROCESSED AFTER 
*     (SYNCHRONOUS WITH) ANY TYPEINS ALREADY QUEUED FOR THE INNER 
*     LAYER).  AN ENTRY IN THIS QUEUE CONSISTS OF THREE PARTS (AS 
*     ALWAYS, A LA *CNQ*) - THE ENTRY SIZE WORD (ALSO CONTAINS A CS 
*     DEFINED SM DISPATCHING CODE), THE ABH OF THE INCOMING SM AND
*     THE SM BODY.
# 
  
      BASED ARRAY PEQ [00:00] S(1); 
        BEGIN 
        ITEM PEQ$WORD   U(00,00,60);  #WHOLE WORD REFERENCE            #
        END 
  
      ITEM PEQL;             #LENGTH OF PROTOCOL EVENT QUEUE           #
  
  
  
  
# 
**    OSQ - OPERATOR SUPERVISIOM SM QUEUE.
* 
*     THE OPERATOR SUPERVISION SM QUEUE IS AN INPUT QUEUE TO THE INNER
*     LAYER (PROCESS 3) DISPATCHER. IT RESIDES IN A MANAGED TABLE.
* 
# 
  
      BASED ARRAY OSQ[00:00] S(1);
        BEGIN 
        ITEM OSQ$WORD   U(00,00,60);      #FULL WORD REFERENCE #
        ITEM OSQ$ID     U(00,00,12);      # INTERNAL IDENTIFIER # 
        ITEM OSQ$WC     U(00,48,12);      # WORD CNT OF ENTRY # 
        END 
  
      ITEM OSQL;             # LENGTH OF OP SUPERVISION Q # 
  
  
  
  
# 
**    SSQ - SOLICITED STATUS QUEUE. 
* 
*     THE SOLICITED STATUS SM QUEUE IS AN INPUT QUEUE INTO THE INNER
*     LAYER (PROCESS 3) FROM THE NETWORK DISPATCHER (CSDDNT). ALL 
*     SOLICITED STATUS SMS ARE QUEUED HERE. 
# 
  
      BASED ARRAY SSQ[00:00] S(1);
        BEGIN 
        ITEM SSQ$WORD   U(00,00,60);      # FULL WORD REFERENCE # 
        ITEM SSQ$ID     U(00,00,12);      # INTERNAL IDENTIFIER # 
        ITEM SSQ$WC     U(00,48,12);      # WORD CNT OF ENTRY # 
        END 
  
      ITEM SSQL;             # SOL STATUS Q LENGTH #
  
  
  
  
  
  
# 
**    CTQ - CONFIGURE TERMINAL REQUEST QUEUE. 
* 
*     CTQ CONTAINS ALL INCOMING CNF/TE/R SMS FROM NPUS THAT THIS CS IS
*     SUPERVISING.  AN ENTRY IN THIS QUEUE CONSISTS OF THREE PARTS.  THE
*     FIRST PART IS A SINGLE WORD CONTAINING THE SIZE OF THE ENTRY IN CM
*     WORDS (THE SIZE WORD IS INCLUDED IN THE WORD COUNT).  THE SECOND
*     PART IS THE APPLICATION BLOCK HEADER OF THE CNF/TE/R SM.  THE 
*     THIRD PART IS THE BODY OF THE CNF/TE/R SM BEGINNING WITH THE
*     PFC/SFC.  THE ARRAY ENTRY SIZE IS ONE WORD TO EASE STORAGE MOVING.
# 
  
      BASED ARRAY CTQ [00:00] S(1); 
        BEGIN 
        ITEM CTQ$WORD   U(00,00,60);  #WHOLE WORD FOR STORAGE MOVING   #
        ITEM CTQ$ESIZE  U(00,48,12);  #ENTRY SIZE IN CM WORDS          #
        ITEM CTQ$NPUID  U(01,14,08);  #SOURCE NODE IN ABH WORD         #
        ITEM CTQ$PORT   U(02,16,08);  #PORT NUMBER IN 1ST WD OF SM BODY#
        END 
  
      ITEM CTQL;             # LENGTH OF CONFIGURE TERMINAL REQ QUEUE  #
  
  
  
# 
**    NRQ - NCF READ REQUESTS QUEUE.
* 
*     NRQ CONTAINS ALL CNF/TE/R SMS FOR WHICH THE READING OF THE CORRECT
*     LINE RECORD HAS BEEN INITIATED.  AN ENTRY IN THIS QUEUE CONSISTS
*     OF THREE PARTS.  THE FIRST PART IS A SINGLE WORD CONTAINING THE 
*     SIZE OF THE ENTRY IN CM WORDS (THE SIZE WORD IS INCLUDED IN THE 
*     WORD COUNT) AND THE LINE RECORD INDEX ORDINAL OF THE LINE RECORD
*     BEING READ.  THE SECOND AND THIRD PARTS ARE THE ABH AND BODY OF 
*     THE CNF/TE/R SM EXACTLY AS FOR THE CONFIGURE TERMINAL REQUEST 
*     QUEUE.  THE DEFINED ARRAY ENTRY SIZE IS ONE WORD TO FACILITATE
*     STORAGE MOVING. 
# 
  
      BASED ARRAY NRQ [00:00] S(1); 
        BEGIN 
        ITEM NRQ$WORD   U(00,00,60);  #WHOLE WORD FOR STORAGE MOVING   #
        ITEM NRQ$LRIORD U(00,12,12);  #LINE RECORD INDEX ENTRY ORDINAL #
        ITEM NRQ$ESIZE  U(00,48,12);  #ENTRY SIZE IN CM WORDS          #
        END 
  
      ITEM NRQL;             #LENGTH OF NCF READ REQUESTS QUEUE        #
  
  
  
# 
**    NDQ - NCF DATA QUEUE. 
* 
*     NDQ CONTAINS ALL CNF/TE/R SMS AND THEIR ASSOCIATED NCF LINE 
*     RECORDS.  THE LAST ENTRY IN THIS QUEUE MAY CONTAIN ONLY PART OF 
*     ITS LINE RECORD IF THAT LINE RECORD HAS NOT YET BEEN COMPLETELY 
*     READ.  AN ENTRY IN THIS QUEUE CONSISTS OF FOUR PARTS.  THE FIRST
*     PART IS A SINGLE WORD CONTAINING THE FOLLOWING FIELDS:  
* 
*       - A FLAG TO INDICATE IF THE ENTRY IS COMPLETE (ENTIRE LINE
*         RECORD HAS BEEN READ).
*       - THE ORDINAL OF THE LINE RECORD INDEX ENTRY. 
*       - THE LENGTH OF THE LINE RECORD (OR OF THAT PORTION WHICH HAS 
*         BEEN READ SO FAR) IN CM WORDS.
*       - THE SIZE OF THE ORIGINAL CONFIGURE TERMINAL REQUEST (INCLUDES 
*         THIS WORD PLUS THE ABH AND BODY OF THE CNF/TE/R SM) IN CM 
*         WORDS.  I.E., THIS IS THE SAME SIZE AS THE ORIGINAL CONFIGURE 
*         TERMINAL REQUEST AND NCF READ REQUEST QUEUE ENTRIES.
*       - THE TOTAL SIZE OF THIS ENTRY (INCLUDING THIS WORD) IN CM WDS. 
* 
*     THE SECOND AND THIRD PARTS ARE THE ABH AND BODY OF THE CNF/TE/R SM
*     EXACTLY AS FOR THE CONFIGURE TERMINAL REQUEST QUEUE.  THE FOURTH
*     PART IS THE NCF LINE RECORD (OR THAT PORTION WHICH HAS BEEN READ
*     SO FAR).  THE DEFINED ARRAY ENTRY SIZE IS ONE WORD TO FACILITATE
*     STORAGE MOVING. 
# 
  
      BASED ARRAY NDQ [00:00] S(1); 
  
        BEGIN 
        ITEM NDQ$WORD   U(00,00,60);  #WHOLE WORD FOR STORAGE MOVING   #
        ITEM NDQ$CFLAG  B(00,00,12);  #ENTRY COMPLETE FLAG (T=COMPLETE)#
        ITEM NDQ$LRIORD U(00,12,12);  #LINE RECORD INDEX ENTRY ORDINAL #
        ITEM NDQ$LRSIZE U(00,24,12);  #LENGTH OF LINE RECORD           #
        ITEM NDQ$TCSIZE U(00,36,12);  #SIZE OF CONFIGURE TERMINAL REQ  #
        ITEM NDQ$ESIZE  U(00,48,12);  #ENTRY SIZE IN CM WORDS          #
        ITEM NDQ$PFSF   U(0,0,16) ;   # PFCSFC OF MESSAGE IN QUEUE     #
        END 
  
      ITEM NDQL;             #LENGTH OF NCF DATA QUEUE                 #
  
  
  
  
  
# 
**    NPUQ - NPU SUPERVISION SM QUEUE.
* 
*     NPUQ CONTAINS SUPERVISORY MESSAGES PERTAINING TO THE COMING 
*     AND GOING OF NPUS.
# 
  
      BASED ARRAY NPUQ [00:00] S(1);
  
        BEGIN 
        ITEM NP$WORD    U(00,00,60);  #WHOLE WORD FOR STORAGE MOVING   #
        END 
  
      ITEM NPUQL;            #LENGTH OF THE NPU SUPERVISION SM QUEUE   #
  
  
  
  
  
# 
**    OTQ - OUTGOING TRAFFIC QUEUE. 
* 
*     A VARIABLE LENGTH ENTRY FIFO QUEUE CONTAINING SM-S AND DATA BLOCKS
*     OUTGOING FROM CS TO NIP.  EACH ENTRY FORMAT IS: 
*       1) A ONE WORD WORD-COUNT FOR THE NUMBER OF WORDS IN THE ENTRY.
*       2) A ONE WORD ABH - APPLICATION BLOCK HEADER, AND 
*       3) SM-TEXT OR DATA-BLOCK. 
# 
  
      BASED ARRAY OTQ [00:00] S(1); 
        BEGIN 
        ITEM OTQ$WORD   U(00,00,60);
        END 
  
      ITEM OTQL   I;               # OTQ QUEUE LENGTH              #
  
  
  
  
# 
**    WBQ - WAITING BLOCK QUEUE.
* 
*     THIS QUEUE CONTAINS BLOCKS FOR ALL ACN-S THAT CANNOT BE SENT. 
*     THE CONNECTION MAY NOT HAVE BEEN INITIALIZED OR THE OUTSTANDING 
*     BLOCK COUNT MAY BE AT LIMIT OR IN AN INHIBITED OR WAITING STATE.
* 
# 
      BASED ARRAY WBQ[00:00] S(1);
        BEGIN 
        ITEM WBQ$WORD   U(00,00,60);   # FULL WORD REFERENCE           #
        ITEM WBQ$LICNT  U(00,12,12);   # HOP LINE COUNT                #
        ITEM WBQ$ESIZE  U(00,48,12);   # ENTRY SIZE IN CM WORDS        #
        ITEM WBQ$ABT    U(01,00,06);   # APP. BLOCK TYPE               #
        ITEM WBQ$ABHACN U(01,06,12);   # ACN IN ABH                    #
        ITEM WBQ$ABN    U(01,18,18);   # APPLICATION BLOCK NUMBER      #
        ITEM WBQ$ACT    U(01,36,04);   # APP. CHARACTER TYPE           #
        ITEM WBQ$NFE    U(01,44,01);   # NO FORMAT EFFECTOR            #
        ITEM WBQ$TLC    U(01,48,12);   # TEXT LENGTH                   #
        ITEM WBQ$PSFC   U(02,00,16);   # PSC/SFC IN SM                 #
        ITEM WBQ$SMACN  U(02,24,12);   # ACN IN SM BODY                #
        ITEM WBQ$HIAF   B(02,59,01);   # HOP INPUT ALLOWED FLAG        #
        END 
  
      ITEM WBQL;             # LENGTH OF WAITING BLOCK QUEUE           #
  
  
  
  
  
# 
**    ODEQ - OPERATOR DIRECTED EVENT QUEUE. 
* 
*     THIS QUEUE CONTAINS ENTRIES THAT CONTAIN AN EVENT LINE THAT 
*     IS INTENDED TO A SPECIFIC OPERATOR. 
# 
  
      BASED ARRAY ODEQ [00:00] S(1);
        BEGIN 
        ITEM ODE$WORD   U(00,00,60);     # FULL WORD REF #
        ITEM ODE$WC     U(00,48,12);     # NUM WORDS IN ENTRY # 
        END 
  
      ITEM ODEQL;                        # LENGTH OF ODEQ # 
  
# 
**    HBFQ - HISTORY BUFFER QUEUE.
* 
*     THIS QUEUE CONTAINS ONE ENTRY THAT HOLDS ALL THE TEXT LINES 
*     INTENDED TO COMPRISE THE HISTORY BUFFER. THE PROGRAM DEFINI-
*     TION MXHSBLCNT$ IN TEXTCS DICTATES THE MAXIMUM NUMBER OF
*     LINES THAT ARE ALLOWED TO BE IN THE HISTORY BUFFER. 
# 
  
      BASED ARRAY HBFQ [01:01] S(HBFESIZ$); 
        BEGIN 
        ITEM HBF$WORD   U(00,00,60);     # FULL WORD REF #
        ITEM HBF$AGRP   U(08,00,03);     # AUDIENCE GROUP OF MESSAGE #
        ITEM HBF$NORD   U(08,03,09);     # ORDINAL OF NPU THAT SENT MSG#
        ITEM HBF$LFLG   B(08,53,01);     # LIST FLAG #
        ITEM HBF$WC     U(08,54,06);     # MESSAGE WORD COUNT # 
        END 
  
      ITEM HBFQL;                        # LENGTH OF HBFQ # 
  
  
# 
**        TEND - DUMMY LAST TABLE.
* 
*         SERVES NO PURPOSE EXCEPT TO TERMINATE THE VECTOR OF 
*         TABLE POINTERS USED BY MANAGER. 
* 
# 
      BASED ARRAY TEND [0:0] S(1);     # DUMMY END ARRAY OF MANAGER    #
        BEGIN 
        ITEM TEN$WORD   U(00,00,60);  # CONTAINS ADDRESS AT END OF FL  #
        END 
  
      ITEM TENL;             # CONTAINS TOTAL STORAGE USED             #
  
      ITEM V24FLAG B ;             # CCP 2.4 FLAG                      #
      ITEM CCPVERS U       ;       # CCP VERSION                       #
  
      END                              # TABLES                        #
      DEF PAGE1 #1# ; 
      DEF PAGE2 #2# ; 
      DEF PAGE3 #3# ; 
      DEF NPG   #3# ;              # CURRENT NUMBER OF PAGE FOR RIGHT  #
                                   # K DISPLAY SCREEN                  #
  
      DEF RKPAGESZ #116#;          # SIZE OF RIGHT K-DISPLAY IN WORD   #
  
  
      END #TEXTCS # 
 TERM 
