--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:21 by OpenVMS SDL EV3-3 -- Source: 19-APR-1993 13:58:44 $1$DGA8085:[LIB_ADA.LIS]EICPDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package EICPDEF is -- module $EICPDEF --+ -- EICP - EXTENDED CHANGE IMAGE SECTION PROTECTION DATA -- -- THIS STRUCTURE IS USED IN THE IMAGE FIXUP SECTION BY THE LINKER -- TO INFORM THE IMAGE ACTIVATOR OF THE IMAGE SECTIONS THAT NEED -- THEIR PROTECTION CHANGED. --- EICP_K_LENGTH : constant := 16; -- size of one section's data EICP_C_LENGTH : constant := 16; -- size of one section's data EICP_S_EICPDEF : constant := 16; type EICP_BASEVA_TYPE is -- Virtual address of start of section record BASEVA : UNSIGNED_QUADWORD; ----Component(s) below are defined as comments since they ----overlap other fields ---- ----BASEVA : UNSIGNED_LONGWORD; end record; for EICP_BASEVA_TYPE use record BASEVA at 0 range 0 .. 63; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----BASEVA at 0 range 0 .. 31; end record; for EICP_BASEVA_TYPE'SIZE use 64; EICP_BASEVA_TYPE_INIT : constant EICP_BASEVA_TYPE := (BASEVA => (0, 0)); type EICP_TYPE is record BASEVA : EICP_BASEVA_TYPE; -- Virtual address of start of section SIZE : UNSIGNED_LONGWORD; -- size in bytes of the image section NEWPRT : UNSIGNED_LONGWORD; -- new protection end record; for EICP_TYPE use record BASEVA at 0 range 0 .. 63; SIZE at 8 range 0 .. 31; NEWPRT at 12 range 0 .. 31; end record; for EICP_TYPE'SIZE use 128; EICP_TYPE_INIT : constant EICP_TYPE := ( BASEVA => EICP_BASEVA_TYPE_INIT, SIZE => 0, NEWPRT => 0); end EICPDEF;