-- --**************************************************************************** --* * --* 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:43 by OpenVMS SDL EV1-33 -- Source: 20-AUG-1998 12:37:38 $11$DUA933:[LIB_ADA.LIS]POOLCHECKDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package POOLCHECKDEF is -- module $POOLCHECKDEF --+ -- POOLCHECK - Poolcheck SYSGEN parameter layout --- PCHECK_M_POISON : constant := 16#00000001#; PCHECK_M_CHECK : constant := 16#00000002#; PCHECK_M_SRP_FREE : constant := 16#00000004#; PCHECK_M_IRP_FREE : constant := 16#00000008#; PCHECK_M_LRP_FREE : constant := 16#00000010#; PCHECK_M_XRP_ALIGN : constant := 16#00000020#; PCHECK_M_P1 : constant := 16#00000080#; type PCHECK_FLAGS_BITS_TYPE is record POISON : BOOLEAN; -- Poison on deallocation -- Enable other features CHECK : BOOLEAN; -- Check poisoning on allocation -- and poison with allo pattern SRP_FREE : BOOLEAN; -- Poison SRPs on deallocation (obsolete) IRP_FREE : BOOLEAN; -- Poison IRPs on deallocation (obsolete) LRP_FREE : BOOLEAN; -- Poison LRPs on deallocation (obsolete) XRP_ALIGN : BOOLEAN; -- Check xRP alignment on deallocation (obs) SPARE1 : BOOLEAN; -- Spare P1 : BOOLEAN; -- Do poisoning/checking on P1 space end record; for PCHECK_FLAGS_BITS_TYPE use record POISON at 0 range 0 .. 0; CHECK at 0 range 1 .. 1; SRP_FREE at 0 range 2 .. 2; IRP_FREE at 0 range 3 .. 3; LRP_FREE at 0 range 4 .. 4; XRP_ALIGN at 0 range 5 .. 5; SPARE1 at 0 range 6 .. 6; P1 at 0 range 7 .. 7; end record; for PCHECK_FLAGS_BITS_TYPE'SIZE use 8; PCHECK_FLAGS_BITS_TYPE_INIT : constant PCHECK_FLAGS_BITS_TYPE := (POISON => FALSE, CHECK => FALSE, SRP_FREE => FALSE, IRP_FREE => FALSE, LRP_FREE => FALSE, XRP_ALIGN => FALSE, SPARE1 => FALSE, P1 => FALSE); type PCHECK_FLAGS_OVERLAY_TYPE is record FLAGS : UNSIGNED_WORD; -- Flag bits ----Component(s) below are defined as comments since they ----overlap other fields ---- ----FLAGS_BITS : PCHECK_FLAGS_BITS_TYPE; end record; for PCHECK_FLAGS_OVERLAY_TYPE use record FLAGS at 0 range 0 .. 15; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----FLAGS_BITS at 0 range 0 .. 7; end record; for PCHECK_FLAGS_OVERLAY_TYPE'SIZE use 16; PCHECK_FLAGS_OVERLAY_TYPE_INIT : constant PCHECK_FLAGS_OVERLAY_TYPE := (FLAGS => 0); type PCHECK_POOLCHECK_TYPE is record FLAGS_OVERLAY : PCHECK_FLAGS_OVERLAY_TYPE; FREE : UNSIGNED_BYTE; -- Free pattern ALLO : UNSIGNED_BYTE; -- Allocated pattern end record; for PCHECK_POOLCHECK_TYPE use record FLAGS_OVERLAY at 0 range 0 .. 15; FREE at 2 range 0 .. 7; ALLO at 3 range 0 .. 7; end record; for PCHECK_POOLCHECK_TYPE'SIZE use 32; PCHECK_POOLCHECK_TYPE_INIT : constant PCHECK_POOLCHECK_TYPE := ( FLAGS_OVERLAY => PCHECK_FLAGS_OVERLAY_TYPE_INIT, FREE => 0, ALLO => 0); --+ -- PCHK_REASON - Poolcheck bugcheck reason codes -- -- This defines the poolcheck bugcheck codes pushed on the stack when a -- poolcheck bugcheck is declared. -- --- PCHK_REASON_CORRUPT : constant := 0; -- Corrupted packet PCHK_REASON_ALIGN : constant := 1; -- Bad alignment (obsolete) PCHK_REASON_XRP_ALIGN : constant := 2; -- Bad alignment of xRP packet (obsolete) PCHK_REASON_PAGED : constant := 3; -- Paged block is partially outside PCHK_REASON_NPAGED : constant := 4; -- Npaged block is partially outside PCHK_REASON_IPL : constant := 5; -- Called P1 routines with IPL too high PCHK_REASON_AGGLOM : constant := 6; -- Agglomeration not done end POOLCHECKDEF;