* 02/19/76 -- 09:00
* MODULE NAME: ITEMDEF
* NUMBER: 92
* PURPOSE: CONTAINS DATADEF ITEM DEFINITIONS FOR THE FOLLOWING TABLES
*                 CMDTBL -- COMMAND DEFINITION TABLES
*                 CMDSTA -- COMMAND STATUS
*                 WSSTA  -- WORKING STORAGE STATUS
*                 DCBTBL -- DCB,FPT POINTERS
*                 PRSTA  -- PRINTOUT STATUS
*                 LNSTA  -- LINE STATUS TABLE
*                 AFSTA  -- AUXILIARY FILE STATUS
*                 TBLSTA -- TABLE STATUS
*                 TAGSTA -- TAG RECORD STATUS
*                 HDRSTA -- HEADER RECORD STATUS
*
* ALSO REDEFINES SOME DATADEF PROCS FOR EASIER USE
*
* CALLED BY 'SYSTEM ITEMDEF'
*
*
         DISP     X'021976'         DATE
*
*
* STANDARD BUFFER REF'S
*
         DO       TXT:REFS          REF'S ONLY IF REF FLAG IS ON
         REF      STDINBUF          STANDARD INPUT BUFFER
         REF      STDPRBUF          STANDARD PRINT BUFFER
         REF      STDX1BUF,STDX2BUF,STDX3BUF STANDARD AUXILIARY BUFFERS
         REF      MSGBUF            MESSAGE BUFFER
         FIN
*
*
         SYSTEM   DATADEF           CALL IN SYSTEM DATADEF
*                                   (SHOULD BE AT LEAST VERSION C02)
*
*
* CMDTBL -- COMMAND DEFINITION TABLES (CMDTBL,FCL)
*
*        FCL - FIRST CHARACTER LIST ENTRIES
*
INVCMDTBL CNAME
         PROC
*
         REF      FCL               FIRST ENTRY IN FIRST CHARACTER LIST
*
#FCHAR   ITEMLIST (LB,7),(AD,FCL),(BI,32)
#CMDPTR  ITEMLIST (FB,16),(AD,FCL),(BI,32)
*
*        CMDTBL - COMMAND DEFINITION ENTRIES
*
         REF      CMDTBL
*
#NWDEF   ITEMLIST (LB,7),(AD,D1)
#PFLG    ITEMLIST #NWDEF,(FB,8),(LB,8)
#EFLG    ITEMLIST #NWDEF,(FB,9),(LB,9)
#LFLG    ITEMLIST #NWDEF,(FB,10),(LB,10)
#SAVNUM  ITEMLIST #NWDEF,(FB,11),(LB,14)
#ACTN    ITEMLIST #NWDEF,(FB,15),(LB,31)
#NXTCMD  ITEMLIST #NWDEF,(LB,15),(EO,:EO(#NWDEF)+1)
#PARAMS  ITEMLIST #NXTCMD,(FB,16),(LB,31)
#NCCMD   ITEMLIST #NXTCMD,(LB,7),(EO,:EO(#NXTCMD)+1)
*
         PEND
*
*
*
* CMDSTA -- COMMAND STATUS TABLE
*
INVCMDSTA CNAME   0
         PROC
*
         DO1      TXT:REFS          DO IF REF FLAG ON
         REF      CMDSTA
