-- --**************************************************************************** --* * --* 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:52:30 by OpenVMS SDL EV1-33 -- Source: 11-APR-1996 10:58:33 $11$DUA933:[LIB_ADA.LIS]IOCDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package IOCDEF is -- module $IOCDEF --+ -- -- $IOCDEF - flag bits used in I/O database search routines. -- --- IOC_M_PHY : constant := 16#00000001#; IOC_M_TYPE : constant := 16#00000002#; IOC_M_CLASS : constant := 16#00000004#; IOC_M_LOCAL : constant := 16#00000008#; IOC_M_EXISTS : constant := 16#00000010#; IOC_M_2P : constant := 16#00000020#; IOC_M_ANY : constant := 16#00000040#; IOC_M_MOUNT : constant := 16#00000080#; IOC_M_ALT : constant := 16#00000100#; IOC_M_NO_TRANS : constant := 16#00000200#; IOC_M_ALLOC : constant := 16#00000400#; IOC_M_DTN : constant := 16#00000800#; IOC_M_NOLOCK : constant := 16#00001000#; IOC_M_PAC : constant := 16#00002000#; IOC_M_FULLSB : constant := 16#00004000#; IOC_M_MBTA : constant := 16#00008000#; IOC_M_PROZAC : constant := 16#00010000#; type IOC_TYPE is record -- IOC$V_PHY must be bit 0!! PHY : BOOLEAN; -- physical device specified TYP : BOOLEAN; -- device type name specified CLASS : BOOLEAN; -- allocation class present LOCAL : BOOLEAN; -- search local devices only EXISTS : BOOLEAN; -- device exists IOC_2P : BOOLEAN; -- device is on UCB secondary path ANY : BOOLEAN; -- find any matching device MOUNT : BOOLEAN; -- find only mountable devices ALT : BOOLEAN; -- alternate UCB found NO_TRANS : BOOLEAN; -- caller translated logical name ALLOC : BOOLEAN; -- allocate mountable device DTN : BOOLEAN; -- do a dtn search for device type name NOLOCK : BOOLEAN; -- don't take out device lock PAC : BOOLEAN; -- port allocation class (Alpha only) FULLSB : BOOLEAN; -- Search all DDBs on SB MBTA : BOOLEAN; -- Must be true controller "A" PROZAC : BOOLEAN; -- Prefer only zero allocation class FILLER_1 : UNSIGNED_7; end record; for IOC_TYPE use record PHY at 0 range 0 .. 0; TYP at 0 range 1 .. 1; CLASS at 0 range 2 .. 2; LOCAL at 0 range 3 .. 3; EXISTS at 0 range 4 .. 4; IOC_2P at 0 range 5 .. 5; ANY at 0 range 6 .. 6; MOUNT at 0 range 7 .. 7; ALT at 1 range 0 .. 0; NO_TRANS at 1 range 1 .. 1; ALLOC at 1 range 2 .. 2; DTN at 1 range 3 .. 3; NOLOCK at 1 range 4 .. 4; PAC at 1 range 5 .. 5; FULLSB at 1 range 6 .. 6; MBTA at 1 range 7 .. 7; PROZAC at 2 range 0 .. 0; FILLER_1 at 2 range 1 .. 7; end record; for IOC_TYPE'SIZE use 24; IOC_TYPE_INIT : constant IOC_TYPE := (PHY => FALSE, TYP => FALSE, CLASS => FALSE, LOCAL => FALSE, EXISTS => FALSE, IOC_2P => FALSE, ANY => FALSE, MOUNT => FALSE, ALT => FALSE, NO_TRANS => FALSE, ALLOC => FALSE, DTN => FALSE, NOLOCK => FALSE, PAC => FALSE, FULLSB => FALSE, MBTA => FALSE, PROZAC => FALSE, FILLER_1 => 0); end IOCDEF;