*        INITIALIZE ASSEMBLY PARAMETERS
*
         OPEN     %X%
%X%      SET      S:UFV(I)
         DO       %X%=0
I        SET      0
         ELSE
         PAGE
**************************************************
*                                                *
*                       DTQPARAMS                *
*                QUEUE MANAGER MISCELLANEOUS     *
*                   PARAMETER DEFINITIONS        *
*                                                *
**************************************************
         ADMODE   (IND)
         ERROR,*    '*** SYSTEM DTQPARAMS***VERSION 00'
QPRIV    EQU      X'C0'             QUEUE PRIVILEGE FOR UNLOCK,LOCK
QDEFNAME BYTE     0                 CRITERION NAME LENGTH
QDEFCRIT ADDR     0,1               VBA OF CRITERION
*
QFLAGS   BYTE     2                 QUEUE FLAG BYTE
QFLAGQ   BIT      0,24              QUEUED BIT
QFLAGD   BIT      0,25              DESTRUCTIVE READOUT OR PROCESSED BIT
QFLAGF   BIT      0,26              FAILED BIT
QFLAGP   BIT      0,27              IN PROGRESS BIT
QGETINDEX FIELD   0,(15,14)         START INDEX FOR GET LIST
QGETMSGSIZE HWORD 1                 'GET'MESSAGE LENGTH
QGETLT   HWORD    10                ENTRY TEXT LENGTH
QGETL    BYTE     23                ENTRY NAME LENGTH
QGETTEXT WORD     6                 ENTRY TEXT
QPUTTXT WORD      14                TEXT DISPLACEMENT FROM ENTRY START
QPUTGETSZ HWORD   1                 TOTAL MSG LENGTH IN BYTES
*
QPUTLGTH WORD     5                 MESSAGE LENGTH WORD
QPUTLT   HWORD    10                TEXT LENGTH
QPUTL    BYTE     23                NAME LENGTH
QPUTENT  ADDR     0,1               VWA, PUT LIST ENTRY
*
QHASH    EQU      1                 # SEGMENTS FOR QUEUE HASH CODE
QPPCHAIN WORD     0                 PHYSICAL PAGE CHAINING WORD
QPPLAU   HWORD    2                 LARGEST UNALLOCATED UNIT
QPPLAUD  HWORD    3                 DISPLACEMENT TO LAU
QPPSPACER WORD    1                 PAGE SPACE CONTROL WD
QPPUNIT  WORD     2                 FIRST SPACE UNIT
QPPUNITA BIT      0,0               UNIT ALLOCATED, 1 MEANS YES
QPPUNITSZ   FIELD 0,(31,9)          # WORDS IN THE SPACE UNIT
QPPUNITCSZ EQU    1                 SIZE OF UNIT CONTROL WD BLOCK
QPPUNIT1 EQU      2                 IST UNIT POSITION IN PHYSICAL
*                                   PAGE
QPPNAV   EQU      508               LARGEST SPACE UNIT
*
*
*            QUEUE ABNORMAL/ERROR SUBCODES
QABN01   EQU      X'01'             ILLEGAL QUEUE REQUEST
QABN02   EQU      X'02'             INT,BRK,EC,ABRT IN QUEUE MGR
QABN03   EQU      X'03'             ERROR FROM GET SPACE
QABN07   EQU      X'07'             QUEUE SATURATED
QABN08   EQU      X'08'             CALLER NOT PRIVILEGED
QABN09   EQU      X'09'             DCB NOT OPEN
QABN0A   EQU      X'0A'             SPACE UNAVAILABLE
QABN10   EQU      X'10'             BAD MEMORY ADDRESS
QABN11   EQU      X'11'             QUEUE LOCKED
QABN12   EQU      X'12'             PHYSICAL PAGE SPACE UNAVAILABLE
QABN13   EQU      X'13'             ERROR IN QUEUEING LIST
QABN14   EQU      X'14'             ENTRY NOT FOUND
QABN15   EQU      X'15'             I/O ERROR DURING UNLOCK
QABN16   EQU      X'16'             I/O ERROR FOR OTHERS
QABN17   EQU      X'17'             QUEUE BUSY
QABN20   EQU      X'20'             NONEXISTENT LISTID
*
*            FPT,ABNORMAL,SCREECH CODES
QUNLOCK  EQU      X'06'             UNLOCK
QDEFINE  EQU      X'07'             DEFINELIST
QPUT     EQU      X'08'             PUT
QGET     EQU      X'09'             GET
QSTATS   EQU      X'0A'             STATS
QPURGE   EQU      X'0B'             PURGE
QLOCK    EQU      X'0C'             LOCK
QFPTSET  EQU      X'07'             START FPT CODE LS UNLOCK
QFPTMAX  EQU      5                 #-1 OF QUEUE FPT'S LS UNLOCK
*
*
QABNCODE EQU      X'BC'             ABNORMAL CODE
QSCREECH EQU      X'34'             SCREECH CODE
*        MASKS FOR FPT PROCESSING
QDCBADD  FIELD    0,(31,17)         17-BIT ADDRESS MASK
QECBADD  FIELD    0,(31,17)
QPAGES   FIELD    0,(31,16)         RIGHT HALFWORD MASK
QKEYSZ   FIELD    0,(31,6)          6-BITS, RIGHT-JUSTIFIED
QINXBLKS FIELD    0,(31,17)
Q#STORE  FIELD    0,(31,8)          1 BYTE, RIGHT-JUSTIFIED
QLISTADD FIELD    0,(31,17)
QLISTSZ  FIELD    0,(31,16)
QLISTID  FIELD    0,(31,16)         2 BYTES, RIGHT-JUSTIFIED
QBFRADD  FIELD    0,(31,17)
QBFRSZ   FIELD    0,(31,16)
QWAIT    BIT      0,27              F1
QBACKUP  BIT      0,26              F2
QNEW     BIT      0,25              F3
QRECOV   BIT      0,24              F4
QCOUNT   BIT      0,26              F2
QHIGH    BIT      0,26              F2
QPAUSE   BIT      0,23              F5
*           QUEUE CAL EXIT CONDITION CODES
QCCYES   EQU      0                 NORMAL RETURN
QCCNO    EQU      8                 ABNORMAL RETURN
QCCNO#ECB EQU     4                 DELAY,ECB WAIT MEANINGFUL
QECBCODE1 EQU     X'01'             ECB COMPLETION CODES
QECBCODE2 EQU     X'02'
QECBCODEF EQU     X'0F'
QMIN1    EQU      5                 MINIMUM NO. Q PAGES IF ALLOCATION
*                                   MAP FITS ENTIRELY IN BLOCK 1
QMIN2    EQU      6                 MINIMUM NO. Q PAGES IF ALLOCATION
*                                   MAP STARTS IN A SEPARATE BLOCK
QKEY     EQU      3                 # WDS FILLER FOR QUEUE INDEX ENTRY
QCRITERIONMAX EQU 31                MAX BYTE SIZE CRITERION
QBLK1MAP EQU      50                1ST AVAILABLE WORD IN BLOCK 1
QBLK1AVAIL EQU    1024-((2*QBLK1MAP)+22) # HWS AVAILABLE IN BLOCK 1
QALLHDRSZ EQU     4                 ALLOCATION MAP HEADER SIZE
QBLK1MIN  EQU     8                 MINIMUM HWS TO START MAP IN BLK 1
QBLKALL  EQU      1                 BLOCK # MAP START SEPARATE FROM
*                                   BLOCK 1
QBLKALLNAV EQU    1012              # HWS AVAIL IN A BLOCK FOR MAP ENTRIES
QWRITEF  BIT      1,0               QUEUE BLOCK WRITE FLAG POSITION
QBLOCK   ADDR     1,1               BLOCK # WORD IN QUEUE BLOCKS
QCHAIN   ADDR     0,1               CHAIN WORD, QUEUE BLOCKS
QDATANID EQU      8                 ********ANALYZE*****
QDATANAV EQU      254               MAX DWS IN DATA BLOCK
QDATACONTROL EQU  1                 # CONTROL DWS FOR DATA BLOCK ENTRY
QDATAENTB WORD    2                 *****ANALYZE
QNRT     EQU      3                 #I/O RETRIES
QBLKSZ   EQU      512               QUEUE BLOCK SIZE
QWRITE   EQU      1                 WRITE FUNCTION CODE
QREAD    EQU      0                 READ FUNCTION CODE
QWRITEIF EQU      X'10'             WRITE OP,WRITE REQUIRED FLAG ON
QINXBSZ  EQU      501               AVAIL WORDS IN AN INDEX BLOCK
QICBENTS EQU      50                # ENTRIES IN ICB..ALLOWS FOR
*                                   @ 4000 UNIQUE KEYS
QINXCSZ  EQU      3                 # KEY CONTROL WORDS, INDEX BLOCK
QDATACSZ EQU      9                 # CONTROL BYTES+1, DATA BLOCK
QDATAENTST EQU    2                 START OF ENTRIES IN DATA BLOCK
QDATAENTSTD EQU   1
QRTYPE   EQU      0                 QUEUE RESOURCE TYPES, AVAILABILITY
QRTYPE1  EQU      1                 CORE
QRTYPE2  EQU      2                 DISK SPACE
QRTYPE3  EQU      3                 UNLOCK OCCURRENCE
QRTYPE4  EQU      4                 PUT OCCURRENCE
QMSGCSZ  EQU      6                 #WDS PUT/GET MSG PRECEDING LENGTH WD
QSTATSBEG EQU     4                 START DISPLACEMENT QUEUE STATS DATA
QSTATSSZ EQU      14                # QUEUE STATS WORDS
QSATINC  EQU      25                SAT INCREMENT IN HUNDRETHS OF THOUSANDS
         PAGE
