1736Speter /* Copyright (c) 1979 Regents of the University of California */ 2736Speter 3*2088Smckusic /* static char sccsid[] = "@(#)objfmt.h 1.4 01/08/81"; */ 4736Speter 5736Speter #ifdef OBJ 6736Speter /* 7736Speter * the creation time, the size and the magic number of the obj file 8736Speter */ 9736Speter struct pxhdr { 10736Speter int maketime; 11736Speter int objsize; 12736Speter short magicnum; 13736Speter }; 14736Speter 15736Speter # define HEADER_BYTES 1024 /* the size of px_header */ 161210Speter # define PX_HEADER "/usr/lib/px_header" /* px_header's name */ 171210Speter # define PX_INTRP "/usr/ucb/px" /* the interpreter's name */ 18*2088Smckusic # define INDX 1 /* amt to shift display index */ 19736Speter #endif OBJ 20736Speter 21736Speter /* 22736Speter * the file of error messages created by mkstr 23736Speter */ 24736Speter #ifdef OBJ 25736Speter # define ERR_STRNGS "/usr/lib/pi2.0strings" 26736Speter # define ERR_PATHLEN 9 27736Speter #endif OBJ 28736Speter #ifdef PC 29736Speter # define ERR_STRNGS "/usr/lib/pc2.0strings" 30736Speter # define ERR_PATHLEN 9 31736Speter #endif PC 32736Speter 33736Speter /* 34736Speter * these are because of varying sizes of pointers 35736Speter */ 36736Speter #ifdef VAX 37736Speter # define PTR_AS O_AS4 38736Speter # define PTR_RV O_RV4 39736Speter # define PTR_IND O_IND4 40736Speter # define PTR_DCL unsigned long /* for pointer variables */ 41736Speter # define SHORTADDR 32768 /* maximum short address */ 42736Speter # define TOOMUCH 65536 /* maximum variable size */ 43736Speter # define MAXSET 65536 /* maximum set size */ 44736Speter /* 45736Speter * Offsets due to the structure of the runtime stack. 46736Speter * DPOFF1 is the amount of fixed storage in each block allocated 47736Speter * as local variables for the runtime system. 48736Speter * since locals are allocated negative offsets, 49736Speter * -DPOFF1 is the last used implicit local offset. 50736Speter * DPOFF2 is the size of the block mark. 51736Speter * since arguments are allocated positive offsets, 52736Speter * DPOFF2 is the end of the implicit arguments. 53736Speter * for obj, the first argument has the highest offset 54736Speter * from the stackpointer. and the block mark is an 55736Speter * implicit last parameter. 56736Speter * for pc, the first argument has the lowest offset 57736Speter * from the argumentpointer. and the block mark is an 58736Speter * implicit first parameter. 59736Speter */ 60736Speter # ifdef OBJ 61736Speter # define DPOFF1 0 62736Speter # define DPOFF2 32 63736Speter # define INPUT_OFF -8 /* offset of `input' */ 64736Speter # define OUTPUT_OFF -4 /* offset of `output' */ 65736Speter # endif OBJ 66736Speter # ifdef PC 67736Speter # define DPOFF1 ( sizeof rtlocs - sizeof rtlocs.unwind ) 68736Speter # define DPOFF2 ( sizeof (long) ) 69736Speter # define INPUT_OFF 0 70736Speter # define OUTPUT_OFF 0 71736Speter # endif PC 72736Speter # define MAGICNUM 0403 /* obj magic number */ 73736Speter #endif VAX 74736Speter 75736Speter #ifdef PDP11 76736Speter # define PTR_AS O_AS2 77736Speter # define PTR_RV O_RV2 78736Speter # define PTR_IND O_IND2 79736Speter # define PTR_DCL char * 80736Speter # define TOOMUCH 50000 81736Speter # define SHORTADDR 65536 82736Speter # define MAXSET 65536 /* maximum set size */ 83736Speter # define DPOFF2 16 84736Speter # define INPUT_OFF -2 85736Speter # define OUTPUT_OFF -4 86736Speter # define MAGICNUM 0404 87736Speter #endif PDP11 88