--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:20 by OpenVMS SDL EV3-3 -- Source: 06-FEB-1997 09:29:18 $1$DGA8085:[LIB_ADA.LIS]DALDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package DALDEF is -- module $DALDEF --+ -- DAL - Device Allocation Lock (value block contents) -- -- This structure defines the contents of the lock value block for a -- device allocation lock. --- DAL_M_NOTFIRST_MNT : constant := 16#00000001#; DAL_M_FOREIGN : constant := 16#00000002#; DAL_M_GROUP : constant := 16#00000004#; DAL_M_SYSTEM : constant := 16#00000008#; DAL_M_WRITE : constant := 16#00000010#; DAL_M_NOQUOTA : constant := 16#00000020#; DAL_M_OVR_PROT : constant := 16#00000040#; DAL_M_OVR_OWNUIC : constant := 16#00000080#; DAL_M_NOINTERLOCK : constant := 16#00000100#; DAL_M_SHADOW_MBR : constant := 16#00000200#; DAL_M_POOL_MBR : constant := 16#00000400#; DAL_S_DALDEF : constant := 16; type DAL_FLAGS_TYPE is -- Device usage flags: record NOTFIRST_MNT : BOOLEAN; -- not first time device mounted. FOREIGN : BOOLEAN; -- device mounted /FOREIGN GROUP : BOOLEAN; -- device mounted /GROUP SYSTEM : BOOLEAN; -- device mounted /SYSTEM WRITE : BOOLEAN; -- write access allowed NOQUOTA : BOOLEAN; -- quota checking disabled OVR_PROT : BOOLEAN; -- override protection OVR_OWNUIC : BOOLEAN; -- override volume ownership NOINTERLOCK : BOOLEAN; -- access NOT VAXcluster interlocked SHADOW_MBR : BOOLEAN; -- shadow set member POOL_MBR : BOOLEAN; -- snapshot-capable disk pool member FILLER_1 : UNSIGNED_5; end record; for DAL_FLAGS_TYPE use record NOTFIRST_MNT at 0 range 0 .. 0; FOREIGN at 0 range 1 .. 1; GROUP at 0 range 2 .. 2; SYSTEM at 0 range 3 .. 3; WRITE at 0 range 4 .. 4; NOQUOTA at 0 range 5 .. 5; OVR_PROT at 0 range 6 .. 6; OVR_OWNUIC at 0 range 7 .. 7; NOINTERLOCK at 1 range 0 .. 0; SHADOW_MBR at 1 range 1 .. 1; POOL_MBR at 1 range 2 .. 2; FILLER_1 at 1 range 3 .. 7; end record; for DAL_FLAGS_TYPE'SIZE use 16; DAL_FLAGS_TYPE_INIT : constant DAL_FLAGS_TYPE := (NOTFIRST_MNT => FALSE, FOREIGN => FALSE, GROUP => FALSE, SYSTEM => FALSE, WRITE => FALSE, NOQUOTA => FALSE, OVR_PROT => FALSE, OVR_OWNUIC => FALSE, NOINTERLOCK => FALSE, SHADOW_MBR => FALSE, POOL_MBR => FALSE, FILLER_1 => 0); type DAL_TYPE is record FLAGS : DAL_FLAGS_TYPE; -- Device usage flags: PROTECTION : UNSIGNED_WORD; -- Volume protection OWNER_UIC : UNSIGNED_LONGWORD; -- Volume owner UIC FIRST_MOUNTER_GROUP : UNSIGNED_WORD; -- UIC group of first mounter FILLER_1 : UNSIGNED_WORD; -- Not used VOLID : UNSIGNED_LONGWORD; -- Volume identifier hash end record; for DAL_TYPE use record FLAGS at 0 range 0 .. 15; PROTECTION at 2 range 0 .. 15; OWNER_UIC at 4 range 0 .. 31; FIRST_MOUNTER_GROUP at 8 range 0 .. 15; FILLER_1 at 10 range 0 .. 15; VOLID at 12 range 0 .. 31; end record; for DAL_TYPE'SIZE use 128; DAL_TYPE_INIT : constant DAL_TYPE := ( FLAGS => DAL_FLAGS_TYPE_INIT, PROTECTION => 0, OWNER_UIC => 0, FIRST_MOUNTER_GROUP => 0, FILLER_1 => 0, VOLID => 0); end DALDEF;