/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $KGBDEF ***/ #ifndef __KGBDEF_LOADED #define __KGBDEF_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 /*++ */ /* Key Grant Block definitions: Format of records in the rights database */ /* file. These records (1) associate identifier codes with names, and */ /* (2) list the holders of all identifiers in the system. */ /*-- */ /* WARNING : If you add attributes, you must change the following modules: */ /* */ /* [AUDSRV]FORMATBL.B32 - add name to id_attr_table */ /* */ /* Changing these modules is necessary so that auditing will reflect the new attr name */ /* */ /* */ /* WARNING : If you add any fields, or change the size of the */ /* NAME, the HOLDER, or the SYS_ID, be sure to update */ /* the contents at the bottom of this file. */ /* */ #define KGB$M_RESOURCE 0x1 #define KGB$M_DYNAMIC 0x2 #define KGB$M_NOACCESS 0x4 #define KGB$M_SUBSYSTEM 0x8 #define KGB$M_IMPERSONATE 0x10 #define KGB$M_HOLDER_HIDDEN 0x20 #define KGB$M_NAME_HIDDEN 0x40 #define KGB$K_HOLD_RECORD 16 /* End of holder record */ #define KGB$K_IDENT_RECORD 48 /* End of identifier record */ #define KGB$K_LEVEL1 257 /* Version 1 structure level */ #define KGB$K_MAINT_RECORD 64 /* End of maintenance record */ #define KGB$K_NUMBER_OF_ATTRIBUTES 7 #ifdef __NEW_STARLET typedef struct _kgbdef { unsigned int kgb$l_identifier; /* Binary identifier code */ __union { unsigned int kgb$l_attributes; /* Attribute bit definitions */ __struct { unsigned kgb$v_resource : 1; /* Resource may be charged to identifier */ unsigned kgb$v_dynamic : 1; /* Identifier may be enabled or disabled */ unsigned kgb$v_noaccess : 1; /* Identifier will not be used in protection checks */ unsigned kgb$v_subsystem : 1; /* Identifier denotes active protected subsystem */ unsigned kgb$v_impersonate : 1; /* Identifier can be used for impersonation */ unsigned kgb$v_holder_hidden : 1; /* Holder records are restricted */ unsigned kgb$v_name_hidden : 1; /* $IDTOASC or $ASCTOID translation is restricted */ unsigned kgb$v_fill_72_ : 1; } kgb$r_fill_71_; } kgb$r_fill_70_; unsigned __int64 kgb$q_holder; /* Holder identifier */ char kgb$t_name [32]; /* Identifier name (blank filled string) */ unsigned short int kgb$w_level; /* File structure level */ short int kgb$$$_fill_1; unsigned __int64 kgb$q_sys_id; /* System identifier */ unsigned int kgb$l_next_id; /* Next available identifier */ } KGBDEF; #if !defined(__VAXC) #define kgb$l_attributes kgb$r_fill_70_.kgb$l_attributes #define kgb$v_resource kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_resource #define kgb$v_dynamic kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_dynamic #define kgb$v_noaccess kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_noaccess #define kgb$v_subsystem kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_subsystem #define kgb$v_impersonate kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_impersonate #define kgb$v_holder_hidden kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_holder_hidden #define kgb$v_name_hidden kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_name_hidden #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ struct kgbdef { unsigned int kgb$l_identifier; /* Binary identifier code */ __union { unsigned int kgb$l_attributes; /* Attribute bit definitions */ __struct { unsigned kgb$v_resource : 1; /* Resource may be charged to identifier */ unsigned kgb$v_dynamic : 1; /* Identifier may be enabled or disabled */ unsigned kgb$v_noaccess : 1; /* Identifier will not be used in protection checks */ unsigned kgb$v_subsystem : 1; /* Identifier denotes active protected subsystem */ unsigned kgb$v_impersonate : 1; /* Identifier can be used for impersonation */ unsigned kgb$v_holder_hidden : 1; /* Holder records are restricted */ unsigned kgb$v_name_hidden : 1; /* $IDTOASC or $ASCTOID translation is restricted */ unsigned kgb$v_fill_72_ : 1; } kgb$r_fill_71_; } kgb$r_fill_70_; unsigned int kgb$q_holder [2]; /* Holder identifier */ char kgb$t_name [32]; /* Identifier name (blank filled string) */ unsigned short int kgb$w_level; /* File structure level */ short int kgb$$$_fill_1; unsigned int kgb$q_sys_id [2]; /* System identifier */ unsigned int kgb$l_next_id; /* Next available identifier */ } ; #if !defined(__VAXC) #define kgb$l_attributes kgb$r_fill_70_.kgb$l_attributes #define kgb$v_resource kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_resource #define kgb$v_dynamic kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_dynamic #define kgb$v_noaccess kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_noaccess #define kgb$v_subsystem kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_subsystem #define kgb$v_impersonate kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_impersonate #define kgb$v_holder_hidden kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_holder_hidden #define kgb$v_name_hidden kgb$r_fill_70_.kgb$r_fill_71_.kgb$v_name_hidden #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /*++ */ /* Define the environmental rights ID values */ /*-- */ #define KGB$K_BATCH_ID -2147483647 /* Batch ID value */ #define KGB$K_DIALUP_ID -2147483646 /* Dialup ID value */ #define KGB$K_INTERACTIVE_ID -2147483645 /* Interactive ID value */ #define KGB$K_LOCAL_ID -2147483644 /* Local ID value */ #define KGB$K_NETWORK_ID -2147483643 /* Network ID value */ #define KGB$K_REMOTE_ID -2147483642 /* Remote ID value */ #define KGB$K_DECWINDOWS_ID -2147483641 /* Decwindows ID value */ #define KGB$K_BOBUSER_ID -2147483640 /* Buffer Object User ID value */ #define KGB$K_MRES_USER_ID -2147483639 /* Memory Resident Section User ID value */ #define KGB$K_SAT_ACCESS_ID -2147483638 /* VMS$SATELLITE_ACCESS id value */ #define KGB$K_LAST_ENV_ID -2147483637 /* NOTE: Add all new ones before this */ /* */ /* Define the range of environmental identifiers */ /* */ #define KGB$K_BASE_ENV_ID -2147483647 #define KGB$K_NUMBER_OF_ENV_IDS 10 /* */ /* Define the restricted range of system identifiers as lowest id (%x800000000) */ /* to %x80010000. */ /* */ #define KGB$K_RESTRICTED_RANGE -2147418112 /* */ /* Define the various access class ranges. */ /* */ #define KGB$K_SEC_LEVEL_BASE -2147482648 #define KGB$K_INT_LEVEL_BASE -2147482392 #define KGB$K_SEC_CATEGORY_BASE -2147482136 #define KGB$K_INT_CATEGORY_BASE -2147482072 #define KGB$K_SEC_ACCESS_CLASS_BASE -2147482648 #define KGB$K_SEC_ACCESS_CLASS_END -2147482008 /* */ /* Define the values for the optional $GRANTID/$REVOKID FLAGS argument. */ /* */ #define KGB$K_PROCESS 0 /* local rights */ #define KGB$K_SYSTEM 1 /* system rights */ #define KGB$K_EXTENDED 2 /* local rights (extended) */ #define KGB$K_IMAGE 3 /* image (protected subsystem) rights */ #define KGB$K_MAX_SEG 4 #define KGB$K_SUBSYSTEM 3 /* image (protected subsystem) rights */ #define KGB$S_NAME 32 /* Size of KGB Identifier Name */ #define KGB$S_HOLDER 8 /* Size of KGB Holder ID value */ #define KGB$S_SYS_ID 8 /* Size of KGB System Ident */ #define KGB$S_KGBDEF 64 /* Size of KGB structure */ #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 /* __KGBDEF_LOADED */