************************************************************
*                                                          *
*                         DTTP                             *
*           TABLE TTP--TRANSACTION PROCESSING              *
*           RESIDENT CONTROL TABLE                         *
*                                                          *
************************************************************
         OPEN     X
X        SET      S:UFV(QSIM)
         DO       X=0
         REF      TTP
QSIM     SET      0
         FIN
         CLOSE    X
         ERROR,* '***SYSTEM DTTP***VERSION 00***'
         ADMODE   (DIR,TTP)
Q:LOCK   BIT      0,2               QUEUE LOCK FLAG..0 MEANS YES
Q:PUT    BIT      0,3               PUT DONE DURING Q OP
*                                   DEVICE,NO
Q:DEL    BIT      0,5               DELETE DONE FOR LAST QUEUE REQUEST
Q:BACK   BIT      0,6               BACKUP OPTION ON UNLOCK REQUEST
Q:RCV    BIT      0,7               RECOVERY OF QUEUE ,ETC.
*                                   OWNER ONLY LEGAL CALLER
Q:MAP    ADDR     0,1               PTR TO ALLOCATION MAP
Q:CC     BYTE     4                 I/O COMPLETION CODE
Q:CFU    ADDR     1,1               PTR TO QUEUE CFU TABLE
Q:NSN    BYTE     8                 # SERIAL NUMBERS FOR QUEUE
*                                   FILE ON PRIVATE STORAGE
Q:SN     ADDR     2,1               PTR TO SERIAL NUMBERS FOR QUEUE
*                                   FILE ON PRIVATE STORAGE
Q:MAX    BYTE     12                MAX #, CORE INDEX BLOCKS
Q:INXCONTROL ADDR  3,1              ADDRESS, INDEX CONTROL BLOCK
Q:DEF    DWORD    2                 CHAIN HEAD/TAIL, INACTIVE QLIST
*                                   CONTROL TABLES
Q:DEFH   WORD     4                 Q:DEF HEAD
Q:GET    DWORD    3                 CHAIN HEAD/TAIL, ACTIVE QLIST
*                                   CONTROL TABLES
Q:GETH   WORD     6                 Q:GET HEAD
Q:LID    HWORD    16                GET LIST IDENTIFICATION NUMBER
Q:INXNAV BYTE     35                MAX # KEYS IN INDEX BLOCK
Q:MIN    BYTE     34                MIN #, CORE INDEX BLOCKS
Q:QHEAD  ADDR     9,1               HEAD OF CHAIN, USERS QUEUED FOR
*                                   QUEUE ACCESS OR SPACE
Q:QTAIL  ADDR     10,1              TAIL OF CHAIN, USERS QUEUED FOR
*                                   QUEUE ACCESS OR SPACE
Q:INX    WORD     11                CHAIN HEAD, INDEX BLOCKS
Q:INXTAIL WORD    12                CHAIN TAIL,INDEX BLOCKS
Q:CORE   BYTE     52                NUMBER OF INDEX BLOCKS IN CORE
Q:MPOOL  ADDR     13,1              MONITOR BUFFER ADDRESS
Q:TID    WORD     14                TP IDENTIFICATION CONTROL WORD
Q:TPPP   WORD     16                CHAIN HEAD, QUEUE PHYSICAL PAGES
Q:TPPPTAIL WORD   17                CHAIN TAIL, PHYSICAL PAGES
Q:USR    BYTE     60                USER NUMBER, QUEUE USER
Q:SAT    BYTE     61                % VALUE FOR QUEUE SATURATION FOR
*                                   ACCEPTING HIGH PRIORITY PUTS ONLY
Q:PAGES  BYTE     62                CURRENT NUMBER, PHYSICAL QUEUE PAGES
Q:OWN    BYTE     63                USER NUMBER, QUEUE OWNER
Q:CONT   WORD     18                CHAIN HEAD, CONTROL BLOCKS
Q:CONTTAIL WORD   19                CHAIN TAIL, CONTROL BLOCKS
Q:DATA   WORD     20              CHAIN HEAD, DATA BLOCKS
Q:DATATAIL WORD   21                CHAIN TAIL, DATA BLOCKS
Q:PAUSE  BIT      22,31             LOCK QUEUE IN PAUSE MODE...1 MEANS
*                                   YES.  USED AT CVOL BY TPG.
Q:TTPSIZE EQU     25                TABLE SIZE
         PAGE
