-- --**************************************************************************** --* * --* 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:39 by OpenVMS SDL EV1-33 -- Source: 27-NOV-1995 17:01:20 $11$DUA933:[LIB_ADA.LIS]PKTADEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package PKTADEF is -- module $PKTADEF -- The following fields with tag "Q" should be quadword fields, but on -- VAX, we must specify them as two longwords. The tag is left as Q for -- compatibility with Alpha. PKTA_M_TM_ACTIVE : constant := 16#00000001#; PKTA_M_HIB_UPCALL : constant := 16#00000002#; PKTA_M_EVENT_NO_FLAG : constant := 16#00000001#; type PKTA_TM_FLAGS_TYPE is -- Threads manager flags record TM_ACTIVE : BOOLEAN; -- Threads manager is active HIB_UPCALL : BOOLEAN; -- a HIBER upcall has been done FILLER_1 : UNSIGNED_30; end record; for PKTA_TM_FLAGS_TYPE use record TM_ACTIVE at 0 range 0 .. 0; HIB_UPCALL at 0 range 1 .. 1; FILLER_1 at 0 range 2 .. 31; end record; for PKTA_TM_FLAGS_TYPE'SIZE use 32; PKTA_TM_FLAGS_TYPE_INIT : constant PKTA_TM_FLAGS_TYPE := (TM_ACTIVE => FALSE, HIB_UPCALL => FALSE, FILLER_1 => 0); type PKTA_THREAD_EVENTS_TYPE is -- Other events to be reported to thread manager record EVENT_NO_FLAG : BOOLEAN; -- The no-flag event FILLER_1 : UNSIGNED_31; end record; for PKTA_THREAD_EVENTS_TYPE use record EVENT_NO_FLAG at 0 range 0 .. 0; FILLER_1 at 0 range 1 .. 31; end record; for PKTA_THREAD_EVENTS_TYPE'SIZE use 32; PKTA_THREAD_EVENTS_TYPE_INIT : constant PKTA_THREAD_EVENTS_TYPE := (EVENT_NO_FLAG => FALSE, FILLER_1 => 0); type PKTA_TYPE is record TM_FLAGS : PKTA_TM_FLAGS_TYPE; -- Threads manager flags TM_FLAGS_MSL : UNSIGNED_LONGWORD; -- To make flags a quadword PERSONA_HANDLE : UNSIGNED_LONGWORD; -- Security persona handle PERSONA_HANDLE_MSL : UNSIGNED_LONGWORD; -- To make security persona quad RESERVED_1 : UNSIGNED_QUADWORD; -- IEEE exceptions control register (Alpha only) AST_ADDRESS : UNSIGNED_LONGWORD; -- User AST routine AST_ADDRESS_MSL : UNSIGNED_LONGWORD; -- Make it a quadword AST_PARAMETER : UNSIGNED_LONGWORD; -- User AST parameter AST_PARAMETER_MSL : UNSIGNED_LONGWORD; -- Make it a quadword AST_THREAD_ID : UNSIGNED_LONGWORD; -- Target user mode thread ID AST_THREAD_ID_MSL : UNSIGNED_LONGWORD; -- Make it a quadword POSTEF : UNSIGNED_LONGWORD; -- Posted event flags POSTEF_MSL : UNSIGNED_LONGWORD; -- Make it a quadword THREAD_EVENTS : PKTA_THREAD_EVENTS_TYPE; -- Other events to be reported to thread manager THREAD_EVENTS_MSL : UNSIGNED_LONGWORD; -- Make flags a quadword end record; for PKTA_TYPE use record TM_FLAGS at 0 range 0 .. 31; TM_FLAGS_MSL at 4 range 0 .. 31; PERSONA_HANDLE at 8 range 0 .. 31; PERSONA_HANDLE_MSL at 12 range 0 .. 31; RESERVED_1 at 16 range 0 .. 63; AST_ADDRESS at 24 range 0 .. 31; AST_ADDRESS_MSL at 28 range 0 .. 31; AST_PARAMETER at 32 range 0 .. 31; AST_PARAMETER_MSL at 36 range 0 .. 31; AST_THREAD_ID at 40 range 0 .. 31; AST_THREAD_ID_MSL at 44 range 0 .. 31; POSTEF at 48 range 0 .. 31; POSTEF_MSL at 52 range 0 .. 31; THREAD_EVENTS at 56 range 0 .. 31; THREAD_EVENTS_MSL at 60 range 0 .. 31; end record; for PKTA_TYPE'SIZE use 512; PKTA_TYPE_INIT : constant PKTA_TYPE := ( TM_FLAGS => PKTA_TM_FLAGS_TYPE_INIT, TM_FLAGS_MSL => 0, PERSONA_HANDLE => 0, PERSONA_HANDLE_MSL => 0, RESERVED_1 => (0, 0), AST_ADDRESS => 0, AST_ADDRESS_MSL => 0, AST_PARAMETER => 0, AST_PARAMETER_MSL => 0, AST_THREAD_ID => 0, AST_THREAD_ID_MSL => 0, POSTEF => 0, POSTEF_MSL => 0, THREAD_EVENTS => PKTA_THREAD_EVENTS_TYPE_INIT, THREAD_EVENTS_MSL => 0); PKTA_S_URUW : constant := 64; -- Length URUW section PKTA_C_LENGTH : constant := 64; -- Length PKTA PKTA_K_LENGTH : constant := 64; -- Length PKTA PKTA_S_PKTADEF : constant := 64; -- Old size name - synonym end PKTADEF;