Minix Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
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 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.

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

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO