Back to index

glibc  2.9
Classes | Defines | Enumerations
a.out.h File Reference

Go to the source code of this file.

Classes

struct  exec
struct  nlist
struct  relocation_info
union  nlist.n_un

Defines

#define __GNU_EXEC_MACROS__
#define N_MAGIC(exec)   ((exec).a_info & 0xffff)
#define N_MACHTYPE(exec)   ((enum machine_type)(((exec).a_info >> 16) & 0xff))
#define N_FLAGS(exec)   (((exec).a_info >> 24) & 0xff)
#define N_SET_INFO(exec, magic, type, flags)
#define N_SET_MAGIC(exec, magic)   ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))
#define N_SET_MACHTYPE(exec, machtype)
#define N_SET_FLAGS(exec, flags)
#define OMAGIC   0407
#define NMAGIC   0410
#define ZMAGIC   0413
#define N_BADMAG(x)
#define _N_BADMAG(x)
#define _N_HDROFF(x)   (SEGMENT_SIZE - sizeof (struct exec))
#define N_TXTOFF(x)   (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec))
#define N_DATOFF(x)   (N_TXTOFF(x) + (x).a_text)
#define N_TRELOFF(x)   (N_DATOFF(x) + (x).a_data)
#define N_DRELOFF(x)   (N_TRELOFF(x) + (x).a_trsize)
#define N_SYMOFF(x)   (N_DRELOFF(x) + (x).a_drsize)
#define N_STROFF(x)   (N_SYMOFF(x) + (x).a_syms)
#define N_TXTADDR(x)   0
#define SEGMENT_SIZE   PAGE_SIZE
#define PAGE_SIZE   16
#define PAGSIZ   PAGE_SIZE
#define SEGSIZ   SEGMENT_SIZE
#define _N_SEGMENT_ROUND(x)   (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
#define _N_TXTENDADDR(x)   (N_TXTADDR(x)+(x).a_text)
#define N_DATADDR(x)
#define N_BSSADDR(x)   (N_DATADDR(x) + (x).a_data)
#define N_UNDF   0
#define N_ABS   2
#define N_TEXT   4
#define N_DATA   6
#define N_BSS   8
#define N_COMM   18
#define N_FN   15
#define N_EXT   1
#define N_TYPE   036
#define N_STAB   0340
#define N_INDR   0xa
#define N_SETA   0x14 /* Absolute set element symbol */
#define N_SETT   0x16 /* Text set element symbol */
#define N_SETD   0x18 /* Data set element symbol */
#define N_SETB   0x1A /* Bss set element symbol */
#define N_SETV   0x1C /* Pointer to set vector in data area. */

Enumerations

enum  machine_type {
  M_OLDSUN2 = 0, M_68010 = 1, M_68020 = 2, M_SPARC = 3,
  M_386 = 100, M_OLDSUN2 = 0, M_68010 = 1, M_68020 = 2,
  M_SPARC = 3, M_386 = 100, M_MIPS1 = 151, M_MIPS2 = 152,
  M_OLDSUN2 = 0, M_68010 = 1, M_68020 = 2, M_SPARC = 3,
  M_386 = 100, M_MIPS1 = 151, M_MIPS2 = 152, M_OLDSUN2 = 0,
  M_68010 = 1, M_68020 = 2, M_SPARC = 3, M_386 = 100,
  M_MIPS1 = 151, M_MIPS2 = 152
}

Class Documentation

struct exec

Definition at line 12 of file a.out.h.

Class Members
unsigned int a_bss
unsigned a_bss
unsigned int a_data
unsigned a_data
unsigned int a_drsize
unsigned a_drsize
unsigned char a_dynamic:1
unsigned int a_entry
unsigned a_entry
unsigned short a_info
unsigned long a_info
unsigned char a_machtype
unsigned int a_syms
unsigned a_syms
unsigned int a_text
unsigned a_text
unsigned char a_toolversion:7
unsigned int a_trsize
unsigned a_trsize
struct nlist

Definition at line 228 of file a.out.h.

Class Members
short n_desc
char n_other
unsigned char n_type
union nlist n_un
union nlist n_un
union nlist n_un
union nlist n_un
unsigned long n_value
struct relocation_info

Definition at line 309 of file a.out.h.

Class Members
int r_addend
unsigned int r_address
int r_address
unsigned int r_extern:1
unsigned int r_index:24
unsigned int r_length:2
int r_pad:2
unsigned int r_pad:4
unsigned int r_pcrel:1
unsigned int r_symbolnum:24
union nlist.n_un

Definition at line 229 of file a.out.h.

Class Members
char * n_name
struct nlist * n_next
long n_strx

Define Documentation

Definition at line 8 of file a.out.h.

#define _N_BADMAG (   x)
Value:
(N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC           \
  && N_MAGIC(x) != ZMAGIC)

Definition at line 133 of file a.out.h.

#define _N_HDROFF (   x)    (SEGMENT_SIZE - sizeof (struct exec))

Definition at line 138 of file a.out.h.

#define _N_SEGMENT_ROUND (   x)    (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))

Definition at line 212 of file a.out.h.

