Commit | Line | Data |
---|---|---|
fb008ab4 PK |
1 | /* Copyright (c) 1979 Regents of the University of California */ |
2 | ||
31cef89c | 3 | /* static char sccsid[] = "@(#)objfmt.h 4.1 10/10/80"; */ |
fb008ab4 PK |
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 */ | |
470ba6f5 PK |
16 | # define PX_HEADER "/usr/lib/px_header" /* px_header's name */ |
17 | # define PX_INTRP "/usr/ucb/px" /* the interpreter's name */ | |
fb008ab4 PK |
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 |