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 26 enum 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 146 struct 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 */ 204 struct 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