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