NAME
elf32_getphdr,
elf64_getphdr,
gelf_getphdr —
retrieve an ELF
program header table
LIBRARY
ELF Access Library (libelf, -lelf)
SYNOPSIS
#include <libelf.h>
Elf32_Phdr *
elf32_getphdr(
Elf
*elf);
Elf64_Phdr *
elf64_getphdr(
Elf
*elf);
#include <gelf.h>
GElf_Phdr *
gelf_getphdr(
Elf
*elf,
int index,
GElf_Phdr *dst);
DESCRIPTION
These functions retrieve and translate ELF program header information from an
ELF descriptor, if this information exists.
Functions
elf32_getphdr() and
elf64_getphdr() return a pointer to an array of translated
Elf32_Phdr and
Elf64_Phdr
descriptors respectively. These descriptors are described in
elf(5). The number of entries in
this array may be determined using the
elf_getphnum(3) function.
Function
gelf_getphdr() will retrieve the program header table
entry at index
index from ELF descriptor
elf. The translated program header table entry will be
written to the address pointed to be argument
dst.
Applications may inform the library of modifications to a program header table
entry by using the
elf_flagphdr(3) API.
Applications using the
gelf(3)
interface need to use the
gelf_update_phdr(3)
API to copy modifications to a program header entry back to the underlying ELF
descriptor.
RETURN VALUES
The functions a valid pointer if successful, or NULL in case an error was
encountered.
ERRORS
These functions may fail with the following errors:
-
-
- [
ELF_E_ARGUMENT
]
- Argument elf was NULL.
-
-
- [
ELF_E_ARGUMENT
]
- Argument elf was not a descriptor for
an ELF object.
-
-
- [
ELF_E_ARGUMENT
]
- Argument dst was NULL.
-
-
- [
ELF_E_ARGUMENT
]
- Index index was out of range.
-
-
- [
ELF_E_CLASS
]
- The class of ELF descriptor elf did
not match the expected class of the function being called.
-
-
- [
ELF_E_HEADER
]
- ELF descriptor elf did not possess an
executable header.
-
-
- [
ELF_E_HEADER
]
- ELF descriptor elf had a corrupt
executable header.
-
-
- [
ELF_E_RESOURCE
]
- An out of memory condition was detected.
-
-
- [
ELF_E_SECTION
]
- The ELF descriptor in argument elf
did not adhere to the conventions used for extended numbering.
-
-
- [
ELF_VERSION
]
- ELF descriptor elf was of an
unsupported version.
SEE ALSO
elf(3),
elf32_getehdr(3),
elf32_newphdr(3),
elf64_getehdr(3),
elf64_newphdr(3),
elf_flagphdr(3),
elf_getphnum(3),
gelf(3),
gelf_getehdr(3),
gelf_newphdr(3),
gelf_update_phdr(3),
elf(5)