************************************************************
*                                                          *
*                             DTTCONT                      *
*                        QUEUE CONTROL BLOCK               *
*                          TABLE DEFINITION                *
*                                                          *
************************************************************
         ADMODE   (IND)
         ERROR,*   '***SYSTEM DTTCONT***VERSION 00***'
CONTWRITE BIT     1,0               BLOCK WRITE REQUIRED FLAG
CONTMOD  BIT      1,1               BLOCK MODIFIED INDICATOR
CONTCHAIN ADDR    0,1               CORE CHAINING WORD
CONTBLOCK ADDR    1,1               BLOCK #, THIS BLOCK
CONTGDACHAIN ADDR  3,1              FLINK, DISK CHAIN
CONTINDEXES ADDR  4,1               # INDEX BLOCKS
CONTTID  WORD     5                 HIGHEST TID QUEUED
CONTENTRIES WORD  6                 NUMBER OF ENTRIES QUEUED
CONTPROC WORD     7                 NUMBER OF ENTRIES IN PROGRESS
CONTFAILED WORD   8                 NUMBER OF ENTRIES IN FAILED
*                                   STATUS
CONTMAX  WORD     9                 MAXIMUM # ENTRIES QUEUED SINCE
*                                   UNLOCK
CONTMAXTIME WORD  10                TIME OF DAY OF CONTMAX
CONTNAVGRANS ADDR  12,1             NUMBER OF QUEUE GRANULES
CONTUSR  BYTE     52                ID OF QUEUE OWNER
CONTINXCONT ADDR  13,1              BLOCK #, INDEX CONTROL BLOCK
CONTCON  BIT      14,0              MAP IN BLOCK 1 INDICATOR
CONTMAPBIAS HWORD 29                BIAS WITHIN BLOCK TO ALLOCATION
*                                   MAP
CONTMAP  ADDR     14,1              BLOCK NUMBER OF THE ALLOCATION MAP
CONTKEYM BYTE     60                MAXIMUM KEY SIZE FOR NAME FIELD IN
*                                   INDEX BLOCKS
CONTFIRSTGDA ADDR  15,1             BLOCK #, FIRST ENTRY IN THE
*                                   ALLOCATION MAP
CONTHTID WORD     16                HIGHEST TID ASSIGNED AT LOCK TIME
CONTSAT  WORD     17                CURRENT SATURATION LEVEL
CONTSATB BYTE     69                % FIELD OF SAT
         PAGE
