-- --**************************************************************************** --* * --* 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:49:50 by OpenVMS SDL EV1-33 -- Source: 14-JUN-1993 13:55:50 $11$DUA933:[LIB_ADA.LIS]ACMDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package ACMDEF is -- module $ACMDEF --+ -- ACMDEF - ACCOUNTING MANAGER DEFINITIONS --- type ACM_TYPE is record PROCESS : BOOLEAN; -- PROCESS ACCOUNTING ENABLED IMAGE : BOOLEAN; -- IMAGE ACCOUNTING ENABLED INTERACTIVE : BOOLEAN; -- INTERACTIVE ACCOUNTING ENABLED LOGFAIL : BOOLEAN; -- LOGIN FAILURE ACCOUNTING ENABLED SUBPROCESS : BOOLEAN; -- SUBPROCESS ACCOUNTING ENABLED DETACHED : BOOLEAN; -- DETACHED PROCESS ACCOUNTING ENABLED BATCH : BOOLEAN; -- BATCH ACCOUNTING ENABLED NETWORK : BOOLEAN; -- NETWORK PROCESS ACCOUNTING ENABLED PRINT : BOOLEAN; -- PRINT JOB ACCOUNTING ENABLED USER_DATA : BOOLEAN; -- USER_DATA ACCOUNTING ENABLED ACM_FUNC : BOOLEAN; -- ACM FUNCTION ACCOUNTING ENABLED SYS_FUNC : BOOLEAN; -- SYSTEM FUNCTION ACCOUNTING ENABLED CCAENAB : BOOLEAN; -- CHARGE CODE ACCOUNTING ENABLED CCVENAB : BOOLEAN; -- CHARGE CODE VALIDATION ENABLED FILLER_1 : UNSIGNED_2; end record; for ACM_TYPE use record PROCESS at 0 range 0 .. 0; IMAGE at 0 range 1 .. 1; INTERACTIVE at 0 range 2 .. 2; LOGFAIL at 0 range 3 .. 3; SUBPROCESS at 0 range 4 .. 4; DETACHED at 0 range 5 .. 5; BATCH at 0 range 6 .. 6; NETWORK at 0 range 7 .. 7; PRINT at 1 range 0 .. 0; USER_DATA at 1 range 1 .. 1; ACM_FUNC at 1 range 2 .. 2; SYS_FUNC at 1 range 3 .. 3; CCAENAB at 1 range 4 .. 4; CCVENAB at 1 range 5 .. 5; FILLER_1 at 1 range 6 .. 7; end record; for ACM_TYPE'SIZE use 16; ACM_TYPE_INIT : constant ACM_TYPE := (PROCESS => FALSE, IMAGE => FALSE, INTERACTIVE => FALSE, LOGFAIL => FALSE, SUBPROCESS => FALSE, DETACHED => FALSE, BATCH => FALSE, NETWORK => FALSE, PRINT => FALSE, USER_DATA => FALSE, ACM_FUNC => FALSE, SYS_FUNC => FALSE, CCAENAB => FALSE, CCVENAB => FALSE, FILLER_1 => 0); type ACM_UIC_TYPE is -- PROCESS UIC record MEM : UNSIGNED_WORD; -- MEMBER UIC GRP : UNSIGNED_WORD; -- GROUP UIC end record; for ACM_UIC_TYPE use record MEM at 0 range 0 .. 15; GRP at 2 range 0 .. 15; end record; for ACM_UIC_TYPE'SIZE use 32; ACM_UIC_TYPE_INIT : constant ACM_UIC_TYPE := (MEM => 0, GRP => 0); type ACM_SECURITY_2_TYPE is -- ALTERNATE SECURITY PROFILE record ARB_ADDRESS : UNSIGNED_LONGWORD; -- ADDRESS OF CLONED ARB FILLER_1 : UNSIGNED_BYTE_ARRAY (1 .. 8); end record; for ACM_SECURITY_2_TYPE use record ARB_ADDRESS at 0 range 0 .. 31; FILLER_1 at 4 range 0 .. 63; end record; for ACM_SECURITY_2_TYPE'SIZE use 96; ACM_SECURITY_2_TYPE_INIT : constant ACM_SECURITY_2_TYPE := (ARB_ADDRESS => 0, FILLER_1 => (others => 0)); type ACM_SECURITY_PROFILE_TYPE is -- SECURITY PROFILES record PRVMSK : UNSIGNED_QUADWORD; -- PROCESS PRIVILEGE MASK UIC : ACM_UIC_TYPE; -- PROCESS UIC ----Component(s) below are defined as comments since they ----overlap other fields ---- ----SECURITY_2 : ACM_SECURITY_2_TYPE; -- ALTERNATE SECURITY PROFILE end record; for ACM_SECURITY_PROFILE_TYPE use record PRVMSK at 0 range 0 .. 63; UIC at 8 range 0 .. 31; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----SECURITY_2 at 0 range 0 .. 95; end record; for ACM_SECURITY_PROFILE_TYPE'SIZE use 96; ACM_SECURITY_PROFILE_TYPE_INIT : constant ACM_SECURITY_PROFILE_TYPE := (PRVMSK => (0, 0), UIC => ACM_UIC_TYPE_INIT ); type ACMDEF1_TYPE is record MSGSTS : UNSIGNED_WORD; -- MSG STATUS IN MAILBOX IOSB (JOBCTL SPECIFIC) MSGLEN : UNSIGNED_WORD; -- MSG LENGTH IN MAILBOX IOSB (JOBCTL SPECIFIC) PROCID : UNSIGNED_LONGWORD; -- PROCESS ID IN MAILBOX IOSB (JOBCTL SPECIFIC) TYP : UNSIGNED_WORD; -- MESSAGE TYPE MAILBOX : UNSIGNED_WORD; -- MAILBOX UNIT NUMBER SECURITY_PROFILE : ACM_SECURITY_PROFILE_TYPE; -- SECURITY PROFILES USERNAME : STRING(1 .. 12); -- USERNAME ACCOUNT : STRING(1 .. 8); -- ACCOUNT NAME PROCPRI : UNSIGNED_BYTE; -- PROCESS BASE PRIORITY RMOD : UNSIGNED_BYTE; -- REQUESTOR'S ACCESS MODE FILLER_1 : UNSIGNED_BYTE_ARRAY (1 .. 2); -- SPARE BYTES (LONGWORD ALIGNMENT) PID : UNSIGNED_LONGWORD; -- PROCESS ID STS : UNSIGNED_LONGWORD; -- PROCESS STATUS OWNER : UNSIGNED_LONGWORD; -- OWNER PROCESS ID (0 => NONE) TERMINAL : STRING(1 .. 8); -- TERMINAL NAME (COUNTED ASCII STRING) SYSTIME : UNSIGNED_QUADWORD; -- CURRENT SYSTEM TIME -- -- SEND TO ACCOUNTING MANAGER FIELDS -- end record; for ACMDEF1_TYPE use record MSGSTS at 0 range 0 .. 15; MSGLEN at 2 range 0 .. 15; PROCID at 4 range 0 .. 31; TYP at 8 range 0 .. 15; MAILBOX at 10 range 0 .. 15; SECURITY_PROFILE at 12 range 0 .. 95; USERNAME at 24 range 0 .. 95; ACCOUNT at 36 range 0 .. 63; PROCPRI at 44 range 0 .. 7; RMOD at 45 range 0 .. 7; FILLER_1 at 46 range 0 .. 15; PID at 48 range 0 .. 31; STS at 52 range 0 .. 31; OWNER at 56 range 0 .. 31; TERMINAL at 60 range 0 .. 63; SYSTIME at 68 range 0 .. 63; end record; for ACMDEF1_TYPE'SIZE use 608; ACMDEF1_TYPE_INIT : constant ACMDEF1_TYPE := (MSGSTS => 0, MSGLEN => 0, PROCID => 0, TYP => 0, MAILBOX => 0, SECURITY_PROFILE => ACM_SECURITY_PROFILE_TYPE_INIT, USERNAME => (others => ASCII.NUL), ACCOUNT => (others => ASCII.NUL), PROCPRI => 0, RMOD => 0, FILLER_1 => (others => 0), PID => 0, STS => 0, OWNER => 0, TERMINAL => (others => ASCII.NUL), SYSTIME => (0, 0)); type ACMDEF2_TYPE is record FILLER_1 : UNSIGNED_BYTE_ARRAY (1 .. 68); USERREQ : UNSIGNED_WORD; -- USER REQUEST TYPE DATA : STRING(1 .. 256); -- USER DATA -- -- PROCESS/IMAGE DELETE/PURGE FIELDS -- end record; for ACMDEF2_TYPE use record FILLER_1 at 0 range 0 .. 543; USERREQ at 68 range 0 .. 15; DATA at 70 range 0 .. 2047; end record; for ACMDEF2_TYPE'SIZE use 2608; ACMDEF2_TYPE_INIT : constant ACMDEF2_TYPE := (FILLER_1 => (others => 0), USERREQ => 0, DATA => (others => ASCII.NUL)); ACM_K_PROCLEN : constant := 132; -- MIN. PROCESS/IMAGE TERMINATION MESSAGE LENGTH ACM_C_PROCLEN : constant := 132; -- MIN. PROCESS/IMAGE TERMINATION MESSAGE LENGTH type ACMDEF3_TYPE is record FILLER_1 : UNSIGNED_BYTE_ARRAY (1 .. 68); LOGIN : UNSIGNED_QUADWORD; -- PROCESS/IMAGE START TIME FINALSTS : UNSIGNED_LONGWORD; -- PROCESS FINAL STATUS IMGCNT : UNSIGNED_LONGWORD; -- IMAGE EXECUTION COUNT CPUTIME : UNSIGNED_LONGWORD; -- CPU USAGE PAGEFLTS : UNSIGNED_LONGWORD; -- PAGEFAULT COUNT PGFLTIO : UNSIGNED_LONGWORD; -- PAGEFAULT I/O WSPEAK : UNSIGNED_LONGWORD; -- WORKING SET PEAK PGFLPEAK : UNSIGNED_LONGWORD; -- PAGE FILE PEAK DIOCNT : UNSIGNED_LONGWORD; -- DIRECT I/O COUNT BIOCNT : UNSIGNED_LONGWORD; -- BUFFERED I/O COUNT VOLUMES : UNSIGNED_LONGWORD; -- VOLUME MOUNT COUNT VP_CPUTIME : UNSIGNED_LONGWORD; -- VECTOR CPU TIME NODEADDR : UNSIGNED_WORD; -- MESSAGE OFFSET TO REMOTE NODE ADDRESS NODENAME : UNSIGNED_WORD; -- MESSAGE OFFSET TO REMOTE NODE NAME REMOTEID : UNSIGNED_WORD; -- MESSAGE OFFSET TO REMOTE ID IMAGENAME : UNSIGNED_WORD; -- MESSAGE OFFSET TO IMAGE NAME FULLADDR : UNSIGNED_WORD; -- MESSAGE OFFSET TO REMOTE PHV ADDRESS FULLNAME : UNSIGNED_WORD; -- MESSAGE OFFSET TO REMOTE FULLNAME QMGRS_USED : INTEGER_32_ARRAY (1 .. 4); -- BITMAP OF QUEUE MANAGERS ACCESSED BY PROCESS -- -- SNDJBC MESSAGE FIELDS -- end record; for ACMDEF3_TYPE use record FILLER_1 at 0 range 0 .. 543; LOGIN at 68 range 0 .. 63; FINALSTS at 76 range 0 .. 31; IMGCNT at 80 range 0 .. 31; CPUTIME at 84 range 0 .. 31; PAGEFLTS at 88 range 0 .. 31; PGFLTIO at 92 range 0 .. 31; WSPEAK at 96 range 0 .. 31; PGFLPEAK at 100 range 0 .. 31; DIOCNT at 104 range 0 .. 31; BIOCNT at 108 range 0 .. 31; VOLUMES at 112 range 0 .. 31; VP_CPUTIME at 116 range 0 .. 31; NODEADDR at 120 range 0 .. 15; NODENAME at 122 range 0 .. 15; REMOTEID at 124 range 0 .. 15; IMAGENAME at 126 range 0 .. 15; FULLADDR at 128 range 0 .. 15; FULLNAME at 130 range 0 .. 15; QMGRS_USED at 132 range 0 .. 127; end record; for ACMDEF3_TYPE'SIZE use 1184; ACMDEF3_TYPE_INIT : constant ACMDEF3_TYPE := (FILLER_1 => (others => 0), LOGIN => (0, 0), FINALSTS => 0, IMGCNT => 0, CPUTIME => 0, PAGEFLTS => 0, PGFLTIO => 0, WSPEAK => 0, PGFLPEAK => 0, DIOCNT => 0, BIOCNT => 0, VOLUMES => 0, VP_CPUTIME => 0, NODEADDR => 0, NODENAME => 0, REMOTEID => 0, IMAGENAME => 0, FULLADDR => 0, FULLNAME => 0, QMGRS_USED => (others => 0)); ACM_S_SNDJBCDEF : constant := 90; type ACMDEF4_TYPE is record FILLER_1 : UNSIGNED_BYTE_ARRAY (1 .. 68); IMAGECNT : UNSIGNED_LONGWORD; -- IMAGE COUNT FOR PROCESS EFN : UNSIGNED_LONGWORD; -- COMPLETION EVENT FLAG IOSB : UNSIGNED_LONGWORD; -- COMPLETION IOSB ADDRESS ASTADR : UNSIGNED_LONGWORD; -- COMPLETION AST ADRESS ASTPRM : UNSIGNED_LONGWORD; -- COMPLETION AST PARAMETER FUNC : UNSIGNED_WORD; -- SNDJBC/GETQUI FUNCTION CODE ITMLST : STRING(1 .. 0); -- START OF ITEMLIST DATA end record; for ACMDEF4_TYPE use record FILLER_1 at 0 range 0 .. 543; IMAGECNT at 68 range 0 .. 31; EFN at 72 range 0 .. 31; IOSB at 76 range 0 .. 31; ASTADR at 80 range 0 .. 31; ASTPRM at 84 range 0 .. 31; FUNC at 88 range 0 .. 15; ITMLST at 90 range 0 .. -1; end record; for ACMDEF4_TYPE'SIZE use 720; ACMDEF4_TYPE_INIT : constant ACMDEF4_TYPE := (FILLER_1 => (others => 0), IMAGECNT => 0, EFN => 0, IOSB => 0, ASTADR => 0, ASTPRM => 0, FUNC => 0, ITMLST => (others => ASCII.NUL)); end ACMDEF;