--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:16 by OpenVMS SDL EV3-3 -- Source: 24-MAY-2001 16:00:37 $1$DGA8085:[LIB_ADA.LIS]AQBDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package AQBDEF is -- module $AQBDEF --+ -- DEFINITION OF ACP QUEUE HEADER --- AQB_M_UNIQUE : constant := 16#00000001#; AQB_M_DEFCLASS : constant := 16#00000002#; AQB_M_DEFSYS : constant := 16#00000004#; AQB_M_CREATING : constant := 16#00000008#; AQB_M_XQIOPROC : constant := 16#00000010#; AQB_K_UNDEFINED : constant := 0; -- UNDEFINED ACP AQB_K_F11V1 : constant := 1; -- FILES-11 STRUCTURE LEVEL 1 AQB_K_F11V2 : constant := 2; -- FILES-11 STRUCTURE LEVEL 2 AQB_K_MTA : constant := 3; -- MAGTAPE AQB_K_NET : constant := 4; -- NETWORKS AQB_K_REM : constant := 5; -- REMOTE I/O AQB_K_HBS : constant := 6; -- HOST BASED SHADOWING AQB_K_F11V3 : constant := 7; -- Files-11 presentation of ISO 9660 AQB_K_F11V4 : constant := 8; -- Files-11 presentation of High Sierra AQB_K_F64 : constant := 9; -- Dollar ACP type AQB_K_UCX : constant := 10; -- ACP for TCP/IP Services for OpenVMS AQB_K_F11V5 : constant := 11; -- FILES-11 STRUCTURE LEVEL 5 AQB_K_F11V6 : constant := 12; -- FILES-11 STRUCTURE LEVEL 6 AQB_K_HBVS : constant := 13; -- Host Based Volume Shadowing SCP AQB_C_MAXACP : constant := 13; -- maximum AQB supported AQB_K_LENGTH : constant := 40; -- SIZE OF AQB AQB_C_LENGTH : constant := 40; -- SIZE OF AQB AQB_S_AQBDEF : constant := 40; -- OLD SIZE NAME, SYNONYM FOR AQB$S_AQB type AQB_ACPIQ_TYPE is -- INTERLOCKED QUEUE record ACPQFL : ADDRESS; -- QUEUE FORWARD LINK ACPQBL : ADDRESS; -- QUEUE BACK LINK end record; for AQB_ACPIQ_TYPE use record ACPQFL at 0 range 0 .. 31; ACPQBL at 4 range 0 .. 31; end record; for AQB_ACPIQ_TYPE'SIZE use 64; AQB_ACPIQ_TYPE_INIT : constant AQB_ACPIQ_TYPE := (ACPQFL => ADDRESS_ZERO, ACPQBL => ADDRESS_ZERO); type AQB_STATUS_TYPE is -- STATUS BYTE record UNIQUE : BOOLEAN; -- ACP IS UNIQUE TO THIS DEVICE DEFCLASS : BOOLEAN; -- ACP IS DEFAULT FOR THIS CLASS DEFSYS : BOOLEAN; -- ACP IS DEFAULT FOR THE SYSTEM CREATING : BOOLEAN; -- ACP IS CURRENTLY BEING CREATED XQIOPROC : BOOLEAN; -- eXtended QIO PROCessor is being used. FILLER_1 : UNSIGNED_3; end record; for AQB_STATUS_TYPE use record UNIQUE at 0 range 0 .. 0; DEFCLASS at 0 range 1 .. 1; DEFSYS at 0 range 2 .. 2; CREATING at 0 range 3 .. 3; XQIOPROC at 0 range 4 .. 4; FILLER_1 at 0 range 5 .. 7; end record; for AQB_STATUS_TYPE'SIZE use 8; AQB_STATUS_TYPE_INIT : constant AQB_STATUS_TYPE := (UNIQUE => FALSE, DEFCLASS => FALSE, DEFSYS => FALSE, CREATING => FALSE, XQIOPROC => FALSE, FILLER_1 => 0); type AQB_TYPE is record ACPIQ : AQB_ACPIQ_TYPE; -- INTERLOCKED QUEUE SIZE : UNSIGNED_WORD; -- CONTROL BLOCK SIZE IN BYTES TYP : UNSIGNED_BYTE; -- BLOCK TYPE CODE MNTCNT : UNSIGNED_BYTE; -- THIS FIELD IS NOW OBSOLETE -- AND HAS BEEN REPLACED BY -- AQB$L_MOUNT_COUNT ACPPID : UNSIGNED_LONGWORD; -- ACP PROCESS PID LINK : ADDRESS; -- AQB LIST LINKAGE STATUS : AQB_STATUS_TYPE; -- STATUS BYTE ACPTYPE : UNSIGNED_BYTE; -- ACP TYPE CODE -- -- ***** The following ACP type codes are now a user visible interface -- ***** and the values may not be changed. There are parallel definitions -- ***** in the $DVIDEF macro that define symbols of the form: -- ***** -- ***** DVI$C_ACP_F11V1 -- ***** DVI$C_ACP_F11V2 -- ***** DVI$C_ACP_MTA -- ***** ... -- ***** -- ***** All new ACP type values must be added at the end and the names -- ***** must be 5 characters or less to keep the DVI form of the name -- ***** 15 characters or less. Any additions must also be made in $DVIDEF -- ***** and in the list of ASSUMES in the module SYSGETDEV in [SYS.SRC] -- CLASS : UNSIGNED_BYTE; -- ACP CLASS CODE FILLER_1 : UNSIGNED_BYTE; -- RESERVED BUFCACHE : ADDRESS; -- POINTER TO BUFFER CACHE MOUNT_COUNT : UNSIGNED_LONGWORD; -- ACP MOUNT COUNT (REPLACES AQB$B_MNTCNT) ORPHANED_VCB : ADDRESS; -- Pointer to Orphaned VCB ASTADR : ADDRESS; -- AST address used for XQP-type file -- system processing end record; for AQB_TYPE use record ACPIQ at 0 range 0 .. 63; SIZE at 8 range 0 .. 15; TYP at 10 range 0 .. 7; MNTCNT at 11 range 0 .. 7; ACPPID at 12 range 0 .. 31; LINK at 16 range 0 .. 31; STATUS at 20 range 0 .. 7; ACPTYPE at 21 range 0 .. 7; CLASS at 22 range 0 .. 7; FILLER_1 at 23 range 0 .. 7; BUFCACHE at 24 range 0 .. 31; MOUNT_COUNT at 28 range 0 .. 31; ORPHANED_VCB at 32 range 0 .. 31; ASTADR at 36 range 0 .. 31; end record; for AQB_TYPE'SIZE use 320; AQB_TYPE_INIT : constant AQB_TYPE := ( ACPIQ => AQB_ACPIQ_TYPE_INIT, SIZE => 0, TYP => 0, MNTCNT => 0, ACPPID => 0, LINK => ADDRESS_ZERO, STATUS => AQB_STATUS_TYPE_INIT, ACPTYPE => 0, CLASS => 0, FILLER_1 => 0, BUFCACHE => ADDRESS_ZERO, MOUNT_COUNT => 0, ORPHANED_VCB => ADDRESS_ZERO, ASTADR => ADDRESS_ZERO); end AQBDEF;