|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1988 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * This code is derived from software contributed to Berkeley by ! 6: * Computer Consoles Inc. ! 7: * ! 8: * Redistribution and use in source and binary forms are permitted provided ! 9: * that: (1) source distributions retain this entire copyright notice and ! 10: * comment, and (2) distributions including binaries display the following ! 11: * acknowledgement: ``This product includes software developed by the ! 12: * University of California, Berkeley and its contributors'' in the ! 13: * documentation or other materials provided with the distribution and in ! 14: * all advertising materials mentioning features or use of this software. ! 15: * Neither the name of the University nor the names of its contributors may ! 16: * be used to endorse or promote products derived from this software without ! 17: * specific prior written permission. ! 18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 19: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 20: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 21: * ! 22: * @(#)scnhdr.h 5.3 (Berkeley) 6/1/90 ! 23: */ ! 24: ! 25: struct scnhdr { ! 26: char s_name[8]; /* section name */ ! 27: long s_paddr; /* physical address */ ! 28: long s_vaddr; /* virtual address */ ! 29: long s_size; /* section size */ ! 30: long s_scnptr; /* file ptr to raw data for section */ ! 31: long s_relptr; /* file ptr to relocation */ ! 32: long s_lnnoptr; /* file ptr to line numbers */ ! 33: unsigned short s_nreloc; /* number of relocation entries */ ! 34: unsigned short s_nlnno; /* number of line number entries */ ! 35: long s_flags; /* flags */ ! 36: }; ! 37: ! 38: #define SCNHDR struct scnhdr ! 39: #define SCNHSZ sizeof(SCNHDR) ! 40: ! 41: ! 42: ! 43: ! 44: /* ! 45: * Define constants for names of "special" sections ! 46: */ ! 47: ! 48: #define _TEXT ".text" ! 49: #define _DATA ".data" ! 50: #define _BSS ".bss" ! 51: #define _TV ".tv" ! 52: ! 53: ! 54: ! 55: ! 56: /* ! 57: * The low 4 bits of s_flags is used as a section "type" ! 58: */ ! 59: ! 60: #define STYP_REG 0x00 /* "regular" section: ! 61: allocated, relocated, loaded */ ! 62: #define STYP_DSECT 0x01 /* "dummy" section: ! 63: not allocated, relocated, ! 64: not loaded */ ! 65: #define STYP_NOLOAD 0x02 /* "noload" section: ! 66: allocated, relocated, ! 67: not loaded */ ! 68: #define STYP_GROUP 0x04 /* "grouped" section: ! 69: formed of input sections */ ! 70: #define STYP_PAD 0x08 /* "padding" section: ! 71: not allocated, not relocated, ! 72: loaded */ ! 73: #define STYP_COPY 0x10 /* "copy" section: ! 74: for decision function used ! 75: by field update; not ! 76: allocated, not relocated, ! 77: loaded; reloc & lineno ! 78: entries processed normally */ ! 79: #define STYP_TEXT 0x20 /* section contains text only */ ! 80: #define STYP_DATA 0x40 /* section contains data only */ ! 81: #define STYP_BSS 0x80 /* section contains bss only */ ! 82: ! 83: /* ! 84: * In a minimal file or an update file, a new function ! 85: * (as compared with a replaced function) is indicated by S_NEWFCN ! 86: */ ! 87: ! 88: #define S_NEWFCN 0x10 ! 89: ! 90: /* ! 91: * In 3b Update Files (output of ogen), sections which appear in SHARED ! 92: * segments of the Pfile will have the S_SHRSEG flag set by ogen, to inform ! 93: * dufr that updating 1 copy of the proc. will update all process invocations. ! 94: */ ! 95: ! 96: #define S_SHRSEG 0x20
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.