gelf_newphdr(3) [freebsd man page]
GELF_NEWPHDR(3) BSD Library Functions Manual GELF_NEWPHDR(3) NAME
elf32_newphdr, elf64_newphdr, gelf_newphdr -- allocate an ELF program header table LIBRARY
ELF Access Library (libelf, -lelf) SYNOPSIS
#include <libelf.h> Elf32_Phdr * elf32_newphdr(Elf *elf, size_t count); Elf64_Phdr * elf64_newphdr(Elf *elf, size_t count); #include <gelf.h> void * gelf_newphdr(Elf *elf, size_t count); DESCRIPTION
These functions allocate an ELF Program Header table for an ELF descriptor. Elf32_Phdr and Elf64_Phdr descriptors are described further in elf(5). Functions elf32_newphdr() and elf64_newphdr() allocate a table of count Elf32_Phdr and Elf64_Phdr descriptors respectively, discarding any existing program header table already present in the ELF descriptor elf. A value of zero for argument count may be used to delete an exist- ing program header table from an ELF descriptor. Function gelf_newphdr() will return a table of Elf32_Phdr or Elf64_Phdr with count elements depending on the ELF class of ELF descriptor elf. The functions set the ELF_F_DIRTY flag on the program header table. All members of the returned array of Phdr structures will be initialized to zero. After a successful call to these functions, the pointer returned by a prior call to elf32_getphdr() or elf64_getphdr() on the same descriptor elf will no longer be valid. 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_CLASS] ELF descriptor elf was of an unrecognized class. [ELF_E_RESOURCE] An out of memory condition was detected. [ELF_E_SEQUENCE] An executable header was not allocated for ELF descriptor elf before using these APIs. SEE ALSO
elf(3), elf32_getphdr(3), elf32_newehdr(3), elf64_getphdr(3), elf64_newehdr(3), elf_flagphdr(3), elf_getphnum(3), gelf(3), gelf_getphdr(3), gelf_newehdr(3), elf(5) BSD
October 22, 2007 BSD
Check Out this Related Man Page
GELF_GETPHDR(3) BSD 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_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) BSD
October 21, 2007 BSD