--******************************************************************************************************************** -- Created: 30-Mar-2010 17:34:13 by OpenVMS SDL EV3-3 -- Source: 22-APR-1993 11:23:14 $1$DGA7274:[LIB_ADA.LIS]IHXDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package IHXDEF is -- module $IHXDEF --+ -- IMAGE HEADER RECORD DEFINITIONS - CROSS LINKER - MAJORID = "01" -- 1ST RECORD OF IMAGE HEADER BLOCK --- IHX_K_MAJORID : constant := 12592; -- ^A/01/ MAJOR ID VALUE FOR CROSS LINKER IHX_K_MINORID : constant := 12592; -- ^A/01/ MINOR ID VALUE FOR CROSS LINKER IHX_K_MINORID1 : constant := 12592; -- ^A/01/ MINOR ID VALUE FOR CROSS LINKER WITH --SYMBOL TABLE AND 3RD TRANSFER ADR IHX_K_LENGTH : constant := 56; -- LENGTH OF CROSS LINKER HEADER IHX_C_LENGTH : constant := 56; -- LENGTH OF CROSS LINKER HEADER IHX_S_IHXDEF : constant := 56; type IHX_TYPE is record SIZE : UNSIGNED_WORD; -- SIZE IN BYTE OF IMAGE HEADER RECORD HDRBLKCNT : UNSIGNED_BYTE; -- COUNT OF BLOCKS IN IMAGE HEADER FILLER_1 : UNSIGNED_BYTE; -- SPARE STARTADR : UNSIGNED_QUADWORD; -- START ADDRESS MAJORID : UNSIGNED_WORD; -- MAJOR ID OF IMAGE HEADER MINORID : UNSIGNED_WORD; -- MINOR ID OF IMAGE HEADER IMGNAM : STRING(1 .. 24); -- IMAGE NAME -- -- THE FOLLOWING FIELDS ARE PRESENT FOR MINOR ID'S GREATER OR EQUAL TO "03" -- DSTVBN : UNSIGNED_LONGWORD; -- DEBUG SYMBOL TABLE VBN GSTVBN : UNSIGNED_LONGWORD; -- GLOBAL SYMBOL TABLE VBN DSTBLKS : UNSIGNED_WORD; -- DEBUG SYMBOL TABLE BLOCKS GSTRECS : UNSIGNED_WORD; -- GLOBAL SYMBOL TABLE RECORD COUNT TFRADR3 : UNSIGNED_LONGWORD; -- THIRD TRANSFER ADDRESS end record; for IHX_TYPE use record SIZE at 0 range 0 .. 15; HDRBLKCNT at 2 range 0 .. 7; FILLER_1 at 3 range 0 .. 7; STARTADR at 4 range 0 .. 63; MAJORID at 12 range 0 .. 15; MINORID at 14 range 0 .. 15; IMGNAM at 16 range 0 .. 191; DSTVBN at 40 range 0 .. 31; GSTVBN at 44 range 0 .. 31; DSTBLKS at 48 range 0 .. 15; GSTRECS at 50 range 0 .. 15; TFRADR3 at 52 range 0 .. 31; end record; for IHX_TYPE'SIZE use 448; IHX_TYPE_INIT : constant IHX_TYPE := (SIZE => 0, HDRBLKCNT => 0, FILLER_1 => 0, STARTADR => (0, 0), MAJORID => 0, MINORID => 0, IMGNAM => (others => ASCII.NUL), DSTVBN => 0, GSTVBN => 0, DSTBLKS => 0, GSTRECS => 0, TFRADR3 => 0); end IHXDEF;