-- --**************************************************************************** --* * --* Copyright (c) 2001 * --* by DIGITAL Equipment Corporation, Maynard, Mass. * --* * --* This software is furnished under a license and may be used and copied * --* only in accordance with the terms of such license and with the * --* inclusion of the above copyright notice. This software or any other * --* copies thereof may not be provided or otherwise made available to any * --* other person. No title to and ownership of the software is hereby * --* transferred. * --* * --* The information in this software is subject to change without notice * --* and should not be construed as a commitment by DIGITAL Equipment * --* Corporation. * --* * --* DIGITAL assumes no responsibility for the use or reliability of its * --* software on equipment which is not supplied by DIGITAL. * --* * --**************************************************************************** --******************************************************************************************************************** -- Created: 15-MAR-2001 22:53:18 by OpenVMS SDL EV1-33 -- Source: 20-APR-1992 13:23:21 $11$DUA933:[LIB_ADA.LIS]NSASDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package NSASDEF is -- module $NSASDEF -- Define the layout of the structure returned by NSA$SIZE_NSAB. NSAS_M_NOALARM : constant := 16#00000001#; NSAS_M_NOAUDIT : constant := 16#00000002#; NSAS_M_NOPROBE : constant := 16#00000004#; NSAS_M_PRIVS_SUPPLIED : constant := 16#00000008#; NSAS_K_MAX_JOURNALS : constant := 1; -- maximum number of alarm or audit journals NSAS_K_LENGTH : constant := 68; -- define length of structure type NSAS_EVENT_TYPE is -- event type/subtype as longword record EVENT_TYPE : UNSIGNED_WORD; -- event type EVENT_SUBTYPE : UNSIGNED_WORD; -- event subtype end record; for NSAS_EVENT_TYPE use record EVENT_TYPE at 0 range 0 .. 15; EVENT_SUBTYPE at 2 range 0 .. 15; end record; for NSAS_EVENT_TYPE'SIZE use 32; NSAS_EVENT_TYPE_INIT : constant NSAS_EVENT_TYPE := (EVENT_TYPE => 0, EVENT_SUBTYPE => 0); type NSAS_FLAGS_TYPE is -- flags record NOALARM : BOOLEAN; -- do not copy alarm packets NOAUDIT : BOOLEAN; -- do not copy audit packets NOPROBE : BOOLEAN; -- do not probe item list PRIVS_SUPPLIED : BOOLEAN; -- did the caller supply a priv mask -- or identifier list? FILLER_1 : UNSIGNED_12; end record; for NSAS_FLAGS_TYPE use record NOALARM at 0 range 0 .. 0; NOAUDIT at 0 range 1 .. 1; NOPROBE at 0 range 2 .. 2; PRIVS_SUPPLIED at 0 range 3 .. 3; FILLER_1 at 0 range 4 .. 15; end record; for NSAS_FLAGS_TYPE'SIZE use 16; NSAS_FLAGS_TYPE_INIT : constant NSAS_FLAGS_TYPE := (NOALARM => FALSE, NOAUDIT => FALSE, NOPROBE => FALSE, PRIVS_SUPPLIED => FALSE, FILLER_1 => 0); type NSAS_OBJECT_CLASS_TYPE is -- object class name descriptor record CLASS_LENGTH : UNSIGNED_WORD; -- object class name length FILLER_1 : UNSIGNED_WORD; CLASS_ADDR : UNSIGNED_LONGWORD; -- object class name buffer address end record; for NSAS_OBJECT_CLASS_TYPE use record CLASS_LENGTH at 0 range 0 .. 15; FILLER_1 at 2 range 0 .. 15; CLASS_ADDR at 4 range 0 .. 31; end record; for NSAS_OBJECT_CLASS_TYPE'SIZE use 64; NSAS_OBJECT_CLASS_TYPE_INIT : constant NSAS_OBJECT_CLASS_TYPE := (CLASS_LENGTH => 0, FILLER_1 => 0, CLASS_ADDR => 0); type NSAS_TYPE is record SIZE : UNSIGNED_LONGWORD; -- size of required packet list SUPPLIED : UNSIGNED_LONGWORD; -- supplied packet mask EVENT : NSAS_EVENT_TYPE; -- event type/subtype as longword FACILITY : UNSIGNED_WORD; -- event facility FLAGS : NSAS_FLAGS_TYPE; -- flags FINAL_STATUS : UNSIGNED_LONGWORD; -- actual final status ACCESS_DESIRED : UNSIGNED_LONGWORD; -- actual access desired PRIVS_USED : UNSIGNED_QUADWORD; -- actual privs used (as quadword) ----Component(s) below are defined as comments since they ----overlap other fields ---- ----PRIVS_USED : UNSIGNED_LONGWORD; -- actual privs used (as longword) ALARM_COUNT : UNSIGNED_WORD; -- number of alarm journals present AUDIT_COUNT : UNSIGNED_WORD; -- number of audit journals present OBJECT_CLASS : NSAS_OBJECT_CLASS_TYPE; -- object class name descriptor MIN_CLASS_ADDR : UNSIGNED_LONGWORD; -- address of min. class mask MAX_CLASS_ADDR : UNSIGNED_LONGWORD; -- address of max. class mask ALARM_LIST : UNSIGNED_QUADWORD_ARRAY (1 .. 1); -- array of alarm journals descriptors AUDIT_LIST : UNSIGNED_QUADWORD_ARRAY (1 .. 1); -- array of audit journals descriptors end record; for NSAS_TYPE use record SIZE at 0 range 0 .. 31; SUPPLIED at 4 range 0 .. 31; EVENT at 8 range 0 .. 31; FACILITY at 12 range 0 .. 15; FLAGS at 14 range 0 .. 15; FINAL_STATUS at 16 range 0 .. 31; ACCESS_DESIRED at 20 range 0 .. 31; PRIVS_USED at 24 range 0 .. 63; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----PRIVS_USED at 24 range 0 .. 31; ALARM_COUNT at 32 range 0 .. 15; AUDIT_COUNT at 34 range 0 .. 15; OBJECT_CLASS at 36 range 0 .. 63; MIN_CLASS_ADDR at 44 range 0 .. 31; MAX_CLASS_ADDR at 48 range 0 .. 31; ALARM_LIST at 52 range 0 .. 63; AUDIT_LIST at 60 range 0 .. 63; end record; for NSAS_TYPE'SIZE use 544; NSAS_TYPE_INIT : constant NSAS_TYPE := (SIZE => 0, SUPPLIED => 0, EVENT => NSAS_EVENT_TYPE_INIT, FACILITY => 0, FLAGS => NSAS_FLAGS_TYPE_INIT, FINAL_STATUS => 0, ACCESS_DESIRED => 0, PRIVS_USED => (0, 0), ALARM_COUNT => 0, AUDIT_COUNT => 0, OBJECT_CLASS => NSAS_OBJECT_CLASS_TYPE_INIT, MIN_CLASS_ADDR => 0, MAX_CLASS_ADDR => 0, ALARM_LIST => (others => (0, 0)), AUDIT_LIST => (others => (0, 0))); end NSASDEF;