Annotation of researchv9/jerq/sgs/inc/filehdr.h, revision 1.1

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

unix.superglobalmegacorp.com

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