FreeBSD manual
download PDF document: elf64_getphdr.3.pdf
GELF_GETPHDR(3) FreeBSD Library Functions Manual GELF_GETPHDR(3)
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_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)
FreeBSD 14.0-RELEASE-p11 October 21, 2007 FreeBSD 14.0-RELEASE-p11