/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $CHPDEF ***/ #ifndef __CHPDEF_LOADED #define __CHPDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* Item code definition for the $CHKPRO (check protection) system service. */ /* */ #define CHP$_END 0 /* list end */ #define CHP$_ACCESS 1 /* intended access */ #define CHP$_FLAGS 2 /* read / write flags */ #define CHP$_PRIV 3 /* privilege mask */ #define CHP$_ACMODE 4 /* accessor access mode */ #define CHP$_ACCLASS 5 /* accessor security classification */ #define CHP$_RIGHTS 6 /* rights list */ #define CHP$_ADD_RIGHTS 7 /* additional rights list segments */ #define CHP$_MODE 8 /* simple access mode */ #define CHP$_MODES 9 /* per action access mode */ #define CHP$_MIN_CLASS 10 /* minimum security classification */ #define CHP$_MAX_CLASS 11 /* maximum security classification */ #define CHP$_OWNER 12 /* object owner UIC */ #define CHP$_PROT 13 /* protection mask */ #define CHP$_ACL 14 /* access control list segment */ #define CHP$_AUDIT_NAME 15 /* audit names returned */ #define CHP$_ALARM_NAME 16 /* alarm names returned */ #define CHP$_MATCHED_ACE 17 /* address of matching ACE */ #define CHP$_PRIVUSED 18 /* address of mask of privileges used */ #define CHP$_AUDIT_LIST 19 /* address of supplemental audit item list */ #define CHP$_OBJECT_NAME 20 /* object name descriptor */ #define CHP$_OBJECT_CLASS 21 /* object class name descriptor */ #define CHP$_UIC 22 /* accessor UIC */ #define CHP$_OBJECT_SPECIFIC 23 /* object specific longword (for OSR) */ /* add new item codes before here */ #define CHP$_MAX_CODE 24 /* highest CHP$ item code */ #define CHP$_ADDRIGHTS 7 #define CHP$_MINCLASS 10 #define CHP$_MAXCLASS 11 #define CHP$_AUDITNAME 15 #define CHP$_ALARMNAME 16 #define CHP$_MATCHEDACE 17 #define CHP$_CLASS 5 #define CHP$K_MATCHED_ACE_LENGTH 255 #define CHP$K_ALARM_LENGTH 768 #define CHP$K_AUDIT_LENGTH 1560 #define CHP$M_SYSPRV 0x1 #define CHP$M_BYPASS 0x2 #define CHP$M_UPGRADE 0x4 #define CHP$M_DOWNGRADE 0x8 #define CHP$M_GRPPRV 0x10 #define CHP$M_READALL 0x20 #define CHP$M_OPER 0x40 #define CHP$M_GRPNAM 0x80 #define CHP$M_SYSNAM 0x100 #define CHP$M_GROUP 0x200 #define CHP$M_WORLD 0x400 #define CHP$M_PRMCEB 0x800 #define CHP$K_NUMBER_OF_PRIVS 12 #ifdef __NEW_STARLET typedef struct _privs_used_bits { unsigned chp$v_sysprv : 1; /* access via SYSPRV privilege */ unsigned chp$v_bypass : 1; /* access via BYPASS privilege */ unsigned chp$v_upgrade : 1; /* access via UPGRADE privilege */ unsigned chp$v_downgrade : 1; /* access via DOWNGRADE privilege */ unsigned chp$v_grpprv : 1; /* access via GRPPRV privilege */ unsigned chp$v_readall : 1; /* access via READALL privilege */ unsigned chp$v_oper : 1; /* access via OPER privilege */ unsigned chp$v_grpnam : 1; /* access via GRPNAM privilege */ unsigned chp$v_sysnam : 1; /* access via SYSNAM privilege */ unsigned chp$v_group : 1; /* access via GROUP privilege */ unsigned chp$v_world : 1; /* access via WORLD privilege */ unsigned chp$v_prmceb : 1; /* access via PRMCEB privilege */ unsigned chp$v_fill_74_ : 4; } PRIVS_USED_BITS; #else /* __OLD_STARLET */ struct privs_used_bits { unsigned chp$v_sysprv : 1; /* access via SYSPRV privilege */ unsigned chp$v_bypass : 1; /* access via BYPASS privilege */ unsigned chp$v_upgrade : 1; /* access via UPGRADE privilege */ unsigned chp$v_downgrade : 1; /* access via DOWNGRADE privilege */ unsigned chp$v_grpprv : 1; /* access via GRPPRV privilege */ unsigned chp$v_readall : 1; /* access via READALL privilege */ unsigned chp$v_oper : 1; /* access via OPER privilege */ unsigned chp$v_grpnam : 1; /* access via GRPNAM privilege */ unsigned chp$v_sysnam : 1; /* access via SYSNAM privilege */ unsigned chp$v_group : 1; /* access via GROUP privilege */ unsigned chp$v_world : 1; /* access via WORLD privilege */ unsigned chp$v_prmceb : 1; /* access via PRMCEB privilege */ unsigned chp$v_fill_74_ : 4; } ; #endif /* #ifdef __NEW_STARLET */ #define CHP$M_OBSERVE 0x1 #define CHP$M_ALTER 0x2 #define CHP$M_READ 0x1 #define CHP$M_WRITE 0x2 #define CHP$M_USEREADALL 0x4 #define CHP$M_AUDIT 0x8 #define CHP$M_NOFAILAUD 0x10 #define CHP$M_NOSUCCAUD 0x20 #define CHP$M_DELETE 0x40 #define CHP$M_MANDATORY 0x80 #define CHP$M_FLUSH 0x100 #define CHP$M_CREATE 0x200 #define CHP$M_INTERNAL 0x400 #define CHP$M_SERVER 0x800 #ifdef __NEW_STARLET typedef union _flag_bits { __struct { unsigned chp$v_observe : 1; /* non-discretionary read access */ unsigned chp$v_alter : 1; /* non-discretionary write access */ unsigned chp$v_fill_75_ : 6; } chp$r_sevms_defs; __struct { unsigned chp$v_read : 1; /* non-discretionary read access */ unsigned chp$v_write : 1; /* non-discretionary write access */ unsigned chp$v_usereadall : 1; /* READALL privilege applies */ unsigned chp$v_audit : 1; /* access audit requested */ unsigned chp$v_nofailaud : 1; /* do not perform failed access audit */ unsigned chp$v_nosuccaud : 1; /* do not perform successful access audit */ unsigned chp$v_delete : 1; /* perform audit as delete event type */ unsigned chp$v_mandatory : 1; /* perform mandatory audit */ unsigned chp$v_flush : 1; /* force buffer flush in AUDIT_SERVER */ unsigned chp$v_create : 1; /* perform audit as create event type */ unsigned chp$v_internal : 1; /* audit on behalf of VMS TCB */ unsigned chp$v_server : 1; /* audit originates in TCB server process */ unsigned chp$v_fill_76_ : 4; } chp$r_vms_defs; } FLAG_BITS; #if !defined(__VAXC) #define chp$v_observe chp$r_sevms_defs.chp$v_observe #define chp$v_alter chp$r_sevms_defs.chp$v_alter #define chp$v_read chp$r_vms_defs.chp$v_read #define chp$v_write chp$r_vms_defs.chp$v_write #define chp$v_usereadall chp$r_vms_defs.chp$v_usereadall #define chp$v_audit chp$r_vms_defs.chp$v_audit #define chp$v_nofailaud chp$r_vms_defs.chp$v_nofailaud #define chp$v_nosuccaud chp$r_vms_defs.chp$v_nosuccaud #define chp$v_delete chp$r_vms_defs.chp$v_delete #define chp$v_mandatory chp$r_vms_defs.chp$v_mandatory #define chp$v_flush chp$r_vms_defs.chp$v_flush #define chp$v_create chp$r_vms_defs.chp$v_create #define chp$v_internal chp$r_vms_defs.chp$v_internal #define chp$v_server chp$r_vms_defs.chp$v_server #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union flag_bits { __struct { unsigned chp$v_observe : 1; /* non-discretionary read access */ unsigned chp$v_alter : 1; /* non-discretionary write access */ unsigned chp$v_fill_75_ : 6; } chp$r_sevms_defs; __struct { unsigned chp$v_read : 1; /* non-discretionary read access */ unsigned chp$v_write : 1; /* non-discretionary write access */ unsigned chp$v_usereadall : 1; /* READALL privilege applies */ unsigned chp$v_audit : 1; /* access audit requested */ unsigned chp$v_nofailaud : 1; /* do not perform failed access audit */ unsigned chp$v_nosuccaud : 1; /* do not perform successful access audit */ unsigned chp$v_delete : 1; /* perform audit as delete event type */ unsigned chp$v_mandatory : 1; /* perform mandatory audit */ unsigned chp$v_flush : 1; /* force buffer flush in AUDIT_SERVER */ unsigned chp$v_create : 1; /* perform audit as create event type */ unsigned chp$v_internal : 1; /* audit on behalf of VMS TCB */ unsigned chp$v_server : 1; /* audit originates in TCB server process */ unsigned chp$v_fill_76_ : 4; } chp$r_vms_defs; } ; #if !defined(__VAXC) #define chp$v_observe chp$r_sevms_defs.chp$v_observe #define chp$v_alter chp$r_sevms_defs.chp$v_alter #define chp$v_read chp$r_vms_defs.chp$v_read #define chp$v_write chp$r_vms_defs.chp$v_write #define chp$v_usereadall chp$r_vms_defs.chp$v_usereadall #define chp$v_audit chp$r_vms_defs.chp$v_audit #define chp$v_nofailaud chp$r_vms_defs.chp$v_nofailaud #define chp$v_nosuccaud chp$r_vms_defs.chp$v_nosuccaud #define chp$v_delete chp$r_vms_defs.chp$v_delete #define chp$v_mandatory chp$r_vms_defs.chp$v_mandatory #define chp$v_flush chp$r_vms_defs.chp$v_flush #define chp$v_create chp$r_vms_defs.chp$v_create #define chp$v_internal chp$r_vms_defs.chp$v_internal #define chp$v_server chp$r_vms_defs.chp$v_server #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #define CHP$M_NOACCESS 0x1 #define CHP$M_REMDUPID 0x2 #define CHP$M_INCSYSID 0x4 #define CHP$M_INCIMGID 0x8 #define CHP$M_DEFPRIV 0x10 #define CHP$M_DEFCLASS 0x20 #ifdef __NEW_STARLET typedef struct _profile_flags { unsigned chp$v_noaccess : 1; /* do not access UAF to build profile */ unsigned chp$v_remdupid : 1; /* remove duplicate system rights IDs */ unsigned chp$v_incsysid : 1; /* include system rights IDs */ unsigned chp$v_incimgid : 1; /* include image rights IDs */ unsigned chp$v_defpriv : 1; /* initialize privs from default mask */ unsigned chp$v_defclass : 1; /* initialize class from default mask */ unsigned chp$v_fill_77_ : 2; } PROFILE_FLAGS; #else /* __OLD_STARLET */ struct profile_flags { unsigned chp$v_noaccess : 1; /* do not access UAF to build profile */ unsigned chp$v_remdupid : 1; /* remove duplicate system rights IDs */ unsigned chp$v_incsysid : 1; /* include system rights IDs */ unsigned chp$v_incimgid : 1; /* include image rights IDs */ unsigned chp$v_defpriv : 1; /* initialize privs from default mask */ unsigned chp$v_defclass : 1; /* initialize class from default mask */ unsigned chp$v_fill_77_ : 2; } ; #endif /* #ifdef __NEW_STARLET */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __CHPDEF_LOADED */