elf_memory man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

ELF_MEMORY(3)		 BSD Library Functions Manual		 ELF_MEMORY(3)

     elf_memory — process an ELF or ar(1) archive mapped into memory

     library “libelf”

     #include <libelf.h>

     Elf *
     elf_memory(char *image, size_t size);

     Function elf_memory() is used to process an ELF file or ar(1) archive
     whose image is present in memory.

     Argument image points to the start of the memory image of the file or ar‐
     chive.  Argument size contains the size in bytes of the memory image.

     The ELF descriptor is created for reading (i.e., analogous to the use of
     elf_begin(3) with a command argument value of ELF_C_READ).

     Function elf_memory() returns a pointer to a new ELF descriptor if suc‐
     cessful, or NULL if an error occurred.

     The return value may be queried for the file type using elf_kind(3).

     To read parse an elf file, use:

	   int fd;
	   void *p;
	   struct stat sb;
	   Elf *e;
	   if ((fd = open("./elf-file", O_RDONLY)) < 0 ||
	       fstat(fd, &sb) < 0 ||
	       (p = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, (off_t) 0)) ==
	       MAP_FAILED) {
		   ... handle system error ...

	   if ((e = elf_memory(p, sb.st_size)) == NULL) {
		   ... handle elf(3) error ...
	   ... use ELF descriptor "e" here ...

     Function elf_memory() can fail with the following errors:

     [ELF_E_ARGUMENT]  A NULL value was used for argument image or the value
		       of argument sz was zero.

     [ELF_E_HEADER]    The header of the ELF object contained an unsupported
		       value in its e_ident[EI_CLASS] field.

     [ELF_E_HEADER]    The header of the ELF object contained an unsupported
		       value in its e_ident[EI_DATA] field.

     [ELF_E_RESOURCE]  An out of memory condition was detected.

     [ELF_E_SEQUENCE]  Function elf_memory() was called before a working ver‐
		       sion was set using elf_version(3).

     [ELF_E_VERSION]   The argument image corresponds to an ELF file with an
		       unsupported version.

     elf(3), elf_begin(3), elf_end(3), elf_errno(3), elf_kind(3), gelf(3)

BSD				 June 28, 2006				   BSD

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net