| ELF_OPEN(3) | Library Functions Manual | ELF_OPEN(3) |
elf_open,
elf_openmemory — open ELF
objects and ar(1) archives
ELF Access Library (libelf, -lelf)
#include
<libelf.h>
Elf *
elf_open(int
fd);
Elf *
elf_openmemory(char
*image, size_t
sz);
Important:
The functions
elf_open()
and elf_openmemory() are extensions to the
elf(3) API, for the internal use
of the Elftoolchain project. Portable applications should not use these
functions.
The function
elf_open()
returns an Elf descriptor opened with mode
ELF_C_READ for the ELF object or
ar(1) archive referenced by the
file descriptor in argument fd.
The function
elf_openmemory()
returns an ELF descriptor opened with mode
ELF_C_READ for the ELF object or
ar(1) archive contained in the
memory area pointed to by the argument image. The
argument sz specifies the size of the memory area in
bytes.
The function returns a pointer to a ELF descriptor if successful,
or NULL if an error occurred.
These functions are non-standard extensions to the elf(3) API set.
The behavior of these functions differs from their counterparts
elf_begin(3) and
elf_memory(3) in that
these functions will successfully open malformed ELF objects and
ar(1) archives, returning an Elf
descriptor of type ELF_K_NONE.
These functions can fail with the following errors:
ELF_E_ARGUMENT]ELF_E_ARGUMENT]NULL.ELF_E_IO]ELF_E_IO]ELF_E_RESOURCE]ELF_E_SEQUENCE]elf_open() or
elf_openmemory() was called before a working
version was established with
elf_version(3).| July 15, 2025 | NetBSD 11.0 |