-- --**************************************************************************** --* * --* 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:10 by OpenVMS SDL EV1-33 -- Source: 18-DEC-1991 18:48:50 $11$DUA933:[LIB_ADA.LIS]NSABDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package NSABDEF is -- module $NSABDEF -- -- Define the layout of the Non-discretionary Security Audit Block. -- -- The NSAB is the structure which is passed to the internal auditing entry -- point (NSA$AUDIT_EVENT) and contains a list of audit packets along with -- a couple of flags. -- NSAB_M_NONPAGED : constant := 16#00000001#; NSAB_M_NUKENSAB : constant := 16#00000002#; NSAB_C_HDR_LENGTH : constant := 60; NSAB_K_HDR_LENGTH : constant := 60; type NSAB_FLAGS_TYPE is -- miscellaneous flags record NONPAGED : BOOLEAN; -- message entry is non-paged pool NUKENSAB : BOOLEAN; -- force NSAB deallocation FILLER_1 : UNSIGNED_6; end record; for NSAB_FLAGS_TYPE use record NONPAGED at 0 range 0 .. 0; NUKENSAB at 0 range 1 .. 1; FILLER_1 at 0 range 2 .. 7; end record; for NSAB_FLAGS_TYPE'SIZE use 8; NSAB_FLAGS_TYPE_INIT : constant NSAB_FLAGS_TYPE := (NONPAGED => FALSE, NUKENSAB => FALSE, FILLER_1 => 0); type NSAB_TYPE is record FLINK : UNSIGNED_LONGWORD; -- FLINK BLINK : UNSIGNED_LONGWORD; -- BLINK SIZE : UNSIGNED_WORD; -- size of NSAB buffer TYP : UNSIGNED_BYTE; -- type of structure (DYN$C_NSAB) FLAGS : NSAB_FLAGS_TYPE; -- miscellaneous flags SUPPLIED : UNSIGNED_LONGWORD; -- supplied packet mask BASEADDR : UNSIGNED_LONGWORD; -- address of NSAB to deallocate AUDIT_BLOCK : UNSIGNED_LONGWORD; -- address of audit buffer ACB : UNSIGNED_BYTE_ARRAY (1 .. 28); -- ACB used to wake audit server SENDER_EPID : UNSIGNED_LONGWORD; -- sender's EPID FILLER_1 : UNSIGNED_LONGWORD; -- spare longword end record; for NSAB_TYPE use record FLINK at 0 range 0 .. 31; BLINK at 4 range 0 .. 31; SIZE at 8 range 0 .. 15; TYP at 10 range 0 .. 7; FLAGS at 11 range 0 .. 7; SUPPLIED at 12 range 0 .. 31; BASEADDR at 16 range 0 .. 31; AUDIT_BLOCK at 20 range 0 .. 31; ACB at 24 range 0 .. 223; SENDER_EPID at 52 range 0 .. 31; FILLER_1 at 56 range 0 .. 31; end record; for NSAB_TYPE'SIZE use 480; NSAB_TYPE_INIT : constant NSAB_TYPE := (FLINK => 0, BLINK => 0, SIZE => 0, TYP => 0, FLAGS => NSAB_FLAGS_TYPE_INIT, SUPPLIED => 0, BASEADDR => 0, AUDIT_BLOCK => 0, ACB => (others => 0), SENDER_EPID => 0, FILLER_1 => 0); end NSABDEF;