!*** MODULE $LKIDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! + ! ! Get Lock Information Data Identifier Definitions ! ! **** NOTE **** ! The LKIDEF structure is defined multiple times to accomidate C! ! ! New items can not be added to the end of LKIDEF or LKIDEF_BR ! since this require all users to re-link. GETLKI can return ! multiples of these structures concatenated and thus any ! new items returned should really be placed in a new structure. ! - PARAMETER LKI$K_LENGTH = '00000018'X ! LENGTH OF LIST BLOCK WITHOUT BYTE RANGE INFO PARAMETER LKI$C_LENGTH = '00000018'X ! LENGTH OF LIST BLOCK WITHOUT BYTE RANGE INFO PARAMETER LKI$K_BR_LENGTH = '00000038'X ! LENGTH OF LIST BLOCK WITH BYTE RANGE INFO PARAMETER LKI$C_BR_LENGTH = '00000038'X ! LENGTH OF LIST BLOCK WITH BYTE RANGE INFO STRUCTURE /LKIDEF/ UNION MAP INTEGER*4 LKI$L_MSTLKID ! LOCK ID ON MASTER END MAP MAP INTEGER*4 LKI$L_LOCKID ! OLD SYMBOL END MAP END UNION INTEGER*4 LKI$L_PID ! PROCESS ID UNION MAP INTEGER*4 LKI$L_MSTCSID ! CSID OF MASTER END MAP MAP INTEGER*4 LKI$L_SYSID ! OLD SYMBOL END MAP END UNION BYTE LKI$B_RQMODE ! REQUEST MODE BYTE LKI$B_GRMODE ! GRANTED MODE BYTE LKI$B_QUEUE ! LOCK QUEUE BYTE %FILL ! SPARE BYTE UNION MAP INTEGER*4 LKI$L_LKID ! LOCK ID ON PROCESS NODE END MAP MAP INTEGER*4 LKI$L_REMLKID ! OLD SYMBOL END MAP END UNION UNION MAP INTEGER*4 LKI$L_CSID ! CSID OF PROCESS NODE END MAP MAP INTEGER*4 LKI$L_REMSYSID ! OLD SYMBOL END MAP END UNION INTEGER*4 LKI$Q_RQSTART(2) ! REQUEST RANGE START INTEGER*4 LKI$Q_RQLENGTH(2) ! REQUEST RANGE LENGTH INTEGER*4 LKI$Q_GRSTART(2) ! GRANTED RANGE START INTEGER*4 LKI$Q_GRLENGTH(2) ! GRANTED RANGE LENGTH END STRUCTURE ! LKIDEF ! DEFINE NAMSPACE FIELDS PARAMETER LKI$M_SYSNAM = '80000000'X STRUCTURE /NAMSPACE/ UNION MAP INTEGER*2 LKI$W_GROUP ! GROUP OF OWNER UIC BYTE LKI$B_RMOD ! ACCESS MODE OF REQUEST BYTE LKI$B_STATUS ! STATUS OF RESOURCE END MAP MAP PARAMETER LKI$S_SYSNAM = 1 PARAMETER LKI$V_SYSNAM = 31 BYTE %FILL (1) ! SYSTEM WIDE RSB END MAP END UNION END STRUCTURE ! NAMSPACE ! DEFINE STATE FIELDS STRUCTURE /STATEF/ BYTE LKI$B_STATE_RQMODE ! REQUEST MODE BYTE LKI$B_STATE_GRMODE ! GRANTED MODE BYTE LKI$B_STATE_QUEUE ! LOCK STATE CODE END STRUCTURE ! STATEF PARAMETER LKIUSR$K_LENGTH = '00000014'X PARAMETER LKIUSR$C_LENGTH = '00000014'X PARAMETER LKIUSR$K_BLOCKER_START = '00000014'X ! OFFSET TO THE START OF THE RETURNED INFORMATION STRUCTURE /LKIUSRDEF/ INTEGER*4 LKIUSR$Q_START(2) ! START OF THE REQUESTED RANGE INTEGER*4 LKIUSR$Q_LENGTH(2) ! LENGTH OF THE REQUESTED RANGE BYTE LKIUSR$B_RQMODE ! REQUESTED MODE BYTE LKIUSR$B_IGNORE_OWN ! FLAG TO IGNORE LOCKS OWNED BY THE CALLING PROCESS INTEGER*2 %FILL ! reserved END STRUCTURE ! LKIUSRDEF STRUCTURE /RNGDEF/ INTEGER*4 LKI$_RNG_Q_RQSTART(2) ! REQUEST RANGE START INTEGER*4 LKI$_RNG_Q_RQLENGTH(2) ! REQUEST RANGE LENGTH INTEGER*4 LKI$_RNG_Q_GRSTART(2) ! GRANTED RANGE START INTEGER*4 LKI$_RNG_Q_GRLENGTH(2) ! GRANTED RANGE LENGTH END STRUCTURE ! RNGDEF ! LOCK STATE CODE VALUES PARAMETER LKI$C_GRANTED = '00000001'X ! GRANTED PARAMETER LKI$C_CONVERT = '00000000'X ! CONVERSION PARAMETER LKI$C_WAITING = -1 ! WAITING PARAMETER LKI$C_RETRY = -2 ! RETRY REQUEST PARAMETER LKI$C_SCSWAIT = -3 ! SCS WAIT PARAMETER LKI$C_RSPNOTQED = -4 ! RESPONSE NOT QUEUED PARAMETER LKI$C_RSPQUEUED = -5 ! RESPONSE QUEUED PARAMETER LKI$C_RSPGRANTD = -6 ! RESPONSE GRANTED PARAMETER LKI$C_RSPDOLOCL = -7 ! RESPONSE DO LOCALLY PARAMETER LKI$C_RSPRESEND = -8 ! RESPONSE RESEND ! DEFINE TABLE NUMBERS ! STRUCTURE CODES MUST START AT 1 PARAMETER LKI$C_LKBTYPE = '00000001'X ! ITEM IN LKB PARAMETER LKI$C_RSBTYPE = '00000002'X ! ITEM IN RSB PARAMETER LKI$C_LISTEND = '00000000'X ! DEFINE ITMLST TERMINATOR ! ITEM IDENTIFIERS FOR LKB PARAMETER LKI$_PID = '00000100'X ! PROCESS ID PARAMETER LKI$_STATE = '00000101'X ! CURRENT LOCK STATE PARAMETER LKI$_PARENT = '00000102'X ! ID OF PARENT LOCK PARAMETER LKI$_LCKREFCNT = '00000103'X ! SUB-LOCK REFERENCE COUNT PARAMETER LKI$_LOCKID = '00000104'X ! LOCK ID PARAMETER LKI$_REMLKID = '00000105'X ! REMOTE LOCK ID PARAMETER LKI$_MSTLKID = '00000106'X ! LOCK ID ON RESOURCE MASTER PARAMETER LKI$_LKID = '00000107'X ! LOCK ID ON PROCESS NODE PARAMETER LKI$_CSID = '00000108'X ! CSID OF PROCESS NODE PARAMETER LKI$_BRL = '00000109'X ! IS THE LOCK A BYTE RANGE LOCK ! * , TSKID /* TASK ID FOR MULTITASK PARAMETER LKI$_RANGE = '0000010A'X ! Range of request PARAMETER LKI$_LASTLKB = '0000010B'X ! MAX INDEX IN LKB TABLE ! ITEM IDENTIFIERS FOR RSB PARAMETER LKI$_NAMSPACE = '00000200'X ! RESOURCE NAME SPACE PARAMETER LKI$_RESNAM = '00000201'X ! RESOURCE NAME PARAMETER LKI$_RSBREFCNT = '00000202'X ! SUB-RESOURCE REFERENCE COUNT PARAMETER LKI$_VALBLK = '00000203'X ! VALUE BLOCK PARAMETER LKI$_SYSTEM = '00000204'X ! SYSTEM ID OF SYSTEM WITH RESOURCE PARAMETER LKI$_LCKCOUNT = '00000205'X ! COUNT OF LOCKS ON RESOURCE PARAMETER LKI$_BLOCKEDBY = '00000206'X ! LIST OF LOCKS BLOCKED BY CURRENT LOCK PARAMETER LKI$_BLOCKING = '00000207'X ! LIST OF LOCKS BLOCKING CURRENT LOCK PARAMETER LKI$_LOCKS = '00000208'X ! LIST OF ALL LOCKS ON RESOURCE PARAMETER LKI$_CVTCOUNT = '00000209'X ! COUNT OF LOCKS ON CONVERSION QUEUE PARAMETER LKI$_WAITCOUNT = '0000020A'X ! COUNT OF LOCKS ON WAIT QUEUE PARAMETER LKI$_GRANTCOUNT = '0000020B'X ! COUNT OF LOCKS ON GRANT QUEUE PARAMETER LKI$_MSTCSID = '0000020C'X ! CSID OF RESOURCE MASTER PARAMETER LKI$_VALBLKST = '0000020D'X ! VALUE BLOCK STATUS PARAMETER LKI$_BLOCKEDBY_BR = '0000020E'X ! LIST OF LOCKS BLOCKED BY CURRENT LOCK WITH BYTE RANGES PARAMETER LKI$_BLOCKING_BR = '0000020F'X ! LIST OF LOCKS BLOCKING THE CURRENT LOCK WITH BYTE RANGES PARAMETER LKI$_LOCKS_BR = '00000210'X ! LIST OF LOCKS ALL LOCKS ON A RESOURCE WITH BYTE RANGES PARAMETER LKI$_BLOCKER_BR = '00000211'X ! LOCK THAT WILL BLOCK THE REQUESTED RANGE AND MODE PARAMETER LKI$_XVALBLK = '00000212'X ! EXTENDED VALUE BLOCK PARAMETER LKI$_XVALNOTVALID = '00000213'X ! VALIDITY OF EXTENDED VALUE BLOCK PARAMETER LKI$_LASTRSB = '00000214'X ! MAX INDEX IN RSB (MUST BE LAST internal use only) PARAMETER LKISND$K_HDRLEN = '00000010'X ! LENGTH OF HEADER PARAMETER LKISND$C_HDRLEN = '00000010'X ! LENGTH OF HEADER STRUCTURE /LKISNDDEF/ ! Format for local system buffer header when sending an information request ! to a remote system. INTEGER*2 LKISND$W_RETSIZE ! size of return info INTEGER*2 LKISND$W_STATUS ! status of operation INTEGER*2 LKISND$W_FLAGS ! flags INTEGER*2 LKISND$W_SEQNUM ! rebuild seqnm INTEGER*2 LKISND$W_SIZE ! size of structure BYTE LKISND$B_TYPE ! type of stucture BYTE LKISND$B_FILL_2 ! BYTE LKISND$B_ITEM_LENGTH ! len of item info BYTE LKISND$B_FILL_3 ! INTEGER*2 LKISND$W_FILL_4 ! END STRUCTURE ! LKISNDDEF !DEC$ END OPTIONS