***********************************************************
*                                                         *
*                              DTQALL                     *
*                     QUEUE ALLOCATION MAP                *
*                      TABLE DEFINITION                   *
*                                                         *
***********************************************************
         ADMODE   (IND)
         ERROR,*    '***SYSTEM DTQALL***VERSION 00***'
ALLWRITE BIT      1,0               BLOCK WRITE REQUIRED INDICATOR
ALLMOD   BIT      1,1               BLOCK MODIFIED
ALLCHAIN ADDR     0,1               CORE CHAINING WORD
ALLBLOCK ADDR     1,1               BLOCK #, THIS BLOCK
ALLBLINK ADDR     2,1               BLOCK #, BACKWARD LINK
ALLFLINK ADDR     3,1               BLOCK #, FORWARD LINK
ALLBLOCKNAV HWORD 9                 # AVAILABLE HWS
ALLA     BIT      5,3               BLOCK SUB N ALLOCATED FLAG:
*                                   1 MEANS BLOCK ALLOCATED
ALLT     FIELD    5,(2,2)           BLOCK TYPE :
*                                   0 = INDEX BLOCK
*                                   1 = DATA BLOCK
ALLTA    BYTE     20                BYTE CONTAINING ALLA AND T
ALLNAV   FIELD    5,(15,12)         NUMBER OF AVAILABLE UNITS IN THE
*                                   BLOCK...IF BLOCK TYPE=DATA, UNITS
*                                           ARE DOUBLEWORDS
*                                           IF BLOCK TYPE=INDEX, UNITS
*                                            ARE KEY SLOTS
ALLAM    BIT      5,19              MASK FOR 'A' IN RHW
ALLTM    FIELD    5,(18,2)          DITTO FOR 'T'
ALLMAP   HWORD    10                NAME FOR HALFWORD CONTAINING
*                                   ALLA,ALLT,ALLNAV
         PAGE
