--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:23 by OpenVMS SDL EV3-3 -- Source: 30-JUL-2004 08:47:53 $1$DGA8085:[LIB_ADA.LIS]ERLDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package ERLDEF is -- module $ERLDEF -- -- Error Log Buffer Header -- ERL_M_LOCK : constant := 16#00000001#; ERL_M_TIMER : constant := 16#00000002#; type ERL_FLAGS_TYPE is -- Buffer control flags record LOCK : BOOLEAN; -- Buffer allocation interlock TIMER : BOOLEAN; -- Timer active FILLER_1 : UNSIGNED_6; end record; for ERL_FLAGS_TYPE use record LOCK at 0 range 0 .. 0; TIMER at 0 range 1 .. 1; FILLER_1 at 0 range 2 .. 7; end record; for ERL_FLAGS_TYPE'SIZE use 8; ERL_FLAGS_TYPE_INIT : constant ERL_FLAGS_TYPE := (LOCK => FALSE, TIMER => FALSE, FILLER_1 => 0); type ERL_TYPE is record BUSY : UNSIGNED_BYTE; -- For compatibility purposes MSGCNT : UNSIGNED_BYTE; -- For compatibility purposes BUFIND : UNSIGNED_BYTE; -- For compatibility purposes FLAGS : ERL_FLAGS_TYPE; -- Buffer control flags NEXT : ADDRESS; -- For compatibility purposes ----Component(s) below are defined as comments since they ----overlap other fields ---- ----COMPAT : UNSIGNED_LONGWORD; -- Used for compatibility determination EN : ADDRESS; -- For compatibility purposes BUSY : UNSIGNED_LONGWORD; -- Number of busy messages in buffer MSGCNT : UNSIGNED_LONGWORD; -- Number of completed messages in buffer BUFIND : UNSIGNED_LONGWORD; -- Buffer indicator of respective buffer NEXT : UNSIGNED_QUADWORD; -- Address of next available space in buffer EN : UNSIGNED_QUADWORD; -- Address of end of buffer + 1 end record; for ERL_TYPE use record BUSY at 0 range 0 .. 7; MSGCNT at 1 range 0 .. 7; BUFIND at 2 range 0 .. 7; FLAGS at 3 range 0 .. 7; NEXT at 4 range 0 .. 31; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----COMPAT at 4 range 0 .. 31; EN at 8 range 0 .. 31; BUSY at 12 range 0 .. 31; MSGCNT at 16 range 0 .. 31; BUFIND at 20 range 0 .. 31; NEXT at 24 range 0 .. 63; EN at 32 range 0 .. 63; end record; for ERL_TYPE'SIZE use 320; ERL_TYPE_INIT : constant ERL_TYPE := (BUSY => 0, MSGCNT => 0, BUFIND => 0, FLAGS => ERL_FLAGS_TYPE_INIT, NEXT => ADDRESS_ZERO, EN => ADDRESS_ZERO, BUSY => 0, MSGCNT => 0, BUFIND => 0, NEXT => (0, 0), EN => (0, 0)); ERL_C_LENGTH : constant := 40; ERL_K_LENGTH : constant := 40; S_ERLDEF : constant := 40; end ERLDEF;