--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:18 by OpenVMS SDL EV3-3 -- Source: 20-DEC-1996 08:48:24 $1$DGA8085:[LIB_ADA.LIS]CLASSDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package CLASSDEF is -- module $CLASSDEF -- -- CLASSification data block definitions -- type CLASS_TYPE is record FLINK : ADDRESS; -- Standard listhead forward link BLINK : ADDRESS; -- Standard listhead backward link SIZE : UNSIGNED_WORD; -- Standard structure size, in bytes TYP : UNSIGNED_BYTE; -- Standard type code for CLASS (DYN$C_SECURITY) SUBTYP : UNSIGNED_BYTE; -- Standard subtype code (DYN$C_SECURITY_CLASS) DEBUG_FLINK : ADDRESS; -- Forward link to CLASS (DEBUG) DEBUG_BLINK : ADDRESS; -- Backward link to CLASS (DEBUG) DEBUG_PID : UNSIGNED_LONGWORD; -- PID of process that allocated this CLASS (DEBUG) REFCOUNT : UNSIGNED_LONGWORD; -- Number of attached execution contexts to this CLASS MINCLASS : ADDRESS; -- Pointer to minimum classification data MAXCLASS : ADDRESS; -- Pointer to maximum classification data CLASS : ADDRESS; -- Pointer to active classification data -- -- The CLS classification data structures are appended to this data block as needed -- end record; for CLASS_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; SUBTYP at 11 range 0 .. 7; DEBUG_FLINK at 12 range 0 .. 31; DEBUG_BLINK at 16 range 0 .. 31; DEBUG_PID at 20 range 0 .. 31; REFCOUNT at 24 range 0 .. 31; MINCLASS at 28 range 0 .. 31; MAXCLASS at 32 range 0 .. 31; CLASS at 36 range 0 .. 31; end record; for CLASS_TYPE'SIZE use 320; CLASS_TYPE_INIT : constant CLASS_TYPE := (FLINK => ADDRESS_ZERO, BLINK => ADDRESS_ZERO, SIZE => 0, TYP => 0, SUBTYP => 0, DEBUG_FLINK => ADDRESS_ZERO, DEBUG_BLINK => ADDRESS_ZERO, DEBUG_PID => 0, REFCOUNT => 0, MINCLASS => ADDRESS_ZERO, MAXCLASS => ADDRESS_ZERO, CLASS => ADDRESS_ZERO); CLASS_K_LENGTH : constant := 40; -- Length of CLASS$ structure end CLASSDEF;