! *** 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 ! ++ ! 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. ! DECLARE LONG CONSTANT KGB$M_RESOURCE = x'00000001' DECLARE LONG CONSTANT KGB$M_DYNAMIC = x'00000002' DECLARE LONG CONSTANT KGB$M_NOACCESS = x'00000004' DECLARE LONG CONSTANT KGB$M_SUBSYSTEM = x'00000008' DECLARE LONG CONSTANT KGB$M_IMPERSONATE = x'00000010' DECLARE LONG CONSTANT KGB$M_HOLDER_HIDDEN = x'00000020' DECLARE LONG CONSTANT KGB$M_NAME_HIDDEN = x'00000040' DECLARE LONG CONSTANT KGB$K_HOLD_RECORD = 16 ! End of holder record DECLARE LONG CONSTANT KGB$K_IDENT_RECORD = 48 ! End of identifier record DECLARE LONG CONSTANT KGB$K_LEVEL1 = 257 ! Version 1 structure level DECLARE LONG CONSTANT KGB$K_MAINT_RECORD = 64 ! End of maintenance record DECLARE LONG CONSTANT KGB$K_NUMBER_OF_ATTRIBUTES = 7 DECLARE LONG CONSTANT KGB$S_KGBDEF = 64 record KGBDEF LONG KGB$L_IDENTIFIER ! Binary identifier code group KGB$R_FILL_70_ variant case LONG KGB$L_ATTRIBUTES ! Attribute bit definitions case group KGB$R_FILL_71_ ! Resource may be charged to identifier ! Identifier may be enabled or disabled ! Identifier will not be used in protection checks ! Identifier denotes active protected subsystem ! Identifier can be used for impersonation ! Holder records are restricted ! $IDTOASC or $ASCTOID translation is restricted BYTE RESOURCE_bits ! COMMENT ADDED BY SDL - RESOURCE_bits contains bits RESOURCE through FILL_72_ end group KGB$R_FILL_71_ end variant end group KGB$R_FILL_70_ BASIC$QUADWORD KGB$Q_HOLDER ! Holder identifier STRING KGB$T_NAME = 32 ! Identifier name (blank filled string) WORD KGB$W_LEVEL ! File structure level WORD KGB$$$_FILL_1 BASIC$QUADWORD KGB$Q_SYS_ID ! System identifier LONG KGB$L_NEXT_ID ! Next available identifier end record KGBDEF ! ++ ! Define the environmental rights ID values ! -- DECLARE LONG CONSTANT KGB$K_BATCH_ID = -2147483647 ! Batch ID value DECLARE LONG CONSTANT KGB$K_DIALUP_ID = -2147483646 ! Dialup ID value DECLARE LONG CONSTANT KGB$K_INTERACTIVE_ID = -2147483645 ! Interactive ID value DECLARE LONG CONSTANT KGB$K_LOCAL_ID = -2147483644 ! Local ID value DECLARE LONG CONSTANT KGB$K_NETWORK_ID = -2147483643 ! Network ID value DECLARE LONG CONSTANT KGB$K_REMOTE_ID = -2147483642 ! Remote ID value DECLARE LONG CONSTANT KGB$K_DECWINDOWS_ID = -2147483641 ! Decwindows ID value DECLARE LONG CONSTANT KGB$K_BOBUSER_ID = -2147483640 ! Buffer Object User ID value DECLARE LONG CONSTANT KGB$K_MRES_USER_ID = -2147483639 ! Memory Resident Section User ID value DECLARE LONG CONSTANT KGB$K_SAT_ACCESS_ID = -2147483638 ! VMS$SATELLITE_ACCESS id value DECLARE LONG CONSTANT KGB$K_LAST_ENV_ID = -2147483637 ! NOTE: Add all new ones before this ! ! Define the range of environmental identifiers ! DECLARE LONG CONSTANT KGB$K_BASE_ENV_ID = -2147483647 DECLARE LONG CONSTANT KGB$K_NUMBER_OF_ENV_IDS = 10 ! ! Define the restricted range of system identifiers as lowest id (%x800000000) ! to %x80010000. ! DECLARE LONG CONSTANT KGB$K_RESTRICTED_RANGE = -2147418112 ! ! Define the various access class ranges. ! DECLARE LONG CONSTANT KGB$K_SEC_LEVEL_BASE = -2147482648 DECLARE LONG CONSTANT KGB$K_INT_LEVEL_BASE = -2147482392 DECLARE LONG CONSTANT KGB$K_SEC_CATEGORY_BASE = -2147482136 DECLARE LONG CONSTANT KGB$K_INT_CATEGORY_BASE = -2147482072 DECLARE LONG CONSTANT KGB$K_SEC_ACCESS_CLASS_BASE = -2147482648 DECLARE LONG CONSTANT KGB$K_SEC_ACCESS_CLASS_END = -2147482008 ! ! Define the values for the optional $GRANTID/$REVOKID FLAGS argument. ! DECLARE LONG CONSTANT KGB$K_PROCESS = 0 ! local rights DECLARE LONG CONSTANT KGB$K_SYSTEM = 1 ! system rights DECLARE LONG CONSTANT KGB$K_EXTENDED = 2 ! local rights (extended) DECLARE LONG CONSTANT KGB$K_IMAGE = 3 ! image (protected subsystem) rights DECLARE LONG CONSTANT KGB$K_MAX_SEG = 4 DECLARE LONG CONSTANT KGB$K_SUBSYSTEM = 3 ! image (protected subsystem) rights DECLARE LONG CONSTANT KGB$S_NAME = 32 ! Size of KGB Identifier Name DECLARE LONG CONSTANT KGB$S_HOLDER = 8 ! Size of KGB Holder ID value DECLARE LONG CONSTANT KGB$S_SYS_ID = 8 ! Size of KGB System Ident