|
|
#include <libelf.h>
Elf32_Ehdr *elf32_getehdr(Elf *elf);
Elf32_Ehdr *elf32_newehdr(Elf *elf);
elf32_newehdr- get pointer to an ELF table; allocate one if necessary
For a 32-bit class file, elf32_getehdr(S) returns a pointer to an ELF header, if one is available for the ELF descriptor elf. If no header exists for the descriptor, elf32_newehdr(S) allocates a new ``clean'' one, but otherwise it behaves the same as elf32_getehdr( ). It does not allocate a new header if one exists already.
The table includes the following members.
unsigned char e_ident[EI_NIDENT]; Elf32_Half e_type Elf32_Half e_machine Elf32_Word e_version; Elf32_Addr e_entry; Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32_Half e_shentsize; Elf32_Half e_shnum; Elf32_Half e_shstrndx;
elf32_newehdr( ) automatically sets the ELF_F_DIRTY bit (see elf_flag(S)). A program can use elf_getident(S) to inspect the identification bytes from a file.