ELF_OPEN(3) BSD Library Functions Manual ELF_OPEN(3)
NAME
elf_open -- open ELF objects and ar(1) archives
LIBRARY
ELF Access Library (libelf, -lelf)
SYNOPSIS
#include <libelf.h>
Elf *
elf_open(int fd);
Elf *
elf_openmemory(char *image, size_t sz);
DESCRIPTION
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 mem-
ory area pointed to by the argument image. The argument sz specifies the size of the memory area in bytes.
COMPATIBILITY
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.
RETURN VALUES
The function returns a pointer to a ELF descriptor if successful, or NULL if an error occurred.
ERRORS
These functions can fail with the following errors:
[ELF_E_ARGUMENT] The argument fd was of an unsupported file type.
[ELF_E_ARGUMENT] The argument sz was zero, or the argument image was NULL.
[ELF_E_IO] The file descriptor in argument fd was invalid.
[ELF_E_IO] The file descriptor in argument fd could not be read.
[ELF_E_RESOURCE] An out of memory condition was encountered.
[ELF_E_SEQUENCE] Functions elf_open() or elf_openmemory() was called before a working version was established with elf_version(3).
SEE ALSO
elf(3), elf_begin(3), elf_errno(3), elf_memory(3), gelf(3)
BSD
May 31, 2012 BSD