|
|
coherent
/* COFF excerpted from Intel 386 Architecture BCS Supplement, draft 3/3/90 */
struct filehdr {
unsigned short f_magic; /* I386MAGIC */
unsigned short f_nscns; /* unused by system */
long f_timdat; /* unused by system */
long f_symptr; /* unused by system */
long f_nsyms; /* unused by system */
unsigned short f_opthdr; /* sizeof(opthdr) */
unsigned short f_flags; /* unused by system */
};
#define I286MAGIC 0x152
#define I386MAGIC 0x14C
#define F_RELFLG 00001
#define F_EXEC 00002
#define F_LNNO 00004
#define F_LSYMS 00008
#define F_SWABD 00100
#define F_AR16WR 00200
#define F_AR12WR 00400
struct aouthdr {
short magic; /* [ONZ]_MAGIC */
short vstamp; /* unused by system */
long tsize; /* unused by system */
long dsize; /* unused by system */
long bsize; /* unused by system */
long entry; /* address to start execution */
long tstart; /* unused by system */
long dstart; /* unused by system */
};
#define O_MAGIC 0407
#define N_MAGIC 0410
#define I_MAGIC 0411
#define Z_MAGIC 0413
struct scnhdr {
char s_name[8]; /* unused by system */
long s_paddr; /* unused by system */
long s_vaddr; /* offset of section - memory(bytes)*/
long s_size; /* section size (bytes) */
long s_scnptr; /* offset of section - file (bytes) */
/* if zero -> BSS segment */
long s_relptr; /* unused by system */
long s_lnnoptr; /* unused by system */
unsigned short s_nreloc; /* unused by system */
unsigned short s_lnno; /* unused by system */
long s_flags; /* see below */
};
#define STYP_REG 0x000
#define STYP_DSECT 0x001
#define STYP_NOLOAD 0x002
#define STYP_GROUP 0x004
#define STYP_PAD 0x008
#define STYP_COPY 0x010
#define STYP_TEXT 0x020
#define STYP_DATA 0x040
#define STYP_BSS 0x080
#define STYP_INFO 0x200
#define STYP_OVER 0x400 /* not supported */
#define STYP_LIB 0x800 /* not supported */
/* exechdr corresponds to the least commmon denominator
* of the COFF format and the <l.out> format 286 Coherent used
*/
struct xecseg {
unsigned mbase;
unsigned size;
unsigned fbase;
};
struct xechdr {
unsigned magic;
unsigned entry;
unsigned initsp;
struct xecseg segs[NUSEG+1]; /* text, data, bss, stack */
};
#define XMAGIC(a, b) ((a<< 16) | b)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.