GELF_NEWPHDR(3) BSD Library Functions Manual GELF_NEWPHDR(3)NAME
elf32_newphdr, elf64_newphdr, gelf_newphdr — allocate an ELF program
header table
LIBRARY
library “libelf”
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 descrip‐
tor. 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 exist‐
ing program header table already present in the ELF descriptor elf. A
value of zero for argument count may be used to delete an existing pro‐
gram 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 descrip‐
tor elf before using these APIs.
SEE ALSOelf(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