|
|
1.1 ! root 1: /* ! 2: * COFF section header file. ! 3: */ ! 4: ! 5: struct scnhdr { ! 6: char s_name[8]; /* section name */ ! 7: long s_paddr; /* physical address, aliased s_nlib */ ! 8: long s_vaddr; /* virtual address */ ! 9: long s_size; /* section size */ ! 10: long s_scnptr; /* file ptr to raw data for section */ ! 11: long s_relptr; /* file ptr to relocation */ ! 12: long s_lnnoptr; /* file ptr to line numbers */ ! 13: unsigned short s_nreloc; /* number of relocation entries */ ! 14: unsigned short s_nlnno; /* number of line number entries */ ! 15: long s_flags; /* flags */ ! 16: }; ! 17: ! 18: /* the number of shared libraries in a .lib section in an absolute output file ! 19: * is put in the s_paddr field of the .lib section header, the following define ! 20: * allows it to be referenced as s_nlib ! 21: */ ! 22: ! 23: #define s_nlib s_paddr ! 24: #define SCNHDR struct scnhdr ! 25: #define SCNHSZ sizeof(SCNHDR) ! 26: ! 27: ! 28: ! 29: ! 30: /* ! 31: * Define constants for names of "special" sections ! 32: */ ! 33: ! 34: #define _TEXT ".text" ! 35: #define _DATA ".data" ! 36: #define _BSS ".bss" ! 37: #define _TV ".tv" ! 38: #define _INIT ".init" ! 39: #define _FINI ".fini" ! 40: ! 41: ! 42: ! 43: ! 44: /* ! 45: * The low 2 bytes of s_flags is used as a section "type" ! 46: */ ! 47: ! 48: #define STYP_REG 0x00 /* "regular" section: ! 49: allocated, relocated, loaded */ ! 50: #define STYP_DSECT 0x01 /* "dummy" section: ! 51: not allocated, relocated, ! 52: not loaded */ ! 53: #define STYP_NOLOAD 0x02 /* "noload" section: ! 54: allocated, relocated, ! 55: not loaded */ ! 56: #define STYP_GROUP 0x04 /* "grouped" section: ! 57: formed of input sections */ ! 58: #define STYP_PAD 0x08 /* "padding" section: ! 59: not allocated, not relocated, ! 60: loaded */ ! 61: #define STYP_COPY 0x10 /* "copy" section: ! 62: for decision function used ! 63: by field update; not ! 64: allocated, not relocated, ! 65: loaded; reloc & lineno ! 66: entries processed normally */ ! 67: #define STYP_INFO 0x200 /* comment section : not allocated ! 68: not relocated, not loaded */ ! 69: #define STYP_LIB 0x800 /* for .lib section : same as INFO */ ! 70: #define STYP_OVER 0x400 /* overlay section : relocated ! 71: not allocated or loaded */ ! 72: #define STYP_TEXT 0x20 /* section contains text only */ ! 73: #define STYP_DATA 0x40 /* section contains data only */ ! 74: #define STYP_BSS 0x80 /* section contains bss only */ ! 75: ! 76: /* ! 77: * In a minimal file or an update file, a new function ! 78: * (as compared with a replaced function) is indicated by S_NEWFCN ! 79: */ ! 80: ! 81: #define S_NEWFCN 0x100 ! 82: ! 83: /* ! 84: * In 3b Update Files (output of ogen), sections which appear in SHARED ! 85: * segments of the Pfile will have the S_SHRSEG flag set by ogen, to inform ! 86: * dufr that updating 1 copy of the proc. will update all process invocations. ! 87: */ ! 88: ! 89: #define S_SHRSEG 0x20
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.