1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __A_OUT_GNU_H__
20#define __A_OUT_GNU_H__
21#define __GNU_EXEC_MACROS__
22#ifndef __STRUCT_EXEC_OVERRIDE__
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#include <asm/a.out.h>
25#endif
26enum machine_type {
27#ifdef M_OLDSUN2
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 M__OLDSUN2 = M_OLDSUN2,
30#else
31 M_OLDSUN2 = 0,
32#endif
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#ifdef M_68010
35 M__68010 = M_68010,
36#else
37 M_68010 = 1,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#endif
40#ifdef M_68020
41 M__68020 = M_68020,
42#else
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 M_68020 = 2,
45#endif
46#ifdef M_SPARC
47 M__SPARC = M_SPARC,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#else
50 M_SPARC = 3,
51#endif
52 M_386 = 100,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 M_MIPS1 = 151,
55 M_MIPS2 = 152
56};
57#ifndef N_MAGIC
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define N_MAGIC(exec) ((exec).a_info & 0xffff)
60#endif
61#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
62#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff)
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define N_SET_INFO(exec, magic, type, flags)   ((exec).a_info = ((magic) & 0xffff)   | (((int)(type) & 0xff) << 16)   | (((flags) & 0xff) << 24))
65#define N_SET_MAGIC(exec, magic)   ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))
66#define N_SET_MACHTYPE(exec, machtype)   ((exec).a_info =   ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
67#define N_SET_FLAGS(exec, flags)   ((exec).a_info =   ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define OMAGIC 0407
70#define NMAGIC 0410
71#define ZMAGIC 0413
72#define QMAGIC 0314
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define CMAGIC 0421
75#ifndef N_BADMAG
76#define N_BADMAG(x) (N_MAGIC(x) != OMAGIC   && N_MAGIC(x) != NMAGIC   && N_MAGIC(x) != ZMAGIC   && N_MAGIC(x) != QMAGIC)
77#endif
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define _N_HDROFF(x) (1024 - sizeof (struct exec))
80#ifndef N_TXTOFF
81#define N_TXTOFF(x)   (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) :   (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec)))
82#endif
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#ifndef N_DATOFF
85#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text)
86#endif
87#ifndef N_TRELOFF
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data)
90#endif
91#ifndef N_DRELOFF
92#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x))
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#endif
95#ifndef N_SYMOFF
96#define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x))
97#endif
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#ifndef N_STROFF
100#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x))
101#endif
102#ifndef N_TXTADDR
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? PAGE_SIZE : 0)
105#endif
106#if defined(vax) || defined(hp300) || defined(pyr)
107#define SEGMENT_SIZE page_size
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#endif
110#ifdef sony
111#define SEGMENT_SIZE 0x2000
112#endif
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#ifdef is68k
115#define SEGMENT_SIZE 0x20000
116#endif
117#if defined(m68k) && defined(PORTAR)
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define PAGE_SIZE 0x400
120#define SEGMENT_SIZE PAGE_SIZE
121#endif
122#ifdef linux
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#include <asm/page.h>
125#if defined(__i386__) || defined(__mc68000__)
126#define SEGMENT_SIZE 1024
127#else
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#ifndef SEGMENT_SIZE
130#define SEGMENT_SIZE PAGE_SIZE
131#endif
132#endif
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#endif
135#define _N_SEGMENT_ROUND(x) ALIGN(x, SEGMENT_SIZE)
136#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
137#ifndef N_DATADDR
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define N_DATADDR(x)   (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x))   : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
140#endif
141#ifndef N_BSSADDR
142#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#endif
145#ifndef N_NLIST_DECLARED
146struct nlist {
147 union {
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 char *n_name;
150 struct nlist *n_next;
151 long n_strx;
152 } n_un;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 unsigned char n_type;
155 char n_other;
156 short n_desc;
157 unsigned long n_value;
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159};
160#endif
161#ifndef N_UNDF
162#define N_UNDF 0
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164#endif
165#ifndef N_ABS
166#define N_ABS 2
167#endif
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169#ifndef N_TEXT
170#define N_TEXT 4
171#endif
172#ifndef N_DATA
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define N_DATA 6
175#endif
176#ifndef N_BSS
177#define N_BSS 8
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#endif
180#ifndef N_FN
181#define N_FN 15
182#endif
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184#ifndef N_EXT
185#define N_EXT 1
186#endif
187#ifndef N_TYPE
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189#define N_TYPE 036
190#endif
191#ifndef N_STAB
192#define N_STAB 0340
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194#endif
195#define N_INDR 0xa
196#define N_SETA 0x14
197#define N_SETT 0x16
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199#define N_SETD 0x18
200#define N_SETB 0x1A
201#define N_SETV 0x1C
202#ifndef N_RELOCATION_INFO_DECLARED
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204struct relocation_info
205{
206 int r_address;
207 unsigned int r_symbolnum:24;
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 unsigned int r_pcrel:1;
210 unsigned int r_length:2;
211 unsigned int r_extern:1;
212#ifdef NS32K
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 unsigned r_bsr:1;
215 unsigned r_disp:1;
216 unsigned r_pad:2;
217#else
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 unsigned int r_pad:4;
220#endif
221};
222#endif
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224#endif
225