36 lines
944 B
C
36 lines
944 B
C
/**
|
|
* syslinux/module.h
|
|
*
|
|
* Dynamic ELF64 modules definitions and services.
|
|
*/
|
|
|
|
#ifndef _X86_64_MODULE_H_
|
|
#define _X86_64_MODULE_H_
|
|
|
|
#include <elf.h>
|
|
|
|
/*
|
|
* Accepted values for various ELF header parameters found in an ELF dynamic
|
|
* object.
|
|
*/
|
|
#define MODULE_ELF_CLASS ELFCLASS64 // 64-bit modules
|
|
#define MODULE_ELF_CLASS_SIZE 64 // 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_X86_64 // Target architecture
|
|
|
|
#define ELF_MOD_SYS "64 bit"
|
|
|
|
typedef Elf64_Addr Elf_Addr;
|
|
typedef Elf64_Dyn Elf_Dyn;
|
|
typedef Elf64_Word Elf_Word;
|
|
typedef Elf64_Off Elf_Off;
|
|
typedef Elf64_Sym Elf_Sym;
|
|
typedef Elf64_Ehdr Elf_Ehdr;
|
|
typedef Elf64_Phdr Elf_Phdr;
|
|
typedef Elf64_Rel Elf_Rel;
|
|
typedef Elf64_Xword Elf_Bword;
|
|
|
|
#endif // _X86_64_MODULE_H_
|