|
|
1.1 root 1: /* Copyright (c) 1979 Regents of the University of California */
2:
3: /* static char sccsid[] = "@(#)objfmt.h 4.1 10/10/80"; */
4:
5: #ifdef OBJ
6: /*
7: * the creation time, the size and the magic number of the obj file
8: */
9: struct pxhdr {
10: int maketime;
11: int objsize;
12: short magicnum;
13: };
14:
15: # define HEADER_BYTES 1024 /* the size of px_header */
16: # define PX_HEADER "/usr/lib/px_header" /* px_header's name */
17: # define PX_INTRP "/usr/ucb/px" /* the interpreter's name */
18: #endif OBJ
19:
20: /*
21: * the file of error messages created by mkstr
22: */
23: #ifdef OBJ
24: # define ERR_STRNGS "/usr/lib/pi2.0strings"
25: # define ERR_PATHLEN 9
26: #endif OBJ
27: #ifdef PC
28: # define ERR_STRNGS "/usr/lib/pc2.0strings"
29: # define ERR_PATHLEN 9
30: #endif PC
31:
32: /*
33: * these are because of varying sizes of pointers
34: */
35: #ifdef VAX
36: # define INDX 2 /* log2 of sizeof( * ) */
37: # define PTR_AS O_AS4
38: # define PTR_RV O_RV4
39: # define PTR_IND O_IND4
40: # define PTR_DCL unsigned long /* for pointer variables */
41: # define SHORTADDR 32768 /* maximum short address */
42: # define TOOMUCH 65536 /* maximum variable size */
43: # define MAXSET 65536 /* maximum set size */
44: /*
45: * Offsets due to the structure of the runtime stack.
46: * DPOFF1 is the amount of fixed storage in each block allocated
47: * as local variables for the runtime system.
48: * since locals are allocated negative offsets,
49: * -DPOFF1 is the last used implicit local offset.
50: * DPOFF2 is the size of the block mark.
51: * since arguments are allocated positive offsets,
52: * DPOFF2 is the end of the implicit arguments.
53: * for obj, the first argument has the highest offset
54: * from the stackpointer. and the block mark is an
55: * implicit last parameter.
56: * for pc, the first argument has the lowest offset
57: * from the argumentpointer. and the block mark is an
58: * implicit first parameter.
59: */
60: # ifdef OBJ
61: # define DPOFF1 0
62: # define DPOFF2 32
63: # define INPUT_OFF -8 /* offset of `input' */
64: # define OUTPUT_OFF -4 /* offset of `output' */
65: # endif OBJ
66: # ifdef PC
67: # define DPOFF1 ( sizeof rtlocs - sizeof rtlocs.unwind )
68: # define DPOFF2 ( sizeof (long) )
69: # define INPUT_OFF 0
70: # define OUTPUT_OFF 0
71: # endif PC
72: # define MAGICNUM 0403 /* obj magic number */
73: #endif VAX
74:
75: #ifdef PDP11
76: # define INDX 1
77: # define PTR_AS O_AS2
78: # define PTR_RV O_RV2
79: # define PTR_IND O_IND2
80: # define PTR_DCL char *
81: # define TOOMUCH 50000
82: # define SHORTADDR 65536
83: # define MAXSET 65536 /* maximum set size */
84: # define DPOFF2 16
85: # define INPUT_OFF -2
86: # define OUTPUT_OFF -4
87: # define MAGICNUM 0404
88: #endif PDP11
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.