! *** 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 ! + ! LOCK MANAGER DEFINITIONS ! - DECLARE LONG CONSTANT LCK$M_VALBLK = x'00000001' DECLARE LONG CONSTANT LCK$M_CONVERT = x'00000002' DECLARE LONG CONSTANT LCK$M_NOQUEUE = x'00000004' DECLARE LONG CONSTANT LCK$M_SYNCSTS = x'00000008' DECLARE LONG CONSTANT LCK$M_SYSTEM = x'00000010' DECLARE LONG CONSTANT LCK$M_NOQUOTA = x'00000020' DECLARE LONG CONSTANT LCK$M_CVTSYS = x'00000040' DECLARE LONG CONSTANT LCK$M_RECOVER = x'00000080' DECLARE LONG CONSTANT LCK$M_PROTECT = x'00000100' DECLARE LONG CONSTANT LCK$M_NODLCKWT = x'00000200' DECLARE LONG CONSTANT LCK$M_NODLCKBLK = x'00000400' DECLARE LONG CONSTANT LCK$M_EXPEDITE = x'00000800' DECLARE LONG CONSTANT LCK$M_QUECVT = x'00001000' DECLARE LONG CONSTANT LCK$M_BYPASS = x'00002000' DECLARE LONG CONSTANT LCK$M_NOIOLOCK8 = x'00004000' DECLARE LONG CONSTANT LCK$M_NOFORK = x'00008000' DECLARE LONG CONSTANT LCK$M_XVALBLK = x'00010000' DECLARE LONG CONSTANT LCK$M_DEQALL = x'00000001' DECLARE LONG CONSTANT LCK$M_CANCEL = x'00000002' DECLARE LONG CONSTANT LCK$M_INVVALBLK = x'00000004' DECLARE LONG CONSTANT LCK$M_RESV_NOIOLOCK8 = x'00004000' DECLARE LONG CONSTANT LCK$M_RESV_NOFORK = x'00008000' DECLARE LONG CONSTANT LCK$M_RESV_XVALBLK = x'00010000' DECLARE LONG CONSTANT LCK$K_NLMODE = 0 ! NULL DECLARE LONG CONSTANT LCK$K_CRMODE = 1 ! CONCURRENT READ DECLARE LONG CONSTANT LCK$K_CWMODE = 2 ! CONCURRENT WRITE DECLARE LONG CONSTANT LCK$K_PRMODE = 3 ! PROTECTED READ DECLARE LONG CONSTANT LCK$K_PWMODE = 4 ! PROTECTED WRITE DECLARE LONG CONSTANT LCK$K_EXMODE = 5 ! EXCLUSIVE DECLARE LONG CONSTANT LCK$S_LCKDEF = 3 record LCKDEF variant case group LCK$R_LCKDEF_BITS0 ! VALUE BLOCK INCLUDED ! CONVERSION REQUEST ! DO NOT QUEUE REQUEST ! SYNCHRONOUS STATUS REQUESTED ! SYSTEM LOCK ! DON'T CHARGE QUOTA ! CONVERT TO SYSTEM ! RECOVER LOCK DURING FAILOVER ! PROTECT LOCK DURING FAILOVER ! NO DEADLOCK WAITING ! NO DEADLOCK BLOCKING ! EXPEDITE NLMODE REQUEST ! FORCE CONVERSION TO QUEUE ! BYPASS WAITING REQUESTS ! DO NOT LOCK IOLOCK8 FOR CALLBACK ! SAFE TO PERFORM OPERATION WITHOUT FORK ! LONG VALUE BLOCK INCLUDED ! ! IFBLKING bitfield mask; /* PERFORM CONVERSION IF BLOCKING ! LONG VALBLK_bits ! COMMENT ADDED BY SDL - VALBLK_bits contains bits VALBLK through FILL_75_ end group LCK$R_LCKDEF_BITS0 case group LCK$R_LCKDEF_BITS1 ! DEQUEUE ALL LOCKS ! CANCEL REQUEST ! INVALIDATE VALUE BLOCK ! RESERVE NEXT 11 BITS ! DO NOT LOCK IOLOCK8 FOR CALLBACK ! SAFE TO PERFORM OPERATION WITHOUT FORK ! LONG VALUE BLOCK INCLUDED LONG DEQALL_bits ! COMMENT ADDED BY SDL - DEQALL_bits contains bits DEQALL through FILL_76_ end group LCK$R_LCKDEF_BITS1 ! LOCK MODES end variant end record LCKDEF