Интерактивная система просмотра системных руководств (man-ов)
elf_memory (3)
>> elf_memory (3) ( FreeBSD man: Библиотечные вызовы )
BSD mandoc
NAME
elf_memory
- process an ELF or ar(1) archive mapped into memory
LIBRARY
Lb libelf
SYNOPSIS
#include <libelf.h>
Elf *
elf_memory (char *image size_t size);
DESCRIPTION
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 archive.
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_begin3
with a command argument value of
ELF_C_READ ).
RETURN VALUES
Function
elf_memory ();
returns a pointer to a new ELF descriptor if successful, or NULL if an
error occurred.
The return value may be queried for the file type using
elf_kind3.
EXAMPLES
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 ...
ERRORS
Function
elf_memory ();
can fail with the following errors:
- Bq Er ELF_E_ARGUMENT
-
A NULL value was used for argument
image
or the value of argument
sz
was zero.
- Bq Er ELF_E_HEADER
-
The header of the ELF object contained an unsupported value in its
e_ident[EI_CLASS]
field.
- Bq Er ELF_E_HEADER
-
The header of the ELF object contained an unsupported value in its
e_ident[EI_DATA]
field.
- Bq Er ELF_E_RESOURCE
-
An out of memory condition was detected.
- Bq Er ELF_E_SEQUENCE
-
Function
elf_memory ();
was called before a working version was set using
elf_version3.
- Bq Er ELF_E_VERSION
-
The argument
image
corresponds to an ELF file with an unsupported version.
SEE ALSO
elf(3),
elf_begin3,
elf_end3,
elf_errno3,
elf_kind3,
gelf(3)
Index
- NAME
-
- LIBRARY
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUES
-
- EXAMPLES
-
- ERRORS
-
- SEE ALSO
-