|
|
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.