--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:33 by OpenVMS SDL EV3-3 -- Source: 16-MAY-2006 15:50:43 $1$DGA8085:[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_CONVERT_PAGE : constant := 16#00080000#; PRM_M_MODIFIED : constant := 16#00100000#; PRM_M_GALAXY : constant := 16#00200000#; PRM_M_OBSOLETE : constant := 16#00400000#; PRM_M_BITMAP : constant := 16#00800000#; PRM_C_BYTE : constant := 8; -- PRM_C_WORD : constant := 16; -- PRM_C_LONG : constant := 32; -- PRM_C_QUAD : constant := 64; -- PRM_C_OCTA : constant := 128; -- PRM_C_BIT1024 : constant := 1024; -- PRM_C_MAXNAMLEN : constant := 15; -- MAXIMUM LENGTH FOR PARAMETER NAME PRM_C_MAXUNILEN : constant := 11; -- MAXIMUM LENGTH FOR UNIT NAME PRM_K_LENGTH : constant := 64; -- SIZE OF DESCRIPTOR BLOCK PRM_C_LENGTH : constant := 64; -- SIZE OF DESCRIPTOR BLOCK PRM_S_PRM_DEF : constant := 64; -- Old size name - synonym type PRM_FLAGS_BITS_TYPE is 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 CONVERT_PAGE : BOOLEAN; -- Pagelets externally, pages internally MODIFIED : BOOLEAN; -- Parameter modified (auditing) GALAXY : BOOLEAN; -- GALAXY parameters OBSOLETE : BOOLEAN; -- OBSOLETE parmeter BITMAP : BOOLEAN; -- Parameter is a bitmap ( > 32 bits) end record; for PRM_FLAGS_BITS_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; CONVERT_PAGE at 2 range 3 .. 3; MODIFIED at 2 range 4 .. 4; GALAXY at 2 range 5 .. 5; OBSOLETE at 2 range 6 .. 6; BITMAP at 2 range 7 .. 7; end record; for PRM_FLAGS_BITS_TYPE'SIZE use 24; PRM_FLAGS_BITS_TYPE_INIT : constant PRM_FLAGS_BITS_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, CONVERT_PAGE => FALSE, MODIFIED => FALSE, GALAXY => FALSE, OBSOLETE => FALSE, BITMAP => FALSE); type PRM_TYPE is record ADDR : ADDRESS; -- ADDRESS OF PARAMETER INT_ADDR : ADDRESS; -- ADDRESS OF INTERAL VAL DEFAULT : UNSIGNED_LONGWORD; -- DEFAULT VALUE MIN : UNSIGNED_LONGWORD; -- MINIMUM VALUE (-1)=>NONE MAX : UNSIGNED_LONGWORD; -- MAXIMUM VALUE (-1)=>NONE INT_MIN : UNSIGNED_LONGWORD; -- POST-CONVERSION MIN FLAGS : UNSIGNED_LONGWORD; -- TYPE FLAGS ----Component(s) below are defined as comments since they ----overlap other fields ---- ----FLAGS_BITS : PRM_FLAGS_BITS_TYPE; SIZE : UNSIGNED_LONGWORD; -- SIZE CODE FOR DATUM POS : UNSIGNED_LONGWORD; -- 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; INT_ADDR at 4 range 0 .. 31; DEFAULT at 8 range 0 .. 31; MIN at 12 range 0 .. 31; MAX at 16 range 0 .. 31; INT_MIN at 20 range 0 .. 31; FLAGS at 24 range 0 .. 31; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----FLAGS_BITS at 24 range 0 .. 23; SIZE at 28 range 0 .. 31; POS at 32 range 0 .. 31; NAME at 36 range 0 .. 127; UNIT at 52 range 0 .. 95; end record; for PRM_TYPE'SIZE use 512; PRM_TYPE_INIT : constant PRM_TYPE := (ADDR => ADDRESS_ZERO, INT_ADDR => ADDRESS_ZERO, DEFAULT => 0, MIN => 0, MAX => 0, INT_MIN => 0, FLAGS => 0, SIZE => 0, POS => 0, NAME => (others => ASCII.NUL), UNIT => (others => ASCII.NUL)); PRM_K_BLOCKS : constant := 22; -- PRM$K_BLOCKS is the length of ALPHAVMSSYS.PAR end PRMDEF;