-- --**************************************************************************** --* * --* 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:52:08 by OpenVMS SDL EV1-33 -- Source: 2-SEP-1989 10:42:27 $11$DUA933:[LIB_ADA.LIS]IAFDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package IAFDEF is -- module $IAFDEF --+ -- IAF - IMAGE ACTIVATOR FIXUP SECTION -- -- THE IMAGE ACTIVATOR FIXUP SECTION IS AN IMAGE SECTION THAT IS CREATED -- BY THE LINKER AND USED BY THE IMAGE ACTIVATOR TO MODIFY THE IMAGE AS -- IT IS ACTIVATED. THIS IS DONE TO MAINTAIN THE POSITION INDEPENDENCE -- OF EXTERNAL REFERENCES. --- IAF_K_LENGTH : constant := 64; -- Length of fixed area IAF_C_LENGTH : constant := 64; -- Length of fixed area type IAF_FLAGS_TYPE is -- Flags record SHR : BOOLEAN; -- This is in a shareable image FILLER_1 : UNSIGNED_15; end record; for IAF_FLAGS_TYPE use record SHR at 0 range 0 .. 0; FILLER_1 at 0 range 1 .. 15; end record; for IAF_FLAGS_TYPE'SIZE use 16; IAF_FLAGS_TYPE_INIT : constant IAF_FLAGS_TYPE := (SHR => FALSE, FILLER_1 => 0); type IAF_TYPE is record IAFLINK : UNSIGNED_LONGWORD; -- Link for image activator use FIXUPLNK : UNSIGNED_LONGWORD; -- Link for shareable image fixups SIZE : UNSIGNED_WORD; -- Size of fixed part of IAF FLAGS : IAF_FLAGS_TYPE; -- Flags G_FIXOFF : UNSIGNED_LONGWORD; -- Offset to g^ address data DOTADROFF : UNSIGNED_LONGWORD; -- Offset to .address fixup data CHGPRTOFF : UNSIGNED_LONGWORD; -- Offset to isect change prot. data SHLSTOFF : UNSIGNED_LONGWORD; -- Offset to shareable image list SHRIMGCNT : UNSIGNED_LONGWORD; -- Number of shareable images in shlst SHLEXTRA : UNSIGNED_LONGWORD; -- Number of extra shareable images allowed PERMCTX : UNSIGNED_LONGWORD; -- Permanent sharable image context FILLER_1 : UNSIGNED_LONGWORD; -- Spare FILLER_2 : UNSIGNED_LONGWORD; -- Spare FILLER_3 : UNSIGNED_LONGWORD; -- Spare FILLER_4 : UNSIGNED_LONGWORD; -- Spare FILLER_5 : UNSIGNED_LONGWORD; -- Spare FILLER_6 : UNSIGNED_LONGWORD; -- Spare end record; for IAF_TYPE use record IAFLINK at 0 range 0 .. 31; FIXUPLNK at 4 range 0 .. 31; SIZE at 8 range 0 .. 15; FLAGS at 10 range 0 .. 15; G_FIXOFF at 12 range 0 .. 31; DOTADROFF at 16 range 0 .. 31; CHGPRTOFF at 20 range 0 .. 31; SHLSTOFF at 24 range 0 .. 31; SHRIMGCNT at 28 range 0 .. 31; SHLEXTRA at 32 range 0 .. 31; PERMCTX at 36 range 0 .. 31; FILLER_1 at 40 range 0 .. 31; FILLER_2 at 44 range 0 .. 31; FILLER_3 at 48 range 0 .. 31; FILLER_4 at 52 range 0 .. 31; FILLER_5 at 56 range 0 .. 31; FILLER_6 at 60 range 0 .. 31; end record; for IAF_TYPE'SIZE use 512; IAF_TYPE_INIT : constant IAF_TYPE := (IAFLINK => 0, FIXUPLNK => 0, SIZE => 0, FLAGS => IAF_FLAGS_TYPE_INIT, G_FIXOFF => 0, DOTADROFF => 0, CHGPRTOFF => 0, SHLSTOFF => 0, SHRIMGCNT => 0, SHLEXTRA => 0, PERMCTX => 0, FILLER_1 => 0, FILLER_2 => 0, FILLER_3 => 0, FILLER_4 => 0, FILLER_5 => 0, FILLER_6 => 0); end IAFDEF;