/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:37:59 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:09 _$11$DUA933:[BUILD.SDL]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $KGBDEF ***/ #ifndef __KGBDEF_LOADED #define __KGBDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #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 */ /* */ #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 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_53 : 1; } kgb$r_fill_52; } kgb$r_fill_51; 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) && !defined(VAXC) #define kgb$l_attributes kgb$r_fill_51.kgb$l_attributes #define kgb$v_resource kgb$r_fill_51.kgb$r_fill_52.kgb$v_resource #define kgb$v_dynamic kgb$r_fill_51.kgb$r_fill_52.kgb$v_dynamic #define kgb$v_noaccess kgb$r_fill_51.kgb$r_fill_52.kgb$v_noaccess #define kgb$v_subsystem kgb$r_fill_51.kgb$r_fill_52.kgb$v_subsystem #define kgb$v_impersonate kgb$r_fill_51.kgb$r_fill_52.kgb$v_impersonate #define kgb$v_holder_hidden kgb$r_fill_51.kgb$r_fill_52.kgb$v_holder_hidden #define kgb$v_name_hidden kgb$r_fill_51.kgb$r_fill_52.kgb$v_name_hidden #endif /* #if !defined(__VAXC) && !defined(VAXC) */ /*++ */ /* 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_LAST_ENV_ID -2147483638 /* 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 9 /* */ /* 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 */ #ifdef __cplusplus } #endif #pragma standard #endif /* __KGBDEF_LOADED */