FreeNOS
Data Structures | Typedefs
ELFHeader.h File Reference
#include <Types.h>

Go to the source code of this file.

Data Structures

struct  ELFHeader
 Describes an ELF executable and must be placed at the beginning of executable programs. More...
 
struct  ELFSegment
 ELF program segment in the executable file. More...
 

Macros

Identification indexes
#define ELF_INDEX_MAGIC0   0
 Magic number byte 0 index. More...
 
#define ELF_INDEX_MAGIC1   1
 Magic number byte 1 index. More...
 
#define ELF_INDEX_MAGIC2   2
 Magic number byte 2 index. More...
 
#define ELF_INDEX_MAGIC3   3
 Magic number byte 3 index. More...
 
#define ELF_INDEX_CLASS   4
 File class index. More...
 
#define ELF_INDEX_DATA   5
 Data encoding index. More...
 
#define ELF_INDEX_VERSION   6
 File version index. More...
 
#define ELF_INDEX_PAD   7
 Unused padding index. More...
 
#define ELF_INDEX_NIDENT   16
 Number of bytes in the ELF identity field. More...
 
Magic numbers
#define ELF_MAGIC0   0x7f
 Magic number byte 0. More...
 
#define ELF_MAGIC1   'E'
 Magic number byte 1. More...
 
#define ELF_MAGIC2   'L'
 Magic number byte 2. More...
 
#define ELF_MAGIC3   'F'
 Magic number byte 3. More...
 
Processor classes
#define ELF_CLASS_NONE   0
 Invalid class. More...
 
#define ELF_CLASS_32   1
 32-bit objects. More...
 
#define ELF_CLASS_64   2
 64-bit objects. More...
 
Data encoding (endianness)
#define ELF_DATA_NONE   0
 Invalid data encoding. More...
 
#define ELF_DATA_2LSB   1
 2-complement, little endian. More...
 
#define ELF_DATA_2MSB   2
 2-complement, big endian. More...
 
Object file types
#define ELF_TYPE_NONE   0
 No file type. More...
 
#define ELF_TYPE_REL   1
 Relocatable file. More...
 
#define ELF_TYPE_EXEC   2
 Executable file. More...
 
#define ELF_TYPE_DYN   3
 Shared object file. More...
 
#define ELF_TYPE_CORE   4
 Core file. More...
 
#define ELF_TYPE_NUM   5
 Number of defined types. More...
 
#define ELF_TYPE_LOPROC   0xff00
 Processor-specific range start. More...
 
#define ELF_TYPE_HIPROC   0xffff
 Processor-specific range end. More...
 
Machine architectures
#define ELF_MACHINE_NONE   0
 No machine. More...
 
#define ELF_MACHINE_M32   1
 AT&T WE 32100. More...
 
#define ELF_MACHINE_SPARC   2
 SPARC. More...
 
#define ELF_MACHINE_386   3
 Intel IBM-PC architecture. More...
 
#define ELF_MACHINE_68K   4
 Motorola 68000. More...
 
#define ELF_MACHINE_88K   5
 Motorola 88000. More...
 
#define ELF_MACHINE_860   7
 Intel 80860. More...
 
#define ELF_MACHINE_MIPS_RS3   8
 MIPS RS3000 big endian. More...
 
#define ELF_MACHINE_MIPS_RS4   10
 MIPS RS4000 big endian. More...
 
Object file version.
#define ELF_VERSION_NONE   0
 Invalid version. More...
 
#define ELF_VERSION_CURRENT   1
 Current version. More...
 
Segment types
#define ELF_SEGMENT_NULL   0
 Unused segment. More...
 
#define ELF_SEGMENT_LOAD   1
 Loadable segment. More...
 
#define ELF_SEGMENT_DYNAMIC   2
 Dynamic linker information. More...
 
#define ELF_SEGMENT_INTERP   3
 Path to an interpreter for dynamic linking. More...
 
#define ELF_SEGMENT_NOTE   4
 Auxiliary information. More...
 
#define ELF_SEGMENT_SHLIB   5
 Reserved. More...
 
#define ELF_SEGMENT_SELF   6
 Refers to the program segment header itself. More...
 
#define ELF_SEGMENT_LOPROC   0x70000000
 Reserved for processor-specific semantics. More...
 
#define ELF_SEGMENT_HIPROC   0x7fffffff
 Reserved for processor-specific semantics. More...
 

Typedefs

typedef struct ELFHeader ELFHeader
 Describes an ELF executable and must be placed at the beginning of executable programs. More...
 
typedef struct ELFSegment ELFSegment
 ELF program segment in the executable file. More...