2010-03-31 Tristan Gingold <gingold@adacore.com>

* dcx.h: New file.
	* dsc.h: New file.
	* esdfm.h: New file.
	* esdfv.h: New file.
	* internal.h: New file.
	* lbr.h: New file.
	* prt.h: New file.
	* shl.h (struct vms_shl): Add comments.
	* esrf.h (ESRF__B_NAMLNG): New macro.
	* esdf.h (ESDF__B_NAMLNG): New macro.
	* emh.h: Add macros for fields maximum value.
	* eisd.h (EISD__M_PROTECT): Fix typo in comment.
	Add macros for offsets, version, section type and match control.
	Merge vms_eisd_ext into vms_eisd.
	* eihvn.h (EIHVN__MULTI_PROCESSING_BIT, EIHVN__GALAXY_BIT): Added.
	* eihs.h: Remove blank line.
	* eihd.h (struct vms_eihd): Add comments, add image subtype names.
	* eiha.h (struct vms_eiha): Add inishr and inishr_h fields.
	* eiaf.h (struct vms_eiaf): Fix base_va size.
	* egsy.h: Add comments.
	* egsd.h: Remove blank line.
	* egps.h: Add flag names.
	* eeom.h (EEOM__M_WKTFR): Added.
	* dst.h (DST__K_CXX): Added, and reident languages.
	(DST__K_SRC_INCRLNUM_B): Added.
	Indent and order pcline commands.
	Add record begin/end, enumerations, type specification, value
	specification, label, discontinue range definitions.
This commit is contained in:
Tristan Gingold
2010-03-31 07:35:54 +00:00
parent aed3b6cda2
commit 2aec20905e
23 changed files with 877 additions and 36 deletions

View File

@ -33,13 +33,19 @@
#define EISD__M_FIXUPVEC 0x0040 /* Isect is fixup section. */
#define EISD__M_RESIDENT 0x0080 /* Isect is memory resident. */
#define EISD__M_VECTOR 0x0100 /* Vector contained in isect. */
#define EISD__M_PROTECT 0x0200 /* Isect is proected. */
#define EISD__M_PROTECT 0x0200 /* Isect is protected. */
#define EISD__M_LASTCLU 0x0400 /* Last cluster. */
#define EISD__M_EXE 0x0800 /* Code isect. */
#define EISD__M_NONSHRADR 0x1000 /* Contains non-shareable data. */
#define EISD__M_QUAD_LENGTH 0x2000 /* Quad length field valid. */
#define EISD__M_ALLOC_64BIT 0x4000 /* Allocate 64-bit space. */
#define EISD__K_LEN 36
#define EISD__K_LENEND 12 /* For end marker or next block. */
#define EISD__K_MAXLENGLBL 84
#define EISD__K_GBLNAMLEN 44 /* Size of the field. */
struct vms_eisd
{
unsigned char majorid[4];
@ -70,17 +76,34 @@ struct vms_eisd
unsigned char type;
unsigned char fill_1;
};
struct vms_eisd_ext
{
/* End of structure for normal records. */
/* Ident for global section. */
unsigned char ident[4];
/* Global name ascic. First 8 bytes are quad length field. */
unsigned char gblnam[44];
unsigned char gblnam[EISD__K_GBLNAMLEN];
};
/* Versions. */
#define EISD__K_MAJORID 1
#define EISD__K_MINORID 1
/* Match control. */
#define EISD__K_MATALL 0 /* Match always. */
#define EISD__K_MATEQU 1 /* Match if equal. */
#define EISD__K_MATLEQ 2 /* Match if less or equal. */
#define EISD__K_MATNEV 3 /* Match never. */
/* Section type. */
#define EISD__K_NORMAL 0 /* Normal program image section. */
#define EISD__K_SHRFXD 1 /* Shareable fixed section. */
#define EISD__K_PRVFXD 2 /* Private fixed section. */
#define EISD__K_SHRPIC 3 /* Shareable pic section. */
#define EISD__K_PRVPIC 4 /* Private PIC section. */
#define EISD__K_USRSTACK 253 /* User stack section. */
/* EISD offsets. */
#define EISD__L_EISDSIZE 8