! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! + ! ! 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. ! - DECLARE LONG CONSTANT LKI$K_LENGTH = 24 ! LENGTH OF LIST BLOCK WITHOUT BYTE RANGE INFO DECLARE LONG CONSTANT LKI$C_LENGTH = 24 ! LENGTH OF LIST BLOCK WITHOUT BYTE RANGE INFO DECLARE LONG CONSTANT LKI$K_BR_LENGTH = 56 ! LENGTH OF LIST BLOCK WITH BYTE RANGE INFO DECLARE LONG CONSTANT LKI$C_BR_LENGTH = 56 ! LENGTH OF LIST BLOCK WITH BYTE RANGE INFO DECLARE LONG CONSTANT LKI$S_LKIDEF = 56 record LKIDEF group LKI$R_U1 variant case LONG LKI$L_MSTLKID ! LOCK ID ON MASTER case LONG LKI$L_LOCKID ! OLD SYMBOL end variant end group LKI$R_U1 LONG LKI$L_PID ! PROCESS ID group LKI$R_U2 variant case LONG LKI$L_MSTCSID ! CSID OF MASTER case LONG LKI$L_SYSID ! OLD SYMBOL end variant end group LKI$R_U2 BYTE LKI$B_RQMODE ! REQUEST MODE BYTE LKI$B_GRMODE ! GRANTED MODE BYTE LKI$B_QUEUE ! LOCK QUEUE BYTE LKI$$$_SPARE ! SPARE BYTE group LKI$R_U3 variant case LONG LKI$L_LKID ! LOCK ID ON PROCESS NODE case LONG LKI$L_REMLKID ! OLD SYMBOL end variant end group LKI$R_U3 group LKI$R_U4 variant case LONG LKI$L_CSID ! CSID OF PROCESS NODE case LONG LKI$L_REMSYSID ! OLD SYMBOL end variant end group LKI$R_U4 BASIC$QUADWORD LKI$Q_RQSTART ! REQUEST RANGE START BASIC$QUADWORD LKI$Q_RQLENGTH ! REQUEST RANGE LENGTH BASIC$QUADWORD LKI$Q_GRSTART ! GRANTED RANGE START BASIC$QUADWORD LKI$Q_GRLENGTH ! GRANTED RANGE LENGTH end record LKIDEF ! DEFINE NAMSPACE FIELDS DECLARE LONG CONSTANT LKI$M_SYSNAM = x'80000000' DECLARE LONG CONSTANT LKI$S_NAMSPACE = 4 record NAMSPACE group LKI$R_NAMSPACE_UNION variant case group LKI$R_NAMSPACE_FIELDS WORD LKI$W_GROUP ! GROUP OF OWNER UIC BYTE LKI$B_RMOD ! ACCESS MODE OF REQUEST BYTE LKI$B_STATUS ! STATUS OF RESOURCE end group LKI$R_NAMSPACE_FIELDS case group LKI$R_STATUS_BITS ! SPARE ! SYSTEM WIDE RSB LONG FILL_bits ! COMMENT ADDED BY SDL - FILL_bits contains bits FILL through SYSNAM end group LKI$R_STATUS_BITS end variant end group LKI$R_NAMSPACE_UNION end record NAMSPACE ! DEFINE STATE FIELDS DECLARE LONG CONSTANT LKI$S_STATEF = 3 record STATEF BYTE LKI$B_STATE_RQMODE ! REQUEST MODE BYTE LKI$B_STATE_GRMODE ! GRANTED MODE BYTE LKI$B_STATE_QUEUE ! LOCK STATE CODE end record STATEF DECLARE LONG CONSTANT LKIUSR$K_LENGTH = 20 DECLARE LONG CONSTANT LKIUSR$C_LENGTH = 20 DECLARE LONG CONSTANT LKIUSR$K_BLOCKER_START = 20 ! OFFSET TO THE START OF THE RETURNED INFORMATION DECLARE LONG CONSTANT LKIUSR$S_LKIUSRDEF = 20 record LKIUSRDEF BASIC$QUADWORD LKIUSR$Q_START ! START OF THE REQUESTED RANGE BASIC$QUADWORD LKIUSR$Q_LENGTH ! 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 WORD LKI$$_FILL_1 ! reserved end record LKIUSRDEF DECLARE LONG CONSTANT LKI$_RNG_S_RNGDEF = 32 record RNGDEF BASIC$QUADWORD LKI$_RNG_Q_RQSTART ! REQUEST RANGE START BASIC$QUADWORD LKI$_RNG_Q_RQLENGTH ! REQUEST RANGE LENGTH BASIC$QUADWORD LKI$_RNG_Q_GRSTART ! GRANTED RANGE START BASIC$QUADWORD LKI$_RNG_Q_GRLENGTH ! GRANTED RANGE LENGTH end record RNGDEF ! LOCK STATE CODE VALUES DECLARE LONG CONSTANT LKI$C_GRANTED = 1 ! GRANTED DECLARE LONG CONSTANT LKI$C_CONVERT = 0 ! CONVERSION DECLARE LONG CONSTANT LKI$C_WAITING = -1 ! WAITING DECLARE LONG CONSTANT LKI$C_RETRY = -2 ! RETRY REQUEST DECLARE LONG CONSTANT LKI$C_SCSWAIT = -3 ! SCS WAIT DECLARE LONG CONSTANT LKI$C_RSPNOTQED = -4 ! RESPONSE NOT QUEUED DECLARE LONG CONSTANT LKI$C_RSPQUEUED = -5 ! RESPONSE QUEUED DECLARE LONG CONSTANT LKI$C_RSPGRANTD = -6 ! RESPONSE GRANTED DECLARE LONG CONSTANT LKI$C_RSPDOLOCL = -7 ! RESPONSE DO LOCALLY DECLARE LONG CONSTANT LKI$C_RSPRESEND = -8 ! RESPONSE RESEND ! DEFINE TABLE NUMBERS ! STRUCTURE CODES MUST START AT 1 DECLARE LONG CONSTANT LKI$C_LKBTYPE = 1 ! ITEM IN LKB DECLARE LONG CONSTANT LKI$C_RSBTYPE = 2 ! ITEM IN RSB DECLARE LONG CONSTANT LKI$C_LISTEND = 0 ! DEFINE ITMLST TERMINATOR ! ITEM IDENTIFIERS FOR LKB DECLARE LONG CONSTANT LKI$_PID = 256 ! PROCESS ID DECLARE LONG CONSTANT LKI$_STATE = 257 ! CURRENT LOCK STATE DECLARE LONG CONSTANT LKI$_PARENT = 258 ! ID OF PARENT LOCK DECLARE LONG CONSTANT LKI$_LCKREFCNT = 259 ! SUB-LOCK REFERENCE COUNT DECLARE LONG CONSTANT LKI$_LOCKID = 260 ! LOCK ID DECLARE LONG CONSTANT LKI$_REMLKID = 261 ! REMOTE LOCK ID DECLARE LONG CONSTANT LKI$_MSTLKID = 262 ! LOCK ID ON RESOURCE MASTER DECLARE LONG CONSTANT LKI$_LKID = 263 ! LOCK ID ON PROCESS NODE DECLARE LONG CONSTANT LKI$_CSID = 264 ! CSID OF PROCESS NODE DECLARE LONG CONSTANT LKI$_BRL = 265 ! IS THE LOCK A BYTE RANGE LOCK ! * , TSKID /* TASK ID FOR MULTITASK DECLARE LONG CONSTANT LKI$_RANGE = 266 ! Range of request DECLARE LONG CONSTANT LKI$_LASTLKB = 267 ! MAX INDEX IN LKB TABLE ! ITEM IDENTIFIERS FOR RSB DECLARE LONG CONSTANT LKI$_NAMSPACE = 512 ! RESOURCE NAME SPACE DECLARE LONG CONSTANT LKI$_RESNAM = 513 ! RESOURCE NAME DECLARE LONG CONSTANT LKI$_RSBREFCNT = 514 ! SUB-RESOURCE REFERENCE COUNT DECLARE LONG CONSTANT LKI$_VALBLK = 515 ! VALUE BLOCK DECLARE LONG CONSTANT LKI$_SYSTEM = 516 ! SYSTEM ID OF SYSTEM WITH RESOURCE DECLARE LONG CONSTANT LKI$_LCKCOUNT = 517 ! COUNT OF LOCKS ON RESOURCE DECLARE LONG CONSTANT LKI$_BLOCKEDBY = 518 ! LIST OF LOCKS BLOCKED BY CURRENT LOCK DECLARE LONG CONSTANT LKI$_BLOCKING = 519 ! LIST OF LOCKS BLOCKING CURRENT LOCK DECLARE LONG CONSTANT LKI$_LOCKS = 520 ! LIST OF ALL LOCKS ON RESOURCE DECLARE LONG CONSTANT LKI$_CVTCOUNT = 521 ! COUNT OF LOCKS ON CONVERSION QUEUE DECLARE LONG CONSTANT LKI$_WAITCOUNT = 522 ! COUNT OF LOCKS ON WAIT QUEUE DECLARE LONG CONSTANT LKI$_GRANTCOUNT = 523 ! COUNT OF LOCKS ON GRANT QUEUE DECLARE LONG CONSTANT LKI$_MSTCSID = 524 ! CSID OF RESOURCE MASTER DECLARE LONG CONSTANT LKI$_VALBLKST = 525 ! VALUE BLOCK STATUS DECLARE LONG CONSTANT LKI$_BLOCKEDBY_BR = 526 ! LIST OF LOCKS BLOCKED BY CURRENT LOCK WITH BYTE RANGES DECLARE LONG CONSTANT LKI$_BLOCKING_BR = 527 ! LIST OF LOCKS BLOCKING THE CURRENT LOCK WITH BYTE RANGES DECLARE LONG CONSTANT LKI$_LOCKS_BR = 528 ! LIST OF LOCKS ALL LOCKS ON A RESOURCE WITH BYTE RANGES DECLARE LONG CONSTANT LKI$_BLOCKER_BR = 529 ! LOCK THAT WILL BLOCK THE REQUESTED RANGE AND MODE DECLARE LONG CONSTANT LKI$_XVALBLK = 530 ! EXTENDED VALUE BLOCK DECLARE LONG CONSTANT LKI$_XVALNOTVALID = 531 ! VALIDITY OF EXTENDED VALUE BLOCK DECLARE LONG CONSTANT LKI$_LASTRSB = 532 ! MAX INDEX IN RSB (MUST BE LAST internal use only) DECLARE LONG CONSTANT LKISND$K_HDRLEN = 16 ! LENGTH OF HEADER DECLARE LONG CONSTANT LKISND$C_HDRLEN = 16 ! LENGTH OF HEADER DECLARE LONG CONSTANT LKISND$S_LKISNDDEF = 16 record LKISNDDEF ! Format for local system buffer header when sending an information request ! to a remote system. WORD LKISND$W_RETSIZE ! size of return info WORD LKISND$W_STATUS ! status of operation WORD LKISND$W_FLAGS ! flags WORD LKISND$W_SEQNUM ! rebuild seqnm WORD 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 ! WORD LKISND$W_FILL_4 ! end record LKISNDDEF