sunos_exec.h revision 1.9.46.1 1 1.9.46.1 matt /* $NetBSD: sunos_exec.h,v 1.9.46.1 2008/01/09 01:51:47 matt Exp $ */
2 1.1 tv
3 1.1 tv /*
4 1.1 tv * Copyright (c) 1993 Theo de Raadt
5 1.1 tv * All rights reserved.
6 1.1 tv *
7 1.1 tv * Redistribution and use in source and binary forms, with or without
8 1.1 tv * modification, are permitted provided that the following conditions
9 1.1 tv * are met:
10 1.1 tv * 1. Redistributions of source code must retain the above copyright
11 1.1 tv * notice, this list of conditions and the following disclaimer.
12 1.1 tv * 2. Redistributions in binary form must reproduce the above copyright
13 1.1 tv * notice, this list of conditions and the following disclaimer in the
14 1.1 tv * documentation and/or other materials provided with the distribution.
15 1.1 tv * 3. The name of the author may not be used to endorse or promote products
16 1.1 tv * derived from this software without specific prior written permission
17 1.1 tv *
18 1.1 tv * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 1.1 tv * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 1.1 tv * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 1.1 tv * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 1.1 tv * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 1.1 tv * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 1.1 tv * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 1.1 tv * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 1.1 tv * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 1.1 tv * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 1.1 tv */
29 1.1 tv
30 1.1 tv #ifndef _SUNOS_EXEC_H_
31 1.1 tv #define _SUNOS_EXEC_H_
32 1.1 tv
33 1.1 tv struct sunos_exec {
34 1.1 tv u_char a_dynamic:1; /* has a __DYNAMIC */
35 1.1 tv u_char a_toolversion:7;/* version of toolset used to create this file */
36 1.1 tv u_char a_machtype; /* machine type */
37 1.1 tv u_short a_magic; /* magic number */
38 1.1 tv };
39 1.4 fredette #define SUNOS_M_68010 1 /* runs on 68010 and 68020 */
40 1.1 tv #define SUNOS_M_68020 2 /* runs only on 68020 */
41 1.1 tv #define SUNOS_M_SPARC 3 /* runs only on SPARC */
42 1.1 tv
43 1.2 mrg #ifdef __sparc__
44 1.4 fredette #define SUNOS_M_NATIVE(m) ((m) == SUNOS_M_SPARC)
45 1.4 fredette #elif defined(__mc68010__)
46 1.4 fredette #define SUNOS_M_NATIVE(m) ((m) == SUNOS_M_68010)
47 1.1 tv #else
48 1.4 fredette #define SUNOS_M_NATIVE(m) ((m) == SUNOS_M_68010 || (m) == SUNOS_M_68020)
49 1.1 tv #endif
50 1.1 tv
51 1.1 tv #define SUNOS_AOUT_HDR_SIZE (sizeof(struct exec))
52 1.3 scw
53 1.3 scw extern const struct emul emul_sunos;
54 1.1 tv
55 1.9.46.1 matt int exec_sunos_aout_makecmds(struct lwp *, struct exec_package *);
56 1.1 tv
57 1.1 tv #endif /* !_SUNOS_EXEC_H_ */
58