-- --**************************************************************************** --* * --* 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:40 by OpenVMS SDL EV1-33 -- Source: 20-AUG-1998 12:37:37 $11$DUA933:[LIB_ADA.LIS]CLUICBDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package CLUICBDEF is -- module $CLUICBDEF --+ -- CLUICB - Incarnation File Control Block --- CLUICB_M_WIP : constant := 16#00000001#; CLUICB_M_WREQ : constant := 16#00000002#; CLUICB_K_F_LENGTH : constant := 26; -- Length of fixed portion CLUICB_C_F_LENGTH : constant := 26; -- Length of fixed portion -- End of fixed portion of the block CLUICB_T_BUFFER : constant := 28; -- Start of incarnation -- file buffer area type CLUICB_FLAGS_TYPE is -- Flags record WIP : BOOLEAN; -- Write-in-progress bit WREQ : BOOLEAN; -- Write requested bit FILLER_1 : UNSIGNED_14; end record; for CLUICB_FLAGS_TYPE use record WIP at 0 range 0 .. 0; WREQ at 0 range 1 .. 1; FILLER_1 at 0 range 2 .. 15; end record; for CLUICB_FLAGS_TYPE'SIZE use 16; CLUICB_FLAGS_TYPE_INIT : constant CLUICB_FLAGS_TYPE := (WIP => FALSE, WREQ => FALSE, FILLER_1 => 0); type CLUICB_TYPE is record -- Fixed portion FL : UNSIGNED_LONGWORD; -- Forward Link BL : UNSIGNED_LONGWORD; -- Backward Link SIZE : UNSIGNED_WORD; -- Size of block TYP : UNSIGNED_BYTE; -- Structure type SUBTYP : UNSIGNED_BYTE; -- Structure subtype IRP : UNSIGNED_LONGWORD; -- Address of IRP LBN : UNSIGNED_LONGWORD; -- Incarnation file logical block number WIP_CNT : UNSIGNED_WORD; -- Write-in-progress counter FLAGS : CLUICB_FLAGS_TYPE; -- Flags FILLER_1 : UNSIGNED_WORD; -- unused FILLER_2 : STRING(1 .. 2); -- Longword align end record; for CLUICB_TYPE use record FL at 0 range 0 .. 31; BL at 4 range 0 .. 31; SIZE at 8 range 0 .. 15; TYP at 10 range 0 .. 7; SUBTYP at 11 range 0 .. 7; IRP at 12 range 0 .. 31; LBN at 16 range 0 .. 31; WIP_CNT at 20 range 0 .. 15; FLAGS at 22 range 0 .. 15; FILLER_1 at 24 range 0 .. 15; FILLER_2 at 26 range 0 .. 15; end record; for CLUICB_TYPE'SIZE use 224; CLUICB_TYPE_INIT : constant CLUICB_TYPE := (FL => 0, BL => 0, SIZE => 0, TYP => 0, SUBTYP => 0, IRP => 0, LBN => 0, WIP_CNT => 0, FLAGS => CLUICB_FLAGS_TYPE_INIT, FILLER_1 => 0, FILLER_2 => (others => ASCII.NUL)); end CLUICBDEF;