#define _N_TXTENDADDR (   x)    (N_TXTADDR(x)+(x).a_text)

Definition at line 214 of file a.out.h.

#define N_ABS   2

Definition at line 245 of file a.out.h.

#define N_BADMAG (   x)
Value:
(N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC           \
  && N_MAGIC(x) != ZMAGIC)

Definition at line 128 of file a.out.h.

#define N_BSS   8

Definition at line 254 of file a.out.h.

#define N_BSSADDR (   x)    (N_DATADDR(x) + (x).a_data)

Definition at line 224 of file a.out.h.

#define N_COMM   18

Definition at line 257 of file a.out.h.

#define N_DATA   6

Definition at line 251 of file a.out.h.

#define N_DATADDR (   x)
Value:

Definition at line 217 of file a.out.h.

#define N_DATOFF (   x)    (N_TXTOFF(x) + (x).a_text)

Definition at line 149 of file a.out.h.

#define N_DRELOFF (   x)    (N_TRELOFF(x) + (x).a_trsize)

Definition at line 157 of file a.out.h.

#define N_EXT   1

Definition at line 264 of file a.out.h.

#define N_FLAGS (   exec)    (((exec).a_info >> 24) & 0xff)

Definition at line 100 of file a.out.h.

#define N_FN   15

Definition at line 260 of file a.out.h.

#define N_INDR   0xa

Definition at line 281 of file a.out.h.

#define N_MACHTYPE (   exec)    ((enum machine_type)(((exec).a_info >> 16) & 0xff))

Definition at line 99 of file a.out.h.

#define N_MAGIC (   exec)    ((exec).a_info & 0xffff)

Definition at line 97 of file a.out.h.

#define N_SET_FLAGS (   exec,
  flags 
)
Value:
((exec).a_info = \
        ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))

Definition at line 112 of file a.out.h.

#define N_SET_INFO (   exec,
  magic,
  type,
  flags 
)
Value:
((exec).a_info = ((magic) & 0xffff) \
        | (((int)(type) & 0xff) << 16) \
        | (((flags) & 0xff) << 24))

Definition at line 101 of file a.out.h.

#define N_SET_MACHTYPE (   exec,
  machtype 
)
Value:
((exec).a_info = \
        ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))

Definition at line 108 of file a.out.h.

#define N_SET_MAGIC (   exec,
  magic 
)    ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))

Definition at line 105 of file a.out.h.

#define N_SETA   0x14 /* Absolute set element symbol */

Definition at line 295 of file a.out.h.

#define N_SETB   0x1A /* Bss set element symbol */

Definition at line 298 of file a.out.h.

#define N_SETD   0x18 /* Data set element symbol */

Definition at line 297 of file a.out.h.

#define N_SETT   0x16 /* Text set element symbol */

Definition at line 296 of file a.out.h.

#define N_SETV   0x1C /* Pointer to set vector in data area. */

Definition at line 301 of file a.out.h.

#define N_STAB   0340

Definition at line 270 of file a.out.h.

#define N_STROFF (   x)    (N_SYMOFF(x) + (x).a_syms)

Definition at line 165 of file a.out.h.

#define N_SYMOFF (   x)    (N_DRELOFF(x) + (x).a_drsize)

Definition at line 161 of file a.out.h.

#define N_TEXT   4

Definition at line 248 of file a.out.h.

#define N_TRELOFF (   x)    (N_DATOFF(x) + (x).a_data)

Definition at line 153 of file a.out.h.

#define N_TXTADDR (   x)    0

Definition at line 170 of file a.out.h.

#define N_TXTOFF (   x)    (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec))

Definition at line 144 of file a.out.h.

#define N_TYPE   036

Definition at line 267 of file a.out.h.

#define N_UNDF   0

Definition at line 242 of file a.out.h.

#define NMAGIC   0410

Definition at line 122 of file a.out.h.

#define OMAGIC   0407

Definition at line 120 of file a.out.h.

#define PAGE_SIZE   16

Definition at line 206 of file a.out.h.

#define PAGSIZ   PAGE_SIZE

Definition at line 209 of file a.out.h.

#define SEGMENT_SIZE   PAGE_SIZE

Definition at line 200 of file a.out.h.

#define SEGSIZ   SEGMENT_SIZE

Definition at line 210 of file a.out.h.

#define ZMAGIC   0413

Definition at line 124 of file a.out.h.


Enumeration Type Documentation

Enumerator:
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_MIPS1 
M_MIPS2 
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_MIPS1 
M_MIPS2 
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_MIPS1 
M_MIPS2 

Definition at line 42 of file a.out.h.

                  {
#if defined (M_OLDSUN2)
  M__OLDSUN2 = M_OLDSUN2,
#else
  M_OLDSUN2 = 0,
#endif
#if defined (M_68010)
  M__68010 = M_68010,
#else
  M_68010 = 1,
#endif
#if defined (M_68020)
  M__68020 = M_68020,
#else
  M_68020 = 2,
#endif
#if defined (M_SPARC)
  M__SPARC = M_SPARC,
#else
  M_SPARC = 3,
#endif
  /* skip a bunch so we don't run into any of sun's numbers */
  M_386 = 100
};