|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 4.0 ! 3: * Copyright (c) 1982, 1992 by Mark Williams Company. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: ! 7: /* ! 8: * /usr/include/a.out.h ! 9: * ! 10: * COFF excerpted from Intel 386 Architecture BCS Supplement, draft 3/3/90 ! 11: * ! 12: * Revised Mon Mar 22 15:52:26 1993 CST ! 13: */ ! 14: #ifndef __A_OUT_H__ ! 15: #define __A_OUT_H__ ! 16: ! 17: struct filehdr { ! 18: unsigned short f_magic; /* I386MAGIC */ ! 19: unsigned short f_nscns; /* unused by system */ ! 20: long f_timdat; /* unused by system */ ! 21: long f_symptr; /* unused by system */ ! 22: long f_nsyms; /* unused by system */ ! 23: unsigned short f_opthdr; /* sizeof(opthdr) */ ! 24: unsigned short f_flags; /* unused by system */ ! 25: }; ! 26: ! 27: #define I286MAGIC 0x152 ! 28: #define I386MAGIC 0x14C ! 29: ! 30: #define F_RELFLG 00001 ! 31: #define F_EXEC 00002 ! 32: #define F_LNNO 00004 ! 33: #define F_LSYMS 00008 ! 34: #define F_SWABD 00100 ! 35: #define F_AR16WR 00200 ! 36: #define F_AR12WR 00400 ! 37: ! 38: struct aouthdr { ! 39: short magic; /* [ONZ]_MAGIC */ ! 40: short vstamp; /* unused by system */ ! 41: long tsize; /* unused by system */ ! 42: long dsize; /* unused by system */ ! 43: long bsize; /* unused by system */ ! 44: long entry; /* address to start execution */ ! 45: long tstart; /* unused by system */ ! 46: long dstart; /* unused by system */ ! 47: }; ! 48: ! 49: #define O_MAGIC 0407 ! 50: #define N_MAGIC 0410 ! 51: #define I_MAGIC 0411 ! 52: #define Z_MAGIC 0413 ! 53: ! 54: struct scnhdr { ! 55: char s_name[8]; /* unused by system */ ! 56: long s_paddr; /* unused by system */ ! 57: long s_vaddr; /* offset of section - memory(bytes)*/ ! 58: long s_size; /* section size (bytes) */ ! 59: long s_scnptr; /* offset of section - file (bytes) */ ! 60: /* if zero -> BSS segment */ ! 61: long s_relptr; /* unused by system */ ! 62: long s_lnnoptr; /* unused by system */ ! 63: unsigned short s_nreloc; /* unused by system */ ! 64: unsigned short s_lnno; /* unused by system */ ! 65: long s_flags; /* see below */ ! 66: }; ! 67: ! 68: #define STYP_REG 0x000 ! 69: #define STYP_DSECT 0x001 ! 70: #define STYP_NOLOAD 0x002 ! 71: #define STYP_GROUP 0x004 ! 72: #define STYP_PAD 0x008 ! 73: #define STYP_COPY 0x010 ! 74: #define STYP_TEXT 0x020 ! 75: #define STYP_DATA 0x040 ! 76: #define STYP_BSS 0x080 ! 77: #define STYP_INFO 0x200 ! 78: #define STYP_OVER 0x400 /* not supported */ ! 79: #define STYP_LIB 0x800 /* not supported */ ! 80: ! 81: /* ! 82: * xechdr corresponds to the least commmon denominator ! 83: * of the COFF format and the <l.out> format 286 Coherent used ! 84: */ ! 85: ! 86: struct xecseg { ! 87: unsigned mbase; ! 88: unsigned size; ! 89: unsigned fbase; ! 90: }; ! 91: ! 92: struct xechdr { ! 93: unsigned magic; ! 94: unsigned entry; ! 95: unsigned initsp; ! 96: struct xecseg segs[NUSEG+1]; /* text, data, bss, stack */ ! 97: }; ! 98: ! 99: struct xecnode { ! 100: int segtype; /* 0..NUSEG */ ! 101: struct xecseg xseg; ! 102: struct xecnode *xn; ! 103: }; ! 104: #define XMAGIC(a, b) ((a<< 16) | b) ! 105: ! 106: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.