-- --**************************************************************************** --* * --* 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:50:33 by OpenVMS SDL EV1-33 -- Source: 2-SEP-1989 10:35:19 $11$DUA933:[LIB_ADA.LIS]CINDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package CINDEF is -- module $CINDEF --+ -- -- Connect to interrupt definitions for QIO parameters -- --- CIN_M_EFN : constant := 16#00000001#; CIN_M_USECAL : constant := 16#00000002#; CIN_M_REPEAT : constant := 16#00000004#; CIN_M_AST : constant := 16#00000008#; CIN_M_INIDEV : constant := 16#00000010#; CIN_M_START : constant := 16#00000020#; CIN_M_ISR : constant := 16#00000040#; CIN_M_CANCEL : constant := 16#00000080#; CIN_M_EFNUM : constant := 16#FFFF0000#; type CIN_TYPE is record EFN : BOOLEAN; -- Set event flag on interrupt. USECAL : BOOLEAN; -- Use CALL interface. REPEAT : BOOLEAN; -- Do repeated interrupt service. AST : BOOLEAN; -- Queue AST on interrupt. INIDEV : BOOLEAN; -- Device initialization to do. START : BOOLEAN; -- Start I/O routine. ISR : BOOLEAN; -- ISR to execute. CANCEL : BOOLEAN; -- Cancel I/O routine. FILLER_1 : UNSIGNED_8; -- Spare bits. EFNUM : UNSIGNED_16; -- Event flag number. end record; for CIN_TYPE use record EFN at 0 range 0 .. 0; USECAL at 0 range 1 .. 1; REPEAT at 0 range 2 .. 2; AST at 0 range 3 .. 3; INIDEV at 0 range 4 .. 4; START at 0 range 5 .. 5; ISR at 0 range 6 .. 6; CANCEL at 0 range 7 .. 7; FILLER_1 at 1 range 0 .. 7; EFNUM at 2 range 0 .. 15; end record; for CIN_TYPE'SIZE use 32; CIN_TYPE_INIT : constant CIN_TYPE := (EFN => FALSE, USECAL => FALSE, REPEAT => FALSE, AST => FALSE, INIDEV => FALSE, START => FALSE, ISR => FALSE, CANCEL => FALSE, FILLER_1 => 0, EFNUM => 0); type CINDEF1_TYPE is record INIDEV : UNSIGNED_LONGWORD; -- Offset to device init routine. START : UNSIGNED_LONGWORD; -- Offset to start device routine. ISR : UNSIGNED_LONGWORD; -- Offset to interrupt service routine. CANCEL : UNSIGNED_LONGWORD; -- Offset to cancel I/O routine. end record; for CINDEF1_TYPE use record INIDEV at 0 range 0 .. 31; START at 4 range 0 .. 31; ISR at 8 range 0 .. 31; CANCEL at 12 range 0 .. 31; end record; for CINDEF1_TYPE'SIZE use 128; CINDEF1_TYPE_INIT : constant CINDEF1_TYPE := (INIDEV => 0, START => 0, ISR => 0, CANCEL => 0); type CINDEF2_TYPE is record SPTCOUNT : UNSIGNED_LONGWORD; -- Number of SPTs allocated. STARTVPN : UNSIGNED_LONGWORD; -- Starting VPN allocated. ----Component(s) below are defined as comments since they ----overlap other fields ---- ----STARTBIT : UNSIGNED_LONGWORD; -- Starting bit in bitmap. end record; for CINDEF2_TYPE use record SPTCOUNT at 0 range 0 .. 31; STARTVPN at 4 range 0 .. 31; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----STARTBIT at 4 range 0 .. 31; end record; for CINDEF2_TYPE'SIZE use 64; CINDEF2_TYPE_INIT : constant CINDEF2_TYPE := (SPTCOUNT => 0, STARTVPN => 0 ); end CINDEF;