xref: /csrg-svn/sys/pmax/stand/dec_exec.h (revision 58005)
1 /*
2  * Copyright (c) 1992 Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Ralph Campbell.
7  *
8  * %sccs.include.redist.c%
9  *
10  *	@(#)dec_exec.h	7.1 (Berkeley) 02/15/93
11  *
12  * devDiskLabel.h --
13  *
14  *      This defines the disk label that Sun writes on the 0'th sector of
15  *      the 0'th cylinder of its SMD disks.  The disk label contains some
16  *      geometry information and also the division of the disk into a
17  *      number of partitions.  Each partition is identified to the drive
18  *      by a different unit number.
19  */
20 
21 /*
22  * Portions of this file are subject to the following copyright notice:
23  *
24  * Copyright (C) 1989 Digital Equipment Corporation.
25  * Permission to use, copy, modify, and distribute this software and
26  * its documentation for any purpose and without fee is hereby granted,
27  * provided that the above copyright notice appears in all copies.
28  * Digital Equipment Corporation makes no representations about the
29  * suitability of this software for any purpose.  It is provided "as is"
30  * without express or implied warranty.
31  */
32 
33 /*
34  * /sprite/src/kernel/proc/ds3100.md/RCS/procMach.h,v 9.3 90/02/20 15:35:50
35  * shirriff Exp $ SPRITE (Berkeley)
36  */
37 
38 /* Description of the COFF section. */
39 struct coff_exec {
40 #define	COFF_MAGIC	0x0162
41 	u_short	magic;		/* The magic number. */
42 
43 	u_short	numSections;	/* The number of sections. */
44 	long	timeDateStamp;	/* Time and date stamp. */
45 	long	symPtr;		/* File pointer to symbolic header. */
46 	long	numSyms;	/* Size of symbolic header. */
47 	u_short	optHeader;	/* Size of optional header. */
48 	u_short	flags;		/* Flags. */
49 
50 /* Description of the a.out section. */
51 	short	aout_magic;	/* Magic number. */
52 
53 	short	verStamp;	/* Version stamp. */
54 	long	codeSize;	/* Code size in bytes. */
55 	long	heapSize;	/* Initialized data size in bytes. */
56 	long	bssSize;	/* Uninitialized data size in bytes. */
57 	long	entry;		/* Entry point. */
58 	long	codeStart;	/* Base of code used for this file. */
59 	long	heapStart;	/* Base of heap used for this file. */
60 	long	bssStart;	/* Base of bss used for this file. */
61 	long	gprMask;	/* General purpose register mask. */
62 	long	cprMask[4];	/* Co-processor register masks. */
63 	long	gpValue;	/* The gp value for this object. */
64 };
65 
66 /* Section header. */
67 typedef struct {
68 	char	name[8];	/* Section name. */
69 	long	physAddr;	/* Section physical address. */
70 	long	virtAddr;	/* Section virtual address. */
71 	long	size;		/* Section size. */
72 	long	sectionPtr;	/* File pointer to section data. */
73 	long	relocPtr;	/* File pointer to relocation data. */
74 	long	lnnoPtr;	/* File pointer to gp tables. */
75 	u_short	numReloc;	/* Number of relocation entries. */
76 	u_short	numLnno;	/* Numberof gp tables. */
77 	long	flags;		/* Section flags. */
78 } ProcSectionHeader;
79