-- --**************************************************************************** --* * --* 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:53:49 by OpenVMS SDL EV1-33 -- Source: 4-OCT-1996 16:49:20 $11$DUA933:[LIB_ADA.LIS]PRMDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package PRMDEF is -- module $PRMDEF --+ -- DEFINE PARAMETER DESCRIPTOR BLOCK --- PRM_M_DYNAMIC : constant := 16#00000001#; PRM_M_STATIC : constant := 16#00000002#; PRM_M_SYSGEN : constant := 16#00000004#; PRM_M_ACP : constant := 16#00000008#; PRM_M_JBC : constant := 16#00000010#; PRM_M_RMS : constant := 16#00000020#; PRM_M_SYS : constant := 16#00000040#; PRM_M_SPECIAL : constant := 16#00000080#; PRM_M_DISPLAY : constant := 16#00000100#; PRM_M_CONTROL : constant := 16#00000200#; PRM_M_MAJOR : constant := 16#00000400#; PRM_M_PQL : constant := 16#00000800#; PRM_M_NEG : constant := 16#00001000#; PRM_M_TTY : constant := 16#00002000#; PRM_M_SCS : constant := 16#00004000#; PRM_M_CLUSTER : constant := 16#00008000#; PRM_M_ASCII : constant := 16#00010000#; PRM_M_LGI : constant := 16#00020000#; PRM_M_MULTIPROCESSING : constant := 16#00040000#; PRM_M_MODIFIED : constant := 16#00080000#; PRM_C_BYTE : constant := 8; -- PRM_C_WORD : constant := 16; -- PRM_C_LONG : constant := 32; -- PRM_C_6BYT : constant := 48; -- PRM_C_QUAD : constant := 64; -- PRM_C_OCTA : constant := 128; -- PRM_C_MAXNAMLEN : constant := 15; -- MAXIMUM LENGTH FOR PARAMETER NAME PRM_C_MAXUNILEN : constant := 11; -- MAXIMUM LENGTH FOR UNIT NAME PRM_K_LENGTH : constant := 50; -- SIZE OF DESCRIPTOR BLOCK PRM_C_LENGTH : constant := 50; -- SIZE OF DESCRIPTOR BLOCK type PRM_FLAGS_TYPE is -- TYPE FLAGS record DYNAMIC : BOOLEAN; -- DYNAMIC PARAMETER STATIC : BOOLEAN; -- STATIC PARAMETER SYSGEN : BOOLEAN; -- SYSGEN PARAMETER ACP : BOOLEAN; -- ACP CONTROL PARAMETER JBC : BOOLEAN; -- JOB CONTROL PARAMETER RMS : BOOLEAN; -- RMS CONTROL PARAMETER SYS : BOOLEAN; -- GENERAL SYSTEM PARAMETER SPECIAL : BOOLEAN; -- SPECIAL PARAMETER DISPLAY : BOOLEAN; -- DISPLAY ONLY (NO CHANGE) CONTROL : BOOLEAN; -- CONTROL PARAMETER MAJOR : BOOLEAN; -- MAJOR PARAMETER PQL : BOOLEAN; -- PROCESS QUOTA LIST NEG : BOOLEAN; -- NEGATIVE TTY : BOOLEAN; -- TERMINAL CONTROL PARAMETER SCS : BOOLEAN; -- SCS CONTROL PARAMETERS CLUSTER : BOOLEAN; -- CLUSTER CONTROL PARAMETERS ASCII : BOOLEAN; -- ASCII PARAMETER LGI : BOOLEAN; -- LOGIN PARAMETER MULTIPROCESSING : BOOLEAN; -- MULTIPROCESSING control MODIFIED : BOOLEAN; -- Parameter modified (auditing) FILLER_1 : UNSIGNED_12; end record; for PRM_FLAGS_TYPE use record DYNAMIC at 0 range 0 .. 0; STATIC at 0 range 1 .. 1; SYSGEN at 0 range 2 .. 2; ACP at 0 range 3 .. 3; JBC at 0 range 4 .. 4; RMS at 0 range 5 .. 5; SYS at 0 range 6 .. 6; SPECIAL at 0 range 7 .. 7; DISPLAY at 1 range 0 .. 0; CONTROL at 1 range 1 .. 1; MAJOR at 1 range 2 .. 2; PQL at 1 range 3 .. 3; NEG at 1 range 4 .. 4; TTY at 1 range 5 .. 5; SCS at 1 range 6 .. 6; CLUSTER at 1 range 7 .. 7; ASCII at 2 range 0 .. 0; LGI at 2 range 1 .. 1; MULTIPROCESSING at 2 range 2 .. 2; MODIFIED at 2 range 3 .. 3; FILLER_1 at 2 range 4 .. 15; end record; for PRM_FLAGS_TYPE'SIZE use 32; PRM_FLAGS_TYPE_INIT : constant PRM_FLAGS_TYPE := (DYNAMIC => FALSE, STATIC => FALSE, SYSGEN => FALSE, ACP => FALSE, JBC => FALSE, RMS => FALSE, SYS => FALSE, SPECIAL => FALSE, DISPLAY => FALSE, CONTROL => FALSE, MAJOR => FALSE, PQL => FALSE, NEG => FALSE, TTY => FALSE, SCS => FALSE, CLUSTER => FALSE, ASCII => FALSE, LGI => FALSE, MULTIPROCESSING => FALSE, MODIFIED => FALSE, FILLER_1 => 0); type PRM_TYPE is record ADDR : UNSIGNED_LONGWORD; -- ADDRESS OF PARAMETER DEFAULT : UNSIGNED_LONGWORD; -- DEFAULT VALUE MIN : UNSIGNED_LONGWORD; -- MINIMUM VALUE (-1)=>NONE MAX : UNSIGNED_LONGWORD; -- MAXIMUM VALUE (-1)=>NONE FLAGS : PRM_FLAGS_TYPE; -- TYPE FLAGS SIZE : UNSIGNED_BYTE; -- SIZE CODE FOR DATUM POS : UNSIGNED_BYTE; -- BIT POSITION NAME : STRING(1 .. 16); -- ASCIC NAME STRING UNIT : STRING(1 .. 12); -- ASCIC UNIT STRING end record; for PRM_TYPE use record ADDR at 0 range 0 .. 31; DEFAULT at 4 range 0 .. 31; MIN at 8 range 0 .. 31; MAX at 12 range 0 .. 31; FLAGS at 16 range 0 .. 31; SIZE at 20 range 0 .. 7; POS at 21 range 0 .. 7; NAME at 22 range 0 .. 127; UNIT at 38 range 0 .. 95; end record; for PRM_TYPE'SIZE use 400; PRM_TYPE_INIT : constant PRM_TYPE := (ADDR => 0, DEFAULT => 0, MIN => 0, MAX => 0, FLAGS => PRM_FLAGS_TYPE_INIT, SIZE => 0, POS => 0, NAME => (others => ASCII.NUL), UNIT => (others => ASCII.NUL)); end PRMDEF;