|
|
1.1 root 1: /* @(#)filehdr.h 2.3 1/19/83 */
2:
3: struct filehdr {
4: unsigned short f_magic; /* magic number */
5: unsigned short f_nscns; /* number of sections */
6: long f_timdat; /* time & date stamp */
7: long f_symptr; /* file pointer to symtab */
8: long f_nsyms; /* number of symtab entries */
9: unsigned short f_opthdr; /* sizeof(optional hdr) */
10: unsigned short f_flags; /* flags */
11: };
12:
13:
14: /*
15: * Bits for f_flags:
16: *
17: * F_RELFLG relocation info stripped from file
18: * F_EXEC file is executable (i.e. no unresolved
19: * externel references)
20: * F_LNNO line nunbers stripped from file
21: * F_LSYMS local symbols stripped from file
22: * F_MINMAL this is a minimal object file (".m") output of fextract
23: * F_UPDATE this is a fully bound update file, output of ogen
24: * F_SWABD this file has had its bytes swabbed (in names)
25: * F_AR16WR this file has the byte ordering of an AR16WR (e.g. 11/70) machine
26: * (it was created there, or was produced by conv)
27: * F_AR32WR this file has the byte ordering of an AR32WR machine(e.g. vax)
28: * F_AR32W this file has the byte ordering of an AR32W machine (e.g. 3b,maxi)
29: * F_PATCH file contains "patch" list in optional header
30: * F_NODF (minimal file only) no decision functions for
31: * replaced functions
32: */
33:
34: #define F_RELFLG 0000001
35: #define F_EXEC 0000002
36: #define F_LNNO 0000004
37: #define F_LSYMS 0000010
38: #define F_MINMAL 0000020
39: #define F_UPDATE 0000040
40: #define F_SWABD 0000100
41: #define F_AR16WR 0000200
42: #define F_AR32WR 0000400
43: #define F_AR32W 0001000
44: #define F_PATCH 0002000
45: #define F_NODF 0002000
46:
47:
48: /*
49: * Magic Numbers
50: */
51:
52: /* Basic-16 */
53:
54: #define B16MAGIC 0502
55: #define BTVMAGIC 0503
56:
57: /* x86 */
58:
59: #define X86MAGIC 0510
60: #define XTVMAGIC 0511
61:
62: /* n3b */
63: /*
64: * NOTE: For New 3B, the old values of magic numbers
65: * will be in the optional header in the structure
66: * "aouthdr" (identical to old 3B aouthdr).
67: */
68: #define N3BMAGIC 0550
69: #define NTVMAGIC 0551
70:
71: /* XL */
72: #define XLMAGIC 0540
73:
74: /* MAC-32 3b-5 */
75:
76: #define FBOMAGIC 0560
77: #define RBOMAGIC 0562
78: #define MTVMAGIC 0561
79:
80:
81: /* VAX 11/780 and VAX 11/750 */
82:
83: /* writeable text segments */
84: #define VAXWRMAGIC 0570
85: /* readonly sharable text segments */
86: #define VAXROMAGIC 0575
87:
88:
89: /* Motorola 68000 */
90: #define MC68MAGIC 0520
91: #define MC68TVMAGIC 0521
92: #define M68MAGIC 0210
93: #define M68TVMAGIC 0211
94:
95:
96: /* IBM 370 */
97: #define U370WRMAGIC 0530 /* writeble text segments */
98: #define U370ROMAGIC 0535 /* readonly sharable text segments */
99:
100: #define FILHDR struct filehdr
101: #define FILHSZ sizeof(FILHDR)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.