-- --**************************************************************************** --* * --* 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:51:48 by OpenVMS SDL EV1-33 -- Source: 2-SEP-1989 10:40:22 $11$DUA933:[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 ALLOCATION BUFFER HEADER -- ERL_K_LENGTH : constant := 12; -- LENGTH OF ALLOCATION BUFFER HEADER ERL_C_LENGTH : constant := 12; -- LENGTH OF ALLOCATION BUFFER HEADER ERL_M_LOCK : constant := 16#00000001#; ERL_M_TIMER : constant := 16#00000002#; type ERL_EN_TYPE is -- ADDRESS OF END OF BUFFER + 1 record LOCK : BOOLEAN; -- BUFFER ALLOCATION INTERLOCK TIMER : BOOLEAN; -- TIMER ACTIVE FILLER_1 : UNSIGNED_30; end record; for ERL_EN_TYPE use record LOCK at 0 range 0 .. 0; TIMER at 0 range 1 .. 1; FILLER_1 at 0 range 2 .. 31; end record; for ERL_EN_TYPE'SIZE use 32; ERL_EN_TYPE_INIT : constant ERL_EN_TYPE := (LOCK => FALSE, TIMER => FALSE, FILLER_1 => 0); type ERL_TYPE is record BUSY : UNSIGNED_BYTE; -- NUMBER OF BUSY MESSAGES IN BUFFER MSGCNT : UNSIGNED_BYTE; -- NUMBER OF COMPLETED MESSAGES IN BUFFER BUFIND : UNSIGNED_BYTE; -- BUFFER INDICATOR OF RESPECTIVE BUFFER FLAGS : UNSIGNED_BYTE; -- BUFFER CONTROL FLAGS NEXT : UNSIGNED_LONGWORD; -- ADDRESS OF NEXT AVAILABLE SPACE IN BUFFER EN : ERL_EN_TYPE; -- 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; EN at 8 range 0 .. 31; end record; for ERL_TYPE'SIZE use 96; ERL_TYPE_INIT : constant ERL_TYPE := (BUSY => 0, MSGCNT => 0, BUFIND => 0, FLAGS => 0, NEXT => 0, EN => ERL_EN_TYPE_INIT ); end ERLDEF;