elf32_newphdr(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
GELF_NEWPHDR(3)         NetBSD Library Functions Manual        GELF_NEWPHDR(3)


NAME
elf32_newphdr, elf64_newphdr, gelf_newphdr -- allocate an ELF program header table
LIBRARY
ELF Object Manipulation 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 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.
COMPATIBILITY
The gelf_newphdr() function uses a type of void * for its returned value. This differs from some other implementations of the elf(3) API, which use an unsigned long return type.
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 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) NetBSD 10.99 June 12, 2019 NetBSD 10.99
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.