**********************************************************
*                                                        *
*                                   DTQICB               *
*                         QUEUE INDEX CONTROL TABLE      *
*                            TABLE DEFINITION            *
*                                                        *
**********************************************************
         ERROR,*     '***SYSTEM DTQICB***VERSION 00***'
         ADMODE   (IND)
ICBWRITE BIT      1,0               WRITE REQUIRED FLAG
ICBMOD   BIT      1,1               BLOCK MODIFIED
ICBCHAIN ADDR     0,1               CORE CHAINING WORD
ICBBLOCK ADDR     1,1               BLOCK #, THIS BLOCK
ICBHASH  ADDR     2,1               HASH CODE SUB N...PTR TO
*                                   AN INDEX BLOCK BY BLOCK #
         PAGE
***********************************************************
*                                                         *
*                              DTTINDEX                   *
*                      QUEUE INDEX BLOCK TABLE            *
*                           DEFINITION                    *
*                                                         *
***********************************************************
         ERROR,*    '***SYSTEM DTTINDEX***VERSION 00***'
         ADMODE   (IND)
INDEXWRITE BIT    1,0               BLOCK WRITE REQUIRED FLAG
INDEXMOD BIT      1,1               BLOCK MODIFIED INDICATOR
INDEXREL BIT      1,2               BLOCK RELEASE FLAG
INDEXCHAIN ADDR   0,1               CORE CHAINING WORD
INDEXBLOCK ADDR   1,1               BLOCK #, THIS BLOCK
INDEXKEYS HWORD   8                 NUMBER OF KEYS IN THE BLOCK
*                                   UNUSED
INDEXBLINK ADDR   2,1               BLOCK #, PREVIOUS INDEX BLOCK
INDEXFLINK ADDR   3,1               BLOCK #, FORWARD INDEX BLOCK
INDEXHTXT  ADDR   10,1              TEXT HEAD BLOCK #
INDEXTTXT  ADDR   11,1              TEXT TAIL BLOCK #
INDEXF   BIT      12,16             KEY STATUS..0=EMPTY
INDEXCOUNT FIELD  12,(31,15)        # ENTRIES QUEUED THIS NAME
INDEXNAMESZ BYTE  52                # BYTES IN 1ST NAME SEGMENT
INDEXNAME  WORD   13                ENTRY NAME SUB N
*        THE FOLLOWING DEFINITIONS ARE BASED ON DISPLACEMENT
*        FROM THE START OF AN ENTRY
INDEXSLOT WORD    10
INDEXHTXTR ADDR   0,1               TEXT HEAD BLOCK #
INDEXTTXTR ADDR   1,1               TEXT TAIL BLOCK #
INDEXFR  BIT      2,16              KEY STATUS..0=EMPTY
INDEXCOUNTR FIELD 2,(31,15)         # ENTRIES QUEUED THIS NAME
INDEXNAMESZR BYTE 12                # BYTES IN 1ST NAME SEGMENT
INDEXNAMER WORD   3                 ENTRY NAME SUB N
INDEXTYPER  BYTE  13
         PAGE
**************************************************
*                                                *
*                    DTQDATA                     *
*             QUEUE DATA BLOCK                   *
*             TABLE DEFINITION                   *
*                                                *
**************************************************
         ADMODE   (IND)
         ERROR,*    '***SYSTEM DTQDATA***VERSION 00***'
