Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 de-
     scriptor 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.

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 descrip-
     tor 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 be-
		       fore 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

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

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=elf_open&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help