Home | History | Annotate | Download | only in linux
      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