*
#NCHCMD  ITEMLIST (AD,CMDSTA)
#IOFLG   ITEMLIST #NCHCMD,(EO,:EO(#NCHCMD)+1)
#CMDST   ITEMLIST #NCHCMD,(EO,:EO(#IOFLG)+1)
*
#CMDINIT ITEMLIST #CMDST,(BI,32)    INITIALIZATION BASE
#EMBFLG  ITEMLIST #CMDINIT,(EO,:EO(#CMDINIT)+1)   EMBEDDED COMMAND FLAG
#FLAGS   ITEMLIST #EMBFLG
*
*
#APADDR  ITEMLIST #CMDINIT,(EO,:EO(#FLAGS)+21)
*
#NCCS    ITEMLIST #APADDR,(LB,7),(BI,32)
#CS      ITEMLIST #NCCS,(FB,8),(LB,31)
#NCNM    ITEMLIST #NCCS,(EO,:EO(#NCCS)+4)
#NM      ITEMLIST #NCNM,(FB,8),(LB,31)
#NCPW    ITEMLIST #NCCS,(EO,:EO(#NCNM)+1)
#PW      ITEMLIST #NCPW,(FB,8),(LB,31)
#DS      ITEMLIST #APADDR,(BI,32),(EO,:EO(#PW))
#DSHW    ITEMLIST #DS,(FB,16),(A)
*
#NCDOCNM ITEMLIST #NCCS,(EO,:EO(#DS)+4)
#DOCNM   ITEMLIST #NCDOCNM,(FB,8),(LB,31)
#NCACCT  ITEMLIST #NCCS,(EO,:EO(#DOCNM)+1)
#ACCT    ITEMLIST #NCACCT,(FB,8),(LB,31)
#NCGETPW ITEMLIST #NCCS,(EO,:EO(#ACCT)+1)
#GETPW   ITEMLIST #NCGETPW,(FB,8),(LB,31)
#NCDOCID ITEMLIST #NCCS,(EO,:EO(#GETPW)+1)
#DOCID   ITEMLIST #NCDOCID,(FB,8),(LB,31)
#NCDELPW ITEMLIST #NCCS,(EO,:EO(#DOCID)+1)
#DELPW   ITEMLIST #NCDELPW,(FB,8),(LB,31)
*
#LN      ITEMLIST #APADDR,(EO,:EO(#DELPW)+1)
#RN1     ITEMLIST #APADDR,(EO,:EO(#LN)+1)
#RN2     ITEMLIST #APADDR,(EO,:EO(#RN1)+1)
*
SZCMDSTA EQU      :EO(#RN2)+1
SZCMDINIT EQU     SZCMDSTA-:EO(#CMDINIT)-1
*
         PEND
*
*
*
*
*
* WSSTA -- WORKING STORAGE STATUS TABLE
*
INVWSSTA CNAME    0
         PROC
         LOCAL    #WSDEF
*
         DO1      TXT:REFS
         REF      WSSTA,SAVWSSTA
*
*
#WSDEF   ITEMLIST (AD,WSSTA),(BI,32)
#WSBASE  ITEMLIST #WSDEF,(EO,:EO(#WSDEF)-1)      ITEM BASE
*
WS:NTABS ITEMLIST #WSDEF,(LB,7)
WS:TABS  ITEMLIST WS:NTABS,(BI,8)
WS:MXTABS EQU     16                16 TABS MAXIMUM
WS:SZTABS EQU     (WS:MXTABS+1)/4+1 NUMBER OF WORDS USED
*
#PRNTFLG ITEMLIST #WSDEF,(EO,:EO(WS:TABS)+WS:SZTABS)
#LSTFMT  ITEMLIST #WSDEF,(EO,:EO(#PRNTFLG)+1)
*
#WLPBASE ITEMLIST #WSDEF,(LB,7),(BI,8),;          WIDTH,DEPTH,SETTINGS
                      (EO,:EO(#LSTFMT)+1)
#WIDTH   ITEMLIST #WLPBASE,(FB,8),(LB,15),(BI,0)
#DEPTH   ITEMLIST #WLPBASE,(FB,16),(LB,23),(BI,0)
#LDEPTH  ITEMLIST #WLPBASE,(FB,24),(LB,31),(BI,0)
*
#WKEYS   ITEMLIST #WSDEF,(EO,:EO(#WLPBASE))
*
#NXTKEY  ITEMLIST #WKEYS,(EO,:EO(#WKEYS)+1)
*
#LKEY    ITEMLIST #WKEYS,(EO,:EO(#NXTKEY)+1)
#LKEYSZ  ITEMLIST #LKEY,(LB,7)
#LKEYVAL ITEMLIST #LKEY,(FB,8),(LB,31)
*
#FKEY    ITEMLIST #WKEYS,(EO,:EO(#LKEY)+1)
#CLP     ITEMLIST #WKEYS,(EO,:EO(#FKEY)+1)
#SZKEYS  EQU   4
*
#ZROKEY  EQU      X'03000000'       KEY= 0.0
#KEYINCR EQU      1000
#FSTKEY  EQU      X'030003E8'       KEY= 1.0
#MAXKEY  EQU      X'0398967F'       KEY= 9999.999
#TAGKEY  EQU      X'03A00000'       LOWEST TAG KEY
#OVFLKEY EQU      X'03E00000'       FIRST OVERFLOW KEY
*
#WSINIT  ITEMLIST #WSDEF,(EO,:EO(#CLP))
#NLINES  ITEMLIST #WSDEF,(EO,:EO(#WSINIT)+1)
*
#NXTOVFL ITEMLIST #WSDEF,(EO,:EO(#NLINES)+1)
#CODEWRD EQU      'TEXT'            CODE WORD FOR DOCUMENTS
#MRCODE  EQU      'MREC'            CODE WORD FOR MASTER RECORD
WS:TXTCODE ITEMLIST #WSDEF,(EO,:EO(#NXTOVFL)+1)
*
WS:TIME  ITEMLIST #WSDEF,(EO,:EO(WS:TXTCODE)+1)   SAVE TIME AND DATE
#SZTIME  EQU      4                 4 WORDS
*
WS:IDSZ  ITEMLIST #WSDEF,(LB,7),(EO,:EO(WS:TIME)+#SZTIME)  DOC ID SIZE
WS:DOCID ITEMLIST WS:IDSZ,(BI,8)                  DOCUMENT ID
#SZDOCID EQU      16                UP TO 63 CHARACTERS (16 WORDS)
WS:FORM  ITEMLIST #WSDEF,(EO,:EO(WS:DOCID)+#SZDOCID)  FORM-LETTER FLAG
WS:OPID  ITEMLIST #WSDEF,(EO,:EO(WS:FORM)+1)      OPERATOR ID
#SZOPID  EQU      3                 12 CHARACTERS
WS:MGET  ITEMLIST #WSDEF,(EO,:EO(WS:OPID)+#SZOPID),(LB,7) MEMO-GET FLAG
WS:MLOG  ITEMLIST #WSDEF,(EO,:EO(WS:OPID)+#SZOPID),(FB,8),(LB,15) MEMO-LOG
WS:MEMO  ITEMLIST #WSDEF,(EO,:EO(WS:OPID)+#SZOPID),(FB,24) MEMO-MODE FLAG
*
SZWSSTA  EQU      :EO(WS:MEMO)+1
SZWSINIT EQU      SZWSSTA-:EO(#NLINES)
*
         PEND
*
*
*
* DCB AND FPT POINTERS
*
*
INVDCBTBL CNAME   0                 INVOKE DCB,FPT,NAME TABLES
         PROC
         REF      DCBADDR,FPTADDR
*
#DCBADDR ITEMLIST (AD,DCBADDR)
#ARS     ITEMLIST #DCBADDR,(LB,14),(EO,4)
DCB:ORG  ITEMLIST #DCBADDR,(FB,25),(LB,27),(EO,5)
#KBUF    ITEMLIST #DCBADDR,(FB,15),(EO,10)
DCB:FCD  ITEMLIST #DCBADDR,(FB,10),(LB,10)        FILE-CLOSED INDICATOR
DCB:DRC  ITEMLIST #DCBADDR,(FB,16),(LB,16)
DCB:TABS ITEMLIST #DCBADDR,(LB,7),(BI,8),(EO,15)
DCB:NCNM ITEMLIST #DCBADDR,(LB,7),(EO,23)         FILE NAME
*
*
#FPTADDR ITEMLIST (AD,FPTADDR)
*
#PRECFR  ITEMLIST #FPTADDR,(FB,27),(LB,27),(EO,1)
*
#CRELSVE ITEMLIST #FPTADDR,(EO,2)
*
#FPTORG  ITEMLIST #FPTADDR,(EO,4)   OPEN ORG
#CONSEC  EQU      1
#KEYED   EQU      2
*
#FPTACC  ITEMLIST #FPTADDR,(EO,5)   OPEN ACCESS METHOD
#SEQUEN  EQU      1
#DIRECT  EQU      2
*
#FPTMODE ITEMLIST #FPTADDR,(EO,6)   OPEN MODE
*
#FPTNMNW ITEMLIST #FPTADDR,(FB,16),(LB,23),(EO,8)
#FPTNMNC ITEMLIST #FPTNMNW,(FB,0),(LB,7),(EO,:EO(#FPTNMNW)+1)
#FPTAPNW ITEMLIST #FPTNMNW,(BI,96),(EO,:EO(#FPTNMNW)+9)
*
FPT:NTABS ITEMLIST #FPTADDR,(LB,7),(EO,2)
FPT:TABS ITEMLIST FPT:NTABS,(BI,8)
*
FPT:DRCWRD ITEMLIST #FPTADDR,(EO,1)
#DRCONWRD  EQU    16
*
FPT:PFILE ITEMLIST #FPTADDR,(EO,1)  PFILE WORD
#BOFPFILE EQU     16                BOF PFILE WORD
#EOFPFILE EQU     0                 EOF PFILE WORD
*
FPT:MTNWLB ITEMLIST #FPTADDR,(FB,16),(LB,23),(EO,6)
FPT:MTNCLB ITEMLIST #FPTADDR,(LB,7),(EO,7)
FPT:MTSN ITEMLIST #FPTADDR,(EO,19)
FPT:NXTSN ITEMLIST #FPTADDR,(EO,7)
*
*
*
         PEND
*
* PRSTA -- PRINT STATUS TABLE
*
*
INVPRSTA CNAME    0
         PROC
         LOCAL    PR:DEF
*
         DO1      TXT:REFS
         REF      PRSTA
*
*
PR:DEF   ITEMLIST (AD,PRSTA),(BI,32)    DEFAULT ITEM
PR:INIT  ITEMLIST PR:DEF,(EO,-1)        INITIALIZATION BASE
*
PR:FMTFLG ITEMLIST PR:DEF,(A)           FORMAT FLAG (1=FORMATTED)
PR:LPFLG ITEMLIST PR:DEF,(EO,:EO(PR:FMTFLG)+1),(A)  LP FLAG
PR:HFLNS ITEMLIST PR:DEF,(EO,:EO(PR:LPFLG))  BASE FOR H/F LINES
PR:HLNS  ITEMLIST PR:HFLNS,(EO,:EO(PR:HFLNS)+1)   HEADING LINES
PR:FLNS  ITEMLIST PR:HFLNS,(EO,:EO(PR:HFLNS)+2)   FOOTING LINES
*
PR:HFSAV ITEMLIST PR:DEF,(EO,:EO(PR:FLNS)+1) H/F SAVE FLAG
PR:KT    ITEMLIST PR:DEF,(EO,:EO(PR:HFSAV)+1)     KEEP-TOGETHER WORD
PR:KTFLG ITEMLIST PR:KT,(FB,8),(LB,31)            KEEP-TOGETHER FLAG
PR:P2KT  ITEMLIST PR:KT,(FB,0),(LB,7)             PASS 2 K-T
PR:BLKFLG ITEMLIST PR:DEF,(EO,:EO(PR:KTFLG)+1)    BLOCK FLAG
*
PR:RLNS  ITEMLIST PR:DEF,(EO,:EO(PR:BLKFLG)+1),(A) REMAINING LINES
PR:PGNUM ITEMLIST PR:DEF,(EO,:EO(PR:RLNS)+1)      PAGE NUMBER
PR:FSTLN ITEMLIST PR:DEF,(EO,:EO(PR:PGNUM)+1)     FIRST PRINT LINE
PR:LSTLN ITEMLIST PR:DEF,(EO,:EO(PR:FSTLN)+1)     LAST PRINT LINE
PR:TOPFLG ITEMLIST PR:DEF,(EO,:EO(PR:LSTLN)+1)    TOP-OF-PAGE FLAG
PR:CTRFLG ITEMLIST PR:DEF,(EO,:EO(PR:TOPFLG)+1)   UNF CENTERING FLAG
*
PR:TSKP  ITEMLIST PR:DEF,(EO,:EO(PR:CTRFLG)+1)    TOP-SKIP COUNTER
PR:BSKP  ITEMLIST PR:DEF,(EO,:EO(PR:TSKP)+1)      BOTTOM-SKIP COUNTER
PR:NBSKP ITEMLIST PR:DEF,(EO,:EO(PR:BSKP)+1)      NEXT B-SKIP COUNTER
*
PR:NLFLG ITEMLIST PR:DEF,(EO,:EO(PR:NBSKP)+1)     NEW-LINE FLAG
PR:LNFIN ITEMLIST PR:DEF,(EO,:EO(PR:NLFLG)+1)     LINE-FINISHED FLAG
PR:ULFLG ITEMLIST PR:DEF,(EO,:EO(PR:LNFIN)+1)     UNDERLINE FLAG
PR:OUTKEY ITEMLIST PR:DEF,(EO,:EO(PR:ULFLG)+1)    NEXT OUTPUT KEY
PR:SPACE ITEMLIST PR:DEF,(EO,:EO(PR:OUTKEY)+1)    SPACING COUNT
PR:SPFLG ITEMLIST PR:DEF,(EO,:EO(PR:SPACE)+1)     K-T SPACING FLAG
*
PR:SLNS  ITEMLIST PR:DEF,(EO,:EO(PR:SPFLG))       SKIP LINES BASE
PR:TSLNS ITEMLIST PR:SLNS,(EO,:EO(PR:SLNS)+1)     TOP-PRINT LINES
PR:NBSLNS ITEMLIST PR:SLNS,(EO,:EO(PR:TSLNS)+1)   NEXT-BOTTOM LINES
PR:BSLNS ITEMLIST PR:SLNS,(EO,:EO(PR:NBSLNS)+1)   BOTTOM PRINT LINES
PR:BLKCKEY ITEMLIST PR:DEF,(EO,:EO(PR:BSLNS)+1)   BLOCK CALLOUT KEY
PR:TBLMODE ITEMLIST PR:DEF,(EO,:EO(PR:BLKCKEY)+1)  TABLE FLAG
PR:VFLG  ITEMLIST PR:DEF,(EO,:EO(PR:TBLMODE)+1)   XGP OUTPUT FLAG
PR:PRFLG ITEMLIST PR:DEF,(EO,:EO(PR:VFLG)+1)   NEW PARAGRAPH FLAG
*
SZPRSTA  EQU      :EO(PR:PRFLG)+1   PR STATUS TABLE SIZE
*
         PEND
*
*
*
* LNSTA -- LINE STATUS TABLE
*
*
INVLNSTA CNAME    0
         PROC
         LOCAL    LN:DEF
*
         DO1      TXT:REFS
         REF      LNSTA
*
*
LN:DEF   ITEMLIST (AD,LNSTA),(BI,32)    DEFAULT ITEM
LN:INIT  ITEMLIST LN:DEF,(EO,-1)                 INITIALIZATION BASE
*
LN:INPTR ITEMLIST LN:DEF                          INPUT LINE POINTER
LN:OUTPTR ITEMLIST LN:DEF,(EO,:EO(LN:INPTR)+1)    OUTPUT LINE POINTER
LN:INSZ  ITEMLIST LN:DEF,(EO,:EO(LN:OUTPTR)+1),(A)  INPUT LINE SIZE
LN:OUTSZ ITEMLIST LN:DEF,(EO,:EO(LN:INSZ)+1),(A)  OUTPUT LINE SIZE
*
LN:CKEY  ITEMLIST LN:DEF,(EO,:EO(LN:OUTSZ)+1)     INPUT LINE KEY
LN:STKEY ITEMLIST LN:DEF,(EO,:EO(LN:CKEY)+1)      OUTPUT LINE FIRST KEY
LN:CPSTN ITEMLIST LN:DEF,(EO,:EO(LN:STKEY)+1)     CARRIER POSITION
LN:MXPSTN ITEMLIST LN:DEF,(EO,:EO(LN:CPSTN)+1)    MAX CARRIER POSITION
LN:NSTOP ITEMLIST LN:DEF,(EO,:EO(LN:MXPSTN)+1)    NUMBER OF STOPS
*
SZLNSTA  EQU      :EO(LN:NSTOP)+1   LINE STATUS TABLE SIZE
*
         PEND
*
*
* AFSTA -- AUXILIARY FILE STATUS TABLE
*
*
INVAFSTA CNAME    0                 INVOKE STATUS TABLE
         PROC
         LOCAL    AF:DEF
*
         DO1      TXT:REFS
         REF      AFSTA,NXTENTRY
*
AF:DEF   ITEMLIST (AD,AFSTA),(BI,32)              DEFAULT ITEM
AF:INIT  ITEMLIST AF:DEF,(EO,-1)                  INITIALIZATION ITEM
*
AF:NUMPG ITEMLIST AF:DEF                          NUMBER OF MEMORY PAGES
AF:NTYPE EQU      3                               THREE AUX. FILE TYPES
AF:FSTPG ITEMLIST AF:DEF,(EO,:EO(AF:NUMPG))       FIRST PAGE ADDRESSES
AF:NXTPG ITEMLIST AF:DEF,(EO,:EO(AF:FSTPG)+AF:NTYPE)  LAST PAGE USED
*
SZAFSTA  EQU      :EO(AF:NXTPG)+AF:NTYPE+1        SIZE OF AF STATUS
*
AF:NSTC  ITEMLIST (AD,NXTENTRY),(LB,7)            # OF STANDARD CHARS
AF:XSPC  ITEMLIST AF:NSTC,(FB,8),(LB,15)          # OF HEX CHARS
*
         PEND
*
*
*
*
*
* TABLE STATUS
*
INVTBLSTA  CNAME                    INVOKE TABLE STATUS ITEM DEFINITIONS
         PROC                      *NOTE: ALL ITEMS ARE ADDRESSED  *
         LOCAL    TB:DEF           *      INDIRECTLY THROUGH TBLPTR*
*
         REF      TBLPTR            POINTER TO NEXT ENTRY
*
TB:DEF   ITEMLIST (AD,TBLPTR)       DEFAULT ITEM
*
TB:TYPE  ITEMLIST TB:DEF,(LB,7)                   COLUMN TYPE (0=U,1=F)
TB:CPSTN ITEMLIST TB:DEF,(FB,8),(LB,15)           STARTING POS. FOR COL.
TB:MXPSTN ITEMLIST TB:DEF,(FB,16),(LB,23)         MAX POS. FOR COL.
TB:LBLNKS ITEMLIST TB:DEF,(FB,24)                 LEADING BLANKS FOR COL
*
TB:CKEY  ITEMLIST TB:DEF,(EO,:EO(TB:TYPE)+1)      CURRENT KEY FOR COL.
TB:ENDKEY ITEMLIST TB:DEF,(EO,:EO(TB:CKEY)+1)     END KEY FOR COL.
*
TB:INBUF ITEMLIST TB:DEF,(EO,:EO(TB:ENDKEY)+1)    INPUT BUFFER ADDR
TB:INPTR ITEMLIST TB:DEF,(EO,:EO(TB:INBUF)+1)     INPUT LINE POINTER
TB:INSZ  ITEMLIST TB:DEF,(EO,:EO(TB:INPTR)+1)     INPUT LINE SIZE
*
SZTBLSTA EQU      :EO(TB:INSZ)+1    SIZE OF TABLE ENTRIES
         PEND
*
*
*
         PAGE
*
* TAGSTA -- TAG STATUS TABLE
*
* NOTE: ENTRIES IN THIS TABLE ARE POINTERS TO
*       THE TAG BUFFER AND MUST BE ACCESSED
*       INDIRECTLY THROUGH TAGBUF.
*
INVTAGSTA CNAME
         PROC
         LOCAL    TAG:DEF
*
         REF      TAGBUF            POINTER TO TAG BUFFER
         REF      OCCBASE           POINTER TO OCCURENCE BASE
*
TAG:DEF  ITEMLIST (AD,TAGBUF)       DEFAULT ITEM
TAG:TYPE ITEMLIST TAG:DEF,(LB,7)    TAG TYPE (TAG=1,INDEX=2,TITLE=3,
*                                             BLOCK=4)
TAG:TLEVEL ITEMLIST TAG:DEF,(FB,8),(LB,15)   TITLE LEVEL (0-9)
TAG:NOCC ITEMLIST TAG:DEF,(FB,16),(LB,23)    NUMBER OF OCCURENCES
TAG:NXTHASH ITEMLIST TAG:DEF,(EO,:EO(TAG:DEF)+1)  NEXT OVERFLOW KEY
TAG:NCTAG ITEMLIST  TAG:DEF,(LB,7),;         NUMBER OF CHARACTERS
                  (EO,:EO(TAG:NXTHASH)+1)         IN TAG
#TAGDISP EQU      :EO(TAG:NCTAG)*4+1         BYTE DISPLACEMENT
*                                                 OF FIRST TAG CHAR
TAG:OCCBASE ITEMLIST (AD,OCCBASE),(BI,32)    TAG OCCURENCE BASE
*                                                 (OCCURENCE 0)
TAG:OCCDISP ITEMLIST TAG:OCCBASE,(LB,7)      DISPLACEMENT OF TAG IN LINE
TAG:OCCKEY  ITEMLIST TAG:OCCBASE,(FB,8)      KEY OF TEXT LINE WITH TAG
*
         PEND
*
*
         PAGE
*
* HDRSTA -- HEADER RECORD STATUS TABLE
*
*
INVHDRSTA CNAME   0                 INVOKE STATUS TABLE
         PROC
         LOCAL    HDR:DEF           DEFAULT ITEM
*
         DO1      TXT:REFS
         REF      HDRSTA            ADDR OF STATUS TABLE
*
HDR:DEF  ITEMLIST (AD,HDRSTA)       DEFAULT ITEM
HDR:WRD  ITEMLIST HDR:DEF           HEADER CONTROL WORD
HDR:CTRFLG ITEMLIST HDR:WRD,(LB,0)  CENTERING FLAG
HDR:CMDCDE ITEMLIST HDR:WRD,(LB,7)  COMMAND END CODES
HDR:TRCEND ITEMLIST HDR:WRD,(FB,4),(LB,4)  TABLE R/C END
HDR:BLKEND ITEMLIST HDR:WRD,(FB,5),(LB,5)  BLOCK END
HDR:TBLEND ITEMLIST HDR:WRD,(FB,6),(LB,6)  TABLE END
HDR:HFEND  ITEMLIST HDR:WRD,(FB,7),(LB,7)  H/F END
HDR:FMTCDE ITEMLIST HDR:WRD,(FB,8),(LB,15),(A) FORMAT CODE
HDR:HFCDE  ITEMLIST HDR:WRD,(FB,16),(LB,23)  H/F PAGE CODE
HDR:NTAGS  ITEMLIST HDR:WRD,(FB,24)     NUMBER OF TAGS IN THIS LINE
*
HDR:TAGBASE ITEMLIST HDR:WRD,(BI,32)    BASE FOR TAG OCCURENCES
HDR:TAGDISP ITEMLIST HDR:TAGBASE,(LB,7) DISPLACEMENT OF TAG IN LINE
HDR:TAGKEY  ITEMLIST HDR:TAGBASE,(FB,8) KEY FOR TAG RECORD
#MXNTAGS EQU      10                MAXIMUM NUMBER OF TAGS PER LINE
*
SZHDRSTA EQU      #MXNTAGS+1        SIZE OF HEADER STATUS TABLE
*
         PEND
*
*
*
* DATADEF PROCS REDEFINED FOR EASIER USE
*    X4 IS ALWAYS ADDED TO CF(3)
*    LEADING ':' IS DELETED
*    ITEMLIST PROC REPLACES :ITEM TO SHORTEN LIST
*    ADD,SUB PROCS ARE ADDED
*    AF(2) FIELD IS DELETED FROM JNEZ,JEZ PROCS
*
GET      CNAME
         PROC
LF       :GET,CF(2),X4  AF
         PEND
*
PUT      CNAME
         PROC
LF       :PUT,CF(2),X4  AF
         PEND
*
*
ITEMLIST CNAME
         PROC
LF       EQU      :ITEM(AF)
         PEND
*
*
JNEZ     CNAME
         PROC
LF       :JNEZ,CF(2),X4  (AF(1)),0,(AF(2))
         PEND
*
JEZ      CNAME
         PROC
LF       :JEZ,CF(2),X4   (AF(1)),0,(AF(2))
         PEND
JGZ      CNAME
         PROC
LF       :JGZ,CF(2),X4  (AF(1)),0,(AF(2))
         PEND
*
JLZ      CNAME
         PROC
LF       :JLZ,CF(2),X4  (AF(1)),0,(AF(2))
         PEND
*
JGEZ     CNAME
         PROC
LF       :JGEZ,CF(2),X4  (AF(1)),0,(AF(2))
         PEND
*
JLEZ     CNAME
         PROC
LF       :JLEZ,CF(2),X4    (AF(1)),0,(AF(2))
         PEND
*
DEPZ     CNAME
         PROC
LF       :DEPZ,CF(2),X4  AF
         PEND
*
LAM      CNAME
         PROC
LF       :LAM,CF(2),X4   AF
         PEND
*
LWC      CNAME
         PROC
LF       :LWC,CF(2),X4   AF
         PEND
*
STWC     CNAME
         PROC
         LOCAL    TMPITEM
TMPITEM  SET      :ITEM(AF(1),(FB,0),(LB,31),(BI,32))
         PUT,CF(2) TMPITEM
         PEND
*
*
         END
