tail head cat sleep
QR code linking to this page

Manual Pages  — ELF_OPEN

NAME

elf_open – open ELF objects and ar(1) archives

CONTENTS

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 memory area pointed to by the argument image. The argument sz specifies the size of the memory area in bytes.

RETURN VALUES

The function returns a pointer to a ELF descriptor if successful, or NULL if an error occurred.

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.

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)

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

A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints.
— The Unix Haters' handbook