1 /*- 2 * Copyright (c) 1982, 1986 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)exec.h 7.5 (Berkeley) 02/15/91 8 */ 9 10 #ifndef _EXEC_H_ 11 #define _EXEC_H_ 12 13 /* Header prepended to each a.out file. */ 14 struct exec { 15 #if !defined(vax) && !defined(tahoe) && !defined(i386) 16 unsigned short a_mid; /* machine ID */ 17 unsigned short a_magic; /* magic number */ 18 #else 19 long a_magic; /* magic number */ 20 #endif 21 unsigned long a_text; /* text segment size */ 22 unsigned long a_data; /* initialized data size */ 23 unsigned long a_bss; /* uninitialized data size */ 24 unsigned long a_syms; /* symbol table size */ 25 unsigned long a_entry; /* entry point */ 26 unsigned long a_trsize; /* text relocation size */ 27 unsigned long a_drsize; /* data relocation size */ 28 }; 29 #define a_machtype a_mid /* SUN compatibility */ 30 31 /* a_magic */ 32 #define OMAGIC 0407 /* old impure format */ 33 #define NMAGIC 0410 /* read-only text */ 34 #define ZMAGIC 0413 /* demand load format */ 35 36 /* a_mid */ 37 #define MID_ZERO 0 /* unknown - implementation dependent */ 38 #define MID_SUN010 1 /* sun 68010/68020 binary */ 39 #define MID_SUN020 2 /* sun 68020-only binary */ 40 #define MID_HP200 200 /* hp200 (68010) BSD binary */ 41 #define MID_HP300 300 /* hp300 (68020+68881) BSD binary */ 42 #define MID_HPUX 0x20C /* hp200/300 HP-UX binary */ 43 #define MID_HPUX800 0x20B /* hp800 HP-UX binary */ 44 45 #endif /* !_EXEC_H_ */ 46