tail head cat sleep
QR code linking to this page

Manual Pages  — GELF_NEWPHDR

NAME

elf32_newphdr, elf64_newphdr, gelf_newphdr – allocate an ELF program header table

CONTENTS

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

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

GELF_NEWPHDR (3) June 12, 2019

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

To err is human...to really foul up requires the root password.