! *** 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 ! ! Item code definition for the $CHKPRO (check protection) system service. ! DECLARE LONG CONSTANT CHP$_END = 0 ! list end DECLARE LONG CONSTANT CHP$_ACCESS = 1 ! intended access DECLARE LONG CONSTANT CHP$_FLAGS = 2 ! read / write flags DECLARE LONG CONSTANT CHP$_PRIV = 3 ! privilege mask DECLARE LONG CONSTANT CHP$_ACMODE = 4 ! accessor access mode DECLARE LONG CONSTANT CHP$_ACCLASS = 5 ! accessor security classification DECLARE LONG CONSTANT CHP$_RIGHTS = 6 ! rights list DECLARE LONG CONSTANT CHP$_ADD_RIGHTS = 7 ! additional rights list segments DECLARE LONG CONSTANT CHP$_MODE = 8 ! simple access mode DECLARE LONG CONSTANT CHP$_MODES = 9 ! per action access mode DECLARE LONG CONSTANT CHP$_MIN_CLASS = 10 ! minimum security classification DECLARE LONG CONSTANT CHP$_MAX_CLASS = 11 ! maximum security classification DECLARE LONG CONSTANT CHP$_OWNER = 12 ! object owner UIC DECLARE LONG CONSTANT CHP$_PROT = 13 ! protection mask DECLARE LONG CONSTANT CHP$_ACL = 14 ! access control list segment DECLARE LONG CONSTANT CHP$_AUDIT_NAME = 15 ! audit names returned DECLARE LONG CONSTANT CHP$_ALARM_NAME = 16 ! alarm names returned DECLARE LONG CONSTANT CHP$_MATCHED_ACE = 17 ! address of matching ACE DECLARE LONG CONSTANT CHP$_PRIVUSED = 18 ! address of mask of privileges used DECLARE LONG CONSTANT CHP$_AUDIT_LIST = 19 ! address of supplemental audit item list DECLARE LONG CONSTANT CHP$_OBJECT_NAME = 20 ! object name descriptor DECLARE LONG CONSTANT CHP$_OBJECT_CLASS = 21 ! object class name descriptor DECLARE LONG CONSTANT CHP$_UIC = 22 ! accessor UIC DECLARE LONG CONSTANT CHP$_OBJECT_SPECIFIC = 23 ! object specific longword (for OSR) ! add new item codes before here DECLARE LONG CONSTANT CHP$_MAX_CODE = 24 ! highest CHP$ item code DECLARE LONG CONSTANT CHP$_ADDRIGHTS = 7 DECLARE LONG CONSTANT CHP$_MINCLASS = 10 DECLARE LONG CONSTANT CHP$_MAXCLASS = 11 DECLARE LONG CONSTANT CHP$_AUDITNAME = 15 DECLARE LONG CONSTANT CHP$_ALARMNAME = 16 DECLARE LONG CONSTANT CHP$_MATCHEDACE = 17 DECLARE LONG CONSTANT CHP$_CLASS = 5 DECLARE LONG CONSTANT CHP$K_MATCHED_ACE_LENGTH = 255 DECLARE LONG CONSTANT CHP$K_ALARM_LENGTH = 768 DECLARE LONG CONSTANT CHP$K_AUDIT_LENGTH = 1560 DECLARE LONG CONSTANT CHP$M_SYSPRV = x'00000001' DECLARE LONG CONSTANT CHP$M_BYPASS = x'00000002' DECLARE LONG CONSTANT CHP$M_UPGRADE = x'00000004' DECLARE LONG CONSTANT CHP$M_DOWNGRADE = x'00000008' DECLARE LONG CONSTANT CHP$M_GRPPRV = x'00000010' DECLARE LONG CONSTANT CHP$M_READALL = x'00000020' DECLARE LONG CONSTANT CHP$M_OPER = x'00000040' DECLARE LONG CONSTANT CHP$M_GRPNAM = x'00000080' DECLARE LONG CONSTANT CHP$M_SYSNAM = x'00000100' DECLARE LONG CONSTANT CHP$M_GROUP = x'00000200' DECLARE LONG CONSTANT CHP$M_WORLD = x'00000400' DECLARE LONG CONSTANT CHP$M_PRMCEB = x'00000800' DECLARE LONG CONSTANT CHP$K_NUMBER_OF_PRIVS = 12 DECLARE LONG CONSTANT CHP$S_PRIVS_USED_BITS = 2 record PRIVS_USED_BITS ! access via SYSPRV privilege ! access via BYPASS privilege ! access via UPGRADE privilege ! access via DOWNGRADE privilege ! access via GRPPRV privilege ! access via READALL privilege ! access via OPER privilege ! access via GRPNAM privilege ! access via SYSNAM privilege ! access via GROUP privilege ! access via WORLD privilege ! access via PRMCEB privilege WORD SYSPRV_bits ! COMMENT ADDED BY SDL - SYSPRV_bits contains bits SYSPRV through FILL_78_ end record PRIVS_USED_BITS DECLARE LONG CONSTANT CHP$M_OBSERVE = x'00000001' DECLARE LONG CONSTANT CHP$M_ALTER = x'00000002' DECLARE LONG CONSTANT CHP$M_READ = x'00000001' DECLARE LONG CONSTANT CHP$M_WRITE = x'00000002' DECLARE LONG CONSTANT CHP$M_USEREADALL = x'00000004' DECLARE LONG CONSTANT CHP$M_AUDIT = x'00000008' DECLARE LONG CONSTANT CHP$M_NOFAILAUD = x'00000010' DECLARE LONG CONSTANT CHP$M_NOSUCCAUD = x'00000020' DECLARE LONG CONSTANT CHP$M_DELETE = x'00000040' DECLARE LONG CONSTANT CHP$M_MANDATORY = x'00000080' DECLARE LONG CONSTANT CHP$M_FLUSH = x'00000100' DECLARE LONG CONSTANT CHP$M_CREATE = x'00000200' DECLARE LONG CONSTANT CHP$M_INTERNAL = x'00000400' DECLARE LONG CONSTANT CHP$M_SERVER = x'00000800' DECLARE LONG CONSTANT CHP$S_FLAG_BITS = 2 record FLAG_BITS variant case group CHP$R_SEVMS_DEFS ! non-discretionary read access ! non-discretionary write access BYTE OBSERVE_bits ! COMMENT ADDED BY SDL - OBSERVE_bits contains bits OBSERVE through FILL_79_ end group CHP$R_SEVMS_DEFS case group CHP$R_VMS_DEFS ! non-discretionary read access ! non-discretionary write access ! READALL privilege applies ! access audit requested ! do not perform failed access audit ! do not perform successful access audit ! perform audit as delete event type ! perform mandatory audit ! force buffer flush in AUDIT_SERVER ! perform audit as create event type ! audit on behalf of VMS TCB ! audit originates in TCB server process WORD READ_bits ! COMMENT ADDED BY SDL - READ_bits contains bits READ through FILL_80_ end group CHP$R_VMS_DEFS end variant end record FLAG_BITS DECLARE LONG CONSTANT CHP$M_NOACCESS = x'00000001' DECLARE LONG CONSTANT CHP$M_REMDUPID = x'00000002' DECLARE LONG CONSTANT CHP$M_INCSYSID = x'00000004' DECLARE LONG CONSTANT CHP$M_INCIMGID = x'00000008' DECLARE LONG CONSTANT CHP$M_DEFPRIV = x'00000010' DECLARE LONG CONSTANT CHP$M_DEFCLASS = x'00000020' DECLARE LONG CONSTANT CHP$S_PROFILE_FLAGS = 1 record PROFILE_FLAGS ! do not access UAF to build profile ! remove duplicate system rights IDs ! include system rights IDs ! include image rights IDs ! initialize privs from default mask ! initialize class from default mask BYTE NOACCESS_bits ! COMMENT ADDED BY SDL - NOACCESS_bits contains bits NOACCESS through FILL_81_ end record PROFILE_FLAGS