Annotation of coherent/a/usr/include/a.out.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 4.0
                      3:  *     Copyright (c) 1982, 1992 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /* COFF excerpted from Intel 386 Architecture BCS Supplement, draft 3/3/90 */
                      7: 
                      8: struct filehdr {
                      9:        unsigned short  f_magic;        /* I386MAGIC */
                     10:        unsigned short  f_nscns;                /* unused by system */
                     11:        long    f_timdat;                       /* unused by system */
                     12:        long    f_symptr;                       /* unused by system */
                     13:        long    f_nsyms;                        /* unused by system */
                     14:        unsigned short  f_opthdr;       /* sizeof(opthdr) */
                     15:        unsigned short  f_flags;                /* unused by system */
                     16: };
                     17: 
                     18: #define        I286MAGIC       0x152
                     19: #define        I386MAGIC       0x14C
                     20: 
                     21: #define        F_RELFLG        00001
                     22: #define        F_EXEC          00002
                     23: #define        F_LNNO          00004
                     24: #define        F_LSYMS         00008
                     25: #define        F_SWABD         00100
                     26: #define        F_AR16WR        00200
                     27: #define        F_AR12WR        00400
                     28: 
                     29: struct aouthdr {
                     30:        short   magic;                  /* [ONZ]_MAGIC */
                     31:        short   vstamp;                         /* unused by system */
                     32:        long    tsize;                          /* unused by system */
                     33:        long    dsize;                          /* unused by system */
                     34:        long    bsize;                          /* unused by system */
                     35:        long    entry;                  /* address to start execution */
                     36:        long    tstart;                         /* unused by system */
                     37:        long    dstart;                         /* unused by system */
                     38: };
                     39: 
                     40: #define        O_MAGIC         0407
                     41: #define        N_MAGIC         0410
                     42: #define        I_MAGIC         0411
                     43: #define        Z_MAGIC         0413
                     44: 
                     45: struct scnhdr {
                     46:        char    s_name[8];                      /* unused by system */
                     47:        long    s_paddr;                        /* unused by system */
                     48:        long    s_vaddr;                /* offset of section - memory(bytes)*/
                     49:        long    s_size;                 /* section size (bytes) */
                     50:        long    s_scnptr;               /* offset of section - file (bytes) */
                     51:                                        /* if zero -> BSS segment */
                     52:        long    s_relptr;                       /* unused by system */
                     53:        long    s_lnnoptr;                      /* unused by system */
                     54:        unsigned short s_nreloc;                /* unused by system */
                     55:        unsigned short s_lnno;                  /* unused by system */
                     56:        long    s_flags;                /* see below */
                     57: };
                     58: 
                     59: #define        STYP_REG        0x000
                     60: #define        STYP_DSECT      0x001
                     61: #define        STYP_NOLOAD     0x002
                     62: #define        STYP_GROUP      0x004
                     63: #define        STYP_PAD        0x008
                     64: #define        STYP_COPY       0x010
                     65: #define        STYP_TEXT       0x020
                     66: #define        STYP_DATA       0x040
                     67: #define        STYP_BSS        0x080
                     68: #define        STYP_INFO       0x200
                     69: #define        STYP_OVER       0x400                   /* not supported */
                     70: #define        STYP_LIB        0x800                   /* not supported */
                     71: 
                     72:        /* exechdr corresponds to the least commmon denominator
                     73:         * of the COFF format and the <l.out> format 286 Coherent used
                     74:         */ 
                     75: 
                     76: struct xecseg {
                     77:        unsigned        mbase;
                     78:        unsigned        size;
                     79:        unsigned        fbase;
                     80: };
                     81: 
                     82: struct xechdr {
                     83:        unsigned        magic;
                     84:        unsigned        entry;
                     85:        unsigned        initsp;
                     86:        struct  xecseg segs[NUSEG+1];           /* text, data, bss, stack */ 
                     87: };
                     88: 
                     89: #define        XMAGIC(a, b)    ((a<< 16) | b)

unix.superglobalmegacorp.com

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