! *** 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 ! ! PRIVILEGE BIT DEFINITIONS ! DECLARE LONG CONSTANT PRV$M_CMKRNL = x'00000001' DECLARE LONG CONSTANT PRV$M_CMEXEC = x'00000002' DECLARE LONG CONSTANT PRV$M_SYSNAM = x'00000004' DECLARE LONG CONSTANT PRV$M_GRPNAM = x'00000008' DECLARE LONG CONSTANT PRV$M_ALLSPOOL = x'00000010' DECLARE LONG CONSTANT PRV$M_IMPERSONATE = x'00000020' DECLARE LONG CONSTANT PRV$M_DIAGNOSE = x'00000040' DECLARE LONG CONSTANT PRV$M_LOG_IO = x'00000080' DECLARE LONG CONSTANT PRV$M_GROUP = x'00000100' DECLARE LONG CONSTANT PRV$M_NOACNT = x'00000200' DECLARE LONG CONSTANT PRV$M_PRMCEB = x'00000400' DECLARE LONG CONSTANT PRV$M_PRMMBX = x'00000800' DECLARE LONG CONSTANT PRV$M_PSWAPM = x'00001000' DECLARE LONG CONSTANT PRV$M_SETPRI = x'00002000' DECLARE LONG CONSTANT PRV$M_SETPRV = x'00004000' DECLARE LONG CONSTANT PRV$M_TMPMBX = x'00008000' DECLARE LONG CONSTANT PRV$M_WORLD = x'00010000' DECLARE LONG CONSTANT PRV$M_MOUNT = x'00020000' DECLARE LONG CONSTANT PRV$M_OPER = x'00040000' DECLARE LONG CONSTANT PRV$M_EXQUOTA = x'00080000' DECLARE LONG CONSTANT PRV$M_NETMBX = x'00100000' DECLARE LONG CONSTANT PRV$M_VOLPRO = x'00200000' DECLARE LONG CONSTANT PRV$M_PHY_IO = x'00400000' DECLARE LONG CONSTANT PRV$M_BUGCHK = x'00800000' DECLARE LONG CONSTANT PRV$M_PRMGBL = x'01000000' DECLARE LONG CONSTANT PRV$M_SYSGBL = x'02000000' DECLARE LONG CONSTANT PRV$M_PFNMAP = x'04000000' DECLARE LONG CONSTANT PRV$M_SHMEM = x'08000000' DECLARE LONG CONSTANT PRV$M_SYSPRV = x'10000000' DECLARE LONG CONSTANT PRV$M_BYPASS = x'20000000' DECLARE LONG CONSTANT PRV$M_SYSLCK = x'40000000' DECLARE LONG CONSTANT PRV$M_SHARE = x'80000000' DECLARE LONG CONSTANT PRV$M_UPGRADE = x'00000000' DECLARE LONG CONSTANT PRV$M_DOWNGRADE = x'00000000' DECLARE LONG CONSTANT PRV$M_GRPPRV = x'00000000' DECLARE LONG CONSTANT PRV$M_READALL = x'00000000' DECLARE LONG CONSTANT PRV$M_IMPORT = x'00000000' DECLARE LONG CONSTANT PRV$M_AUDIT = x'00000000' DECLARE LONG CONSTANT PRV$M_SECURITY = x'00000000' DECLARE LONG CONSTANT PRV$K_NUMBER_OF_PRIVS = 39 ! Total number of privilege bits. DECLARE LONG CONSTANT PRV$M_ACNT = x'00000200' DECLARE LONG CONSTANT PRV$M_ALTPRI = x'00002000' DECLARE LONG CONSTANT PRV$M_DETACH = x'00000020' DECLARE LONG CONSTANT PRV$S_PRVDEF = 8 record PRVDEF variant case group PRV$R_PRVDEF_BITS0 ! MAY CHANGE MODE TO KERNEL ! MAY CHANGE MODE TO EXEC ! MAY INSERT IN SYSTEM LOGICAL NAME TABLE ! MAY INSERT IN GROUP LOGICAL NAME TABLE ! MAY ALLOCATE SPOOLED DEVICE ! Replacement name for DETACH (synonyms) ! MAY DIAGNOSE DEVICES ! MAY DO LOGICAL I/O ! MAY AFFECT OTHER PROCESSES IN SAME GROUP ! MAY SUPPRESS ACCOUNTING MESSAGE ! MAY CREATE PERMANENT COMMON EVENT CLUSTERS ! MAY CREATE PERMANENT MAILBOX ! MAY CHANGE PROCESS SWAP MODE ! MAY SET ANY PRIORITY VALUE ! MAY SET ANY PRIVILEGE BIT ! MAY CREATE TEMPORARY MAILBOX ! MAY AFFECT OTHER PROCESSES IN THE WORLD ! MAY EXECUTE MOUNT ACP FUNCTIONS ! OPERATOR PRIVILEGE ! MAY EXCEED QUOTAS ! MAY CREATE NETWORK DEVICE ! MAY OVERRIDE VOLUME PROTECTION ! MAY DO PHYSICAL I/O ! MAY MAKE BUG CHECK ERROR LOG ENTRIES ! MAY CREATE PERMANENT GLOBAL SECTIONS ! MAY CREATE SYSTEM WIDE GLOBAL SECTIONS ! MAY MAP TO SECTION BY PFN ! MAY ALLOCATE STRUCTURES IN SHARED MEMORY ! ELIGIBLE FOR SYSTEM PROTECTION FIELD ! MAY BYPASS UIC BASED PROTECTION ! MAY CREATE SYSTEM WIDE LOCKS ! MAY ASSIGN CHANNEL TO NON-SHARED DEVICE ! May upgrade object integrity ! May downgrade object secrecy ! May access group objects via system protection field ! May read any object ! May set classification for unlabeled object ! May direct audit to system security audit log ! May perform security functions ! XXXXXX bitfield mask; /* Reserved for SEVMS BYTE CMKRNL_bits ( 8 ) ! COMMENT ADDED BY SDL - CMKRNL_bits contains bits CMKRNL through FILL_1 end group PRV$R_PRVDEF_BITS0 case group PRV$R_PRVDEF_BITS1 ! MAY SUPPRESS ACCOUNTING MESSAGES (NOACNT) ! MAY SET ANY PRIORITY VALE (SETPRI) WORD FILL_2_bits ! COMMENT ADDED BY SDL - FILL_2_bits contains bits FILL_2 through FILL_72_ end group PRV$R_PRVDEF_BITS1 case group PRV$R_PRVDEF_BITS2 LONG PRV$L_L1_BITS ! Bits in first longword LONG PRV$L_L2_BITS ! Bits in second longword end group PRV$R_PRVDEF_BITS2 case group PRV$R_PRVDEF_BITS3 ! Offset to obsolete DETACH bitfield ! MAY CREATE DETACHED PROCESSES BYTE fill_4_bits ! COMMENT ADDED BY SDL - fill_4_bits contains bits fill_4 through FILL_73_ end group PRV$R_PRVDEF_BITS3 end variant end record PRVDEF DECLARE LONG CONSTANT PRV$M_SORTED = x'00000001' DECLARE LONG CONSTANT PRV$M_BRIEF = x'00000002' DECLARE LONG CONSTANT PRV$M_FILLED = x'00000004' DECLARE LONG CONSTANT PRV$S_PRVDSP_BITS = 1 record PRVDSP_BITS ! sort privilege list ! display only privilege names ! display names in columns BYTE SORTED_bits ! COMMENT ADDED BY SDL - SORTED_bits contains bits SORTED through FILL_74_ end record PRVDSP_BITS DECLARE LONG CONSTANT PRV$K_PRVMASK_WORKING = 0 ! Working (Temporary) privs to be modified DECLARE LONG CONSTANT PRV$K_PRVMASK_PERMANENT = 1 ! Permanent privs to be modified DECLARE LONG CONSTANT PRV$K_PRVMASK_IMAGE = 2 ! Image privs to be modified