DATAWRITE BIT     1,0               BLOCK WRITE REQUIRED INDICATOR
DATAMOD  BIT      1,1               BLOCK MODIFIED
DATAREL  BIT      1,2               BLOCK RELEASE
DATACHAIN ADDR    0,1               CORE CHAINING WORD
DATABLOCK ADDR    1,1               BLOCK #, THIS BLOCK
DATAENTRY# BYTE   8                 INDEX BLOCK ENTRY NUMBER
DATAINDEX ADDR    2,1               BLOCK #, INDEX BLOCK CONTAINING
*                                   KEY FOR THE ENTRY
DATASTATUS BYTE   12                ENTRY STATUS BYTE
DATAFLINK ADDR    3,1               BLOCK #, FORWARD TEXT THIS NAME
DATAENT  DWORD    1                 NAME FOR TEXT CONTROL ITEMS:
*                                   DATAENTRY#,DATAINDEX,DATASTATUS,
*                                   DATAFLINK
DATANAMECNT BYTE  16                BYTE POSITION OF NID COUNT
DATANID  BYTE     17                BYTE POSITION OF 1ST NID CHARACTER
DATATEXT DWORD    2                 ENTRY TEXT STRING..TEXTC
*        THE FOLLOWING DEFINITIONS ARE BASED ON DISPLACEMENT
*        FROM THE START OF AN ENTRY
DATAENTRY#R BYTE  0                 INDEX BLOCK ENTRY NUMBER
DATAINDEXR ADDR   0,1               BLOCK #, INDEX BLOCK CONTAINING
*                                   KEY FOR THE ENTRY
DATASTATUSR BYTE  4                 ENTRY STATUS BYTE
DATAFLINKR ADDR   1,1               BLOCK #, FORWARD TEXT THIS NAME
DATAENTR DWORD    0                 NAME FOR TEXT CONTROL ITEMS:
*                                   DATAENTRY#,DATAINDEX,DATASTATUS,
*                                   DATAFLINK
DATANAMECNTR BYTE 8                 BYTE POSITION OF NID COUNT
DATANIDR BYTE     9                 BYTE POSITION OF 1ST NID CHARACTER
DATATEXTR DWORD   1                 ENTRY TEXT STRING..TEXTC
         PAGE
**************************************************
*                                                *
*                    DTQLIST                     *
*           CRITERIA LIST CONTROL TABLE          *
*                 DEFINITION                     *
**************************************************
         ADMODE   (IND)
         ERROR,*    '***SYSTEM DTQLIST***VERSION 00***'
QLLCP    BIT      3,1               PAGES LOCKED IN CORE THIS USER
*                                   1 MEANS YES
QLCHAIN  ADDR     0,1               CHAINING PTR TO NEXT QLIST
QLINXPEXT HWORD   1                 PAGE NUMBERS FOR QLIST EXTENSION
QLINXX   HWORD    2
QLINXXV  HWORD    3
QLECB    ADDR     1,1               VWA, USER'S ECB
QLIBLOCK ADDR     1,1               INDEX BLOCK #, CRITERION MATCH
*                                   FOR WAIT OPTION
QLTNCP   BYTE     4                 TOTAL # PAGES THIS LISTID
QLID     HWORD    4                 GET LIST ID
QLWAIT   BIT      3,2               USER PLACED IN WAIT STATE FLAG
*                                   1 MEANS YES
QLGETLIST ADDR    3,1               REAL ADDRESS, GET LIST
QLINX    HWORD    8                 LOCKED CORE PAGE NUMBER
QLINXV   HWORD    9                 VIRTUAL CORRESPONDENCE
QLNCP    BYTE     24                NUMBER OF PAGES LOCKED IN CORE
QLINXEXT ADDR     6,1               PTR TO ADDITIONAL QLINXES
QLINDEX  HWORD    14                GET LIST INDEX
QLGETLISTSZ HWORD 15                SIZE OF THE GET LIST
QLUSR    BYTE     32                USER NUMBER
QLINX1SZ EQU      2                 #PAGE NOS. CAN BE CONTAINED IN
*                                   INITIAL QLIST FOR A LIST
QLINX2SZ EQU      5                 #PAGE NOS. CAN BE CONTAINED IN
*                                   QLIST EXTENSION TABLES
QLISTLGTH EQU     9                 TABLE LENGTH
         PAGE
**************************************************
*                                                *
*                      DTQUES                    *
*            USER QUEUE FOR QUEUE USAGE          *
*               TABLE DEFINITION                 *
*                                                *
**************************************************
         ADMODE   (IND)
         ERROR,*    '***SYSTEM DTQUES***VERSION 00***'
