Annotation of 41BSD/cmd/pi/objfmt.h, revision 1.1

1.1     ! root        1: /* Copyright (c) 1979 Regents of the University of California */
        !             2: 
        !             3: /* static      char sccsid[] = "@(#)objfmt.h 1.2 10/4/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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.