GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
GELF_NEWPHDR(3) FreeBSD Library Functions Manual GELF_NEWPHDR(3)

elf32_newphdr, elf64_newphdr, gelf_newphdr
allocate an ELF program header table

ELF Access Library (libelf, -lelf)

#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);

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 existing 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.

The functions a valid pointer if successful, or NULL in case an error was encountered.

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.

These functions may fail with the following errors:
[]
Argument elf was NULL.
[]
Argument elf was not a descriptor for an ELF object.
[]
ELF descriptor elf was of an unrecognized class.
[]
An out of memory condition was detected.
[]
An executable header was not allocated for ELF descriptor elf before using these APIs.

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)
June 12, 2019 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.