QUESCHAIN ADDR    0,1               CHAINING WORD TO NEXT QUES TABLE
QUESUSR  BYTE     4                 USER NUMBER
QUESTYP  FIELD    1,(9,2)           TYPE OF QUEUE RESOURCE NEEDED:
*                                   00 = QUEUE ACCESS
*                                   01 = CORE SPACE
*                                   10 = DISK SPACE
*                                   11 = QUEUE UNLOCK
QUESWAIT BIT      1,15              USER PLACED IN WAIT FLAG
QUESSIZE HWORD    3                 #CORE WORDS OR DISK DOUBLEWORDS
*                                   NEEDED
QUESECB  ADDR     2,1               ECB VWA FOR RESOURCE AVAILABLE
QUESLGTH EQU      3                 TABLE LENGTH
         PAGE
*****************************************************
*                                                   *
*                   D T Q C P V                     *
*                                                   *
*             CPV TABLES USED BY TP QUEUE           *
*                     MANAGER                       *
*                                                   *
*****************************************************
         ADMODE   (IND)
         ERROR,*   '***SYSTEM DTQCPV***VERSION 00'
*        DCB TABLE REFERENCES
DCB#FCD  BIT      0,10              FILE CLOSED INDICATOR, 0 YES
DCB#ASN  FIELD    0,(31,4)          FILE ASSIGNMENT TYPE
DCB#BUF1 FIELD    9,(31,17)         BLOCKING BUFFER ADDRESS
DCB#PRIV BIT      0,20              PRIVATE FILE INDICATOR, 1 YES
DCB#FILE EQU      1                 DCB ASN FOR FILE
DCB#CFUA ADDR     1,1               CFU ADDRESS
DCB#EXTRND BIT    5,4               RSTORE EXTENSION INDICATOR
DCB#NLR  BYTE     21                RSTORE EXTENSION
DCB#CDA  ADDR     8,1               FIRST BLOCK # FOR OPEN
DCB#RSTORE HWORD  41                # GRANULES ALLOCATED TO THE FILE
         PAGE
********************************************************************
*MISCELLANEOUS PARAMETERS
AVR#DCTX EQU      5                 BYTE POSITION OF DCT INDEX INAVR
         PAGE
*********************************************************************
*
*                       D T C F U
*
*     TABLE DEFINITIONS FOR USER FILE AND COMMON JOURNAL
*                  CURRENT FILE USAGE
*
*********************************************************************
         ADMODE   (IND)
         ERROR,*     'SYSTEM DTCFU***VERSION 00**'
CFU#B    BIT      0,0               BUSY FLAG (1=YES)
CFU#A    BIT      0,1               ACTIVE FLAG (1=YES)
CFU#O    BIT      0,2               LEVEL 1 FLAG (1=YES)
CFU#U    BIT      0,3               CLOSE RELEASE FLAG (1=YES)
CFU#W    BIT      0,6               FILE MOD FLAG (1=YES)
CFU#R    BIT      0,7               FILE HAS BEEN READ (1=YES)
CFU#NOU  FIELD    0,(14,7)          #DCBS ASSIGNED TO THE FILE
CFU#FUN  BYTE     2                 FUNCTION CODE
*                                   0  NULL
*                                   1  IN
*                                   2  OUT
*                                   4  INOUT
*                                   8  OUTIN
*                                   16 COMMON JOURNAL
CFU#FDA  WORD     1                 FILE DISK ADDRESS
CFU#CDAM WORD     5                 NO. OF GRANULES IN FILE
CFU#DCTX BYTE     5                 DCTX FROM CFU#FDA
CFU#CJ   EQU      16                CFU#FUN VALUE FOR COMMON JOURNAL
CFU#SIZE EQU      8                 LENGTH OF CFU BLOCK
CFU#TDA0 BYTE     20                BYTE 0 OF TDA;>0 WHEN JRNL DISABLED
CFU#TDA1 BYTE     21                BYTE 1 OF TDA
CFU#VNO  BYTE     5                 REL VOL # OF PRIMARY ACCT VOL
CFU#PRIV BIT      0,15              FILE IS ON PRIV. VOL WHEN=1
CFU#SREC WORD     6                 BLOCK COUNT OF ANS FORMAT JOURNAL
         PAGE
**********************************************************************
*                         D T P J O U R N A L                          *
*                                                                      *
*                          SYSTEM DTPJOURNAL                           *
*       TRANSACTION PROCESSING JOURNAL RECORD FIELD DESCRIPTIONS       *
*                                                                      *
************************************************************************
              ERROR,*        '*** SYSTEM DTPJOURNAL ** VERSION 00 ***'
              ADMODE         (IND)
