elf_getehdr.3e (2010 09)

e
elf_getehdr(3E) elf_getehdr(3E)
NAME
elf_getehdr: elf32_getehdr(), elf32_newehdr(), elf64_getehdr(), elf64_newehdr() - retrieve class-dependent
object file header for elf32 or elf64 file
SYNOPSIS
Command:
cc [flag]... file...
-lelf [library ]...
#include <libelf.h>
Elf32_Ehdr *elf32_getehdr(Elf *
elf);
Elf32_Ehdr *elf32_newehdr(Elf *
elf);
Elf64_Ehdr *elf64_getehdr(Elf *
elf);
Elf64_Ehdr *elf64_newehdr(Elf *
elf);
DESCRIPTION
32-bit Class File
For a 32-bit class file,
elf32_getehdr() 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()
allocates a "clean" one,
but it otherwise behaves the same as
elf32_getehdr()
. It does not allocate a new header if one
exists already. If no header exists (for
elf_getehdr()
), one cannot be created (for elf_newehdr()),
a system error occurs, the file is not a 32-bit class file, or elf is null, both functions return a null pointer.
The header 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(3E)). A program may use
elf_getident to inspect the identification bytes from a file.
64-bit Class File
For a 64-bit class file,
elf64_getehdr()
returns a pointer to an ELF header, if one is available for the
ELF descriptor elf. If no header exists for the descriptor,
elf64_newehdr() allocates a "clean" one,
but it otherwise behaves the same as elf64_getehdr(). It does not allocate a new header if one
exists already. If no header exists (for elf_getehdr()), one cannot be created (for elf_newehdr()
),
a system error occurs, the file is not a 64-bit class file, or elf is null, both functions return a null pointer.
The header includes the following members.
unsigned char e_ident[EI_NIDENT];
Elf64_Half e_type;
Elf64_Half e_machine;
Elf64_Word e_version;
Elf64_Addr e_entry;
Elf64_Off e_phoff;
Elf64_Off e_shoff;
Elf64_Word e_flags;
Elf64_Half e_ehsize;
Elf64_Half e_phentsize;
Elf64_Half e_phnum;
Elf64_Half e_shentsize;
Elf64_Half e_shnum;
Elf64_Half e_shstrndx;
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)