blob: 21988ead5f8b144d749feaa1805ed14e61e3f6b3 [file] [log] [blame]
/**
* syslinux/module.h
*
* Dynamic ELF modules definitions and services.
*/
#ifndef I386_MODULE_H_
#define I386_MODULE_H_
#include <elf.h>
/*
* Accepted values for various ELF header parameters found in an ELF dynamic
* object.
*/
#define MODULE_ELF_CLASS ELFCLASS32 // 32-bit modules
#define MODULE_ELF_CLASS_SIZE 32 // Size of a word value
#define MODULE_ELF_DATA ELFDATA2LSB // Word endianess
#define MODULE_ELF_VERSION EV_CURRENT // Object version
#define MODULE_ELF_TYPE ET_DYN // Executable type (shared object - .so)
#define MODULE_ELF_MACHINE EM_386 // Target architecture
#define ELF_MOD_SYS "32 bit"
typedef Elf32_Addr Elf_Addr;
typedef Elf32_Dyn Elf_Dyn;
typedef Elf32_Word Elf_Word;
typedef Elf32_Off Elf_Off;
typedef Elf32_Sym Elf_Sym;
typedef Elf32_Ehdr Elf_Ehdr;
typedef Elf32_Phdr Elf_Phdr;
typedef Elf32_Rel Elf_Rel;
typedef Elf32_Word Elf_Bword;
#endif // I386_MODULE_H_