***
JFLAGS        BYTE           0                   TRAN OR REPT STATUS
JTYPE         BYTE           1                   RECORD TYPE
JLEN          HWORD          1                   RECORD LEN IN BYTES
JCODE         BYTE           7                   COMPLETION CODE
JSEQ          ZONE           1,(1,3)             SEQUENCE OF EDMS PAGES
JORGTRAN      WORD           1                   ID OF ORIGINATING TRAN
JDATE         WORD           2                   DATE OF RECORD
JTIME         WORD           3                   TIME OF RECORD
JTRANID       WORD           4                   ID OF TRANSACTION
JAREA         BYTE           21                  EDMS AREA OF SYNCHRNZTN
JSYSID        HWORD          11                  CURRENT USER OF EDMS AR
JANAME        WORD           6                   EDMS AREA NAME
JAMODE        BYTE           7                   EDMS OPEN/CLS AREA MODE
JDBACCT       DWORD          7                   ACCT NO OF DATABASE
JPGSTRT       WORD           6                   STRT OF EDMS PAGE IMAGE
JTEXTLEN      HWORD          10                  LENGTH TRAN/REPT TEXT
JNAMELEN      BYTE           23                  LENGTH TRAN/REPT NAME
JTRANAME      WORD           6                   START OF TRAN NAME
JTRANTEXT     WORD           14                  START OF TRAN TEXT
JREPTNAME     WORD           6                   START OF REPORT NAME
JREPTEXT      WORD           14                  START OF REPORT TEXT
JTPMEXU       WORD           14                  TPM EXECUTION TIME
JELAPSED      WORD           15                  TRAN ELAPSED TIME
JCRASHCODE    WORD           1                   CRASH OR END CODE
JQSECTOR      WORD           1                   SECTOR NO. OF Q BLOCK
JQBLOCK       WORD           4                   START OF Q BLOCK
         PAGE
*        FORMAT OF MPOOL FOR QUEUE WORKING STORAGE
QPOOLIBLK WORD    0                 INDEX BLOCK NUMBER
QPOOLDBLK WORD    1                 DATA BLOCK NUMBER
QPOOLIMAP WORD    2                 HW MAP INDEX FOR INDEX BLOCK
QPOOLDMAP WORD    3                 HW MAP INDEX FOR DATA BLOCK
*                                   OR TEXT ENTRY DISPLACEMENT
QPOOLI   WORD     4                 ADDRESS OF THE INDEX BLOCK
QPOOLD   WORD     5                 ADDRESS OF THE DATA BLOCK
QPOOLNIDD WORD    6                 NID DISPLACEMENT
QPOOLNIDC WORD    7                 NID COUNT
QPOOLMD  WORD     8                 ALLOCATIN MAP, DATA BLOCK
QPOOLMI  WORD     9                 ALLOCATION MAP, INDEX BLOCK
QPOOLPUTDW WORD   10                # DWS IN TEXT
QPOOLENT WORD     11                ENTRY #, INDEX BLOCK DISPLACEMENT
QPOOLLST WORD     12                ADDRESS OF THE PUT MESSAGE
QPOOLLTCNT WORD   13                # CHARACTERS IN TEXT BODY
QPOOLLCNT WORD    14                NAME LENGTH
QPOOLIMAGEI WORD  15                KEY IMAGE AREA
QPOOLHTXT WORD    15
QPOOLTTXT WORD    16
QPOOLCOUNT WORD   17                #ENTRIES QUEUED FOR KEY
QPOOLNAME WORD    18
*
QPOOLIMAGED WORD  23                DATA CONTROL WORDS IMAGE AREA
QPOOLBLINKT WORD  33
QPOOLFLINKT WORD  32                FLINK IN TEXT BLOCK FOR DELETE
QPOOLBLINKI WORD 33
QPOOLFLINKI WORD 31
QPOOLBDISP WORD   31
         PAGE
********************************************************************
*
*                 D T P J I T
*
*                 SYSTEM DTPJIT DEFINES CURRENT VALUES
*        USED IN THE JIT FOR TP, BUT DOES NOT REF THE JIT
*        ITEMS.  THIS MUST BE DONE IN THE USER PROGRAM
*
********************************************************************
*
         DO1      TCOR(J:ASSIGN,S:UND)
J:ASSIGN EQU      X'8C14'
*
         ADMODE   (DIR,J:ASSIGN)
*
TP       BIT      0,9
         FIN
         CLOSE    %X%
         END

