gelf_newphdr, elf32_newphdr, elf64_newphdr(3) | allocate an ELF program header table |
elf32_newphdr, gelf_newphdr, elf64_newphdr(3) | allocate an ELF program header table |
elf64_newphdr, gelf_newphdr, elf32_newphdr(3) | allocate an ELF program header table |
GELF_NEWPHDR(3) | MidnightBSD 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:
ELF_E_ARGUMENT
]ELF_E_ARGUMENT
]ELF_E_CLASS
]ELF_E_RESOURCE
]ELF_E_SEQUENCE
]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 | midnightbsd-3.1 |