FreeNOS
|
#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... | |