! *** 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 DECLARE LONG CONSTANT ACL$K_LENGTH = 12 ! Length of the overhead area DECLARE LONG CONSTANT ACL$C_LENGTH = 12 ! Length of the overhead area DECLARE LONG CONSTANT ACL$C_FILE = 1 ! Files DECLARE LONG CONSTANT ACL$C_DEVICE = 2 ! MBX, MT, TT, etc. DECLARE LONG CONSTANT ACL$C_JOBCTL_QUEUE = 3 ! Job controller queue DECLARE LONG CONSTANT ACL$C_COMMON_EF_CLUSTER = 4 ! Common event flag clusters DECLARE LONG CONSTANT ACL$C_LOGICAL_NAME_TABLE = 5 ! Logical name tables DECLARE LONG CONSTANT ACL$C_PROCESS = 6 ! Process DECLARE LONG CONSTANT ACL$C_GROUP_GLOBAL_SECTION = 7 ! Group global sections DECLARE LONG CONSTANT ACL$C_SYSTEM_GLOBAL_SECTION = 8 ! System global sections DECLARE LONG CONSTANT ACL$C_CAPABILITY = 9 ! Capability DECLARE LONG CONSTANT ACL$C_EVENT_FACILITY = 10 ! Event facility DECLARE LONG CONSTANT ACL$C_LOCK = 11 ! Lock block/resource DECLARE LONG CONSTANT ACL$C_VOLUME = 12 ! Disk volume (set) DECLARE LONG CONSTANT ACL$C_MAX_OBJECT = 13 ! max object code DECLARE LONG CONSTANT ACL$C_NUM_OBJECTS = 12 ! number of objects DECLARE LONG CONSTANT ACL$K_NUM_OBJECTS = 12 ! number of objects ! Action codes DECLARE LONG CONSTANT ACL$C_ADDACLENT = 1 ! Add an ACL entry DECLARE LONG CONSTANT ACL$C_DELACLENT = 2 ! Delete an ACL entry DECLARE LONG CONSTANT ACL$C_MODACLENT = 3 ! Modify an ACL entry DECLARE LONG CONSTANT ACL$C_FNDACLENT = 4 ! Locate an ACL entry DECLARE LONG CONSTANT ACL$C_FNDACETYP = 5 ! Locate specific ACE type DECLARE LONG CONSTANT ACL$C_DELETEACL = 6 ! Delete ACL, leaving protected DECLARE LONG CONSTANT ACL$C_READACL = 7 ! Read the ACL DECLARE LONG CONSTANT ACL$C_ACLLENGTH = 8 ! Get the ACL's length DECLARE LONG CONSTANT ACL$C_READACE = 9 ! Read a single ACE DECLARE LONG CONSTANT ACL$C_RLOCK_ACL = 10 ! Read lock on ACL DECLARE LONG CONSTANT ACL$C_WLOCK_ACL = 11 ! Write lock on ACL DECLARE LONG CONSTANT ACL$C_UNLOCK_ACL = 12 ! Release exclusive lock DECLARE LONG CONSTANT ACL$C_GRANT_ACE = 13 ! ACE granting access DECLARE LONG CONSTANT ACL$C_NEXT_ACE = 14 ! Increment ACE number DECLARE LONG CONSTANT ACL$C_DELETE_ALL = 15 ! Delete entire ACL DECLARE LONG CONSTANT ACL$C_RESERVED_ITEM_2 = 16 ! Reserved item code DECLARE LONG CONSTANT ACL$C_RESERVED_ITEM_3 = 17 ! Reserved item code DECLARE LONG CONSTANT ACL$S_ADDACLENT = 255 ! Add an ACL entry DECLARE LONG CONSTANT ACL$S_DELACLENT = 255 ! Delete an ACL entry DECLARE LONG CONSTANT ACL$S_MODACLENT = 255 ! Modify an ACL entry DECLARE LONG CONSTANT ACL$S_FNDACLENT = 255 ! Locate an ACL entry DECLARE LONG CONSTANT ACL$S_FNDACETYP = 255 ! Locate specific ACE type DECLARE LONG CONSTANT ACL$S_DELETEACL = 255 ! Delete ACL, leaving protected DECLARE LONG CONSTANT ACL$S_READACL = 512 ! Read the ACL DECLARE LONG CONSTANT ACL$S_ACLLENGTH = 4 ! Get the ACL's length DECLARE LONG CONSTANT ACL$S_READACE = 255 ! Read a single ACE DECLARE LONG CONSTANT ACL$S_RLOCK_ACL = 4 ! Read lock on ACL DECLARE LONG CONSTANT ACL$S_WLOCK_ACL = 4 ! Write lock on ACL DECLARE LONG CONSTANT ACL$S_UNLOCK_ACL = 4 ! Remove lock on ACL DECLARE LONG CONSTANT ACL$S_GRANT_ACE = 255 ! ACE granting access DECLARE LONG CONSTANT ACL$S_NEXT_ACE = 4 ! Increment ACE number DECLARE LONG CONSTANT ACL$S_DELETE_ALL = 255 ! Delete entire ACL DECLARE LONG CONSTANT ACL$S_RESERVED_ITEM_2 = 255 ! Reserved item code DECLARE LONG CONSTANT ACL$S_RESERVED_ITEM_3 = 255 ! Reserved item code DECLARE LONG CONSTANT ACL$C_MAX_SEGMENT_SIZE = 512 ! Maximum ACL segemnt size DECLARE LONG CONSTANT ACL$K_MAX_SEGMENT_SIZE = 512 ! Maximum ACL segemnt size DECLARE LONG CONSTANT ACL$S_ACLDEF = 16 record ACLDEF LONG ACL$L_FLINK ! Forward link to next list in the queue LONG ACL$L_BLINK ! Back link to previous list in queue WORD ACL$W_SIZE ! Total size of the list BYTE ACL$B_TYPE ! Structure type code BYTE ACLDEF$$_FILL_1 ! Spare unused byte LONG ACL$L_LIST ! Start of the Access Control Entries ! Object types end record ACLDEF