|
NAMEelf_memory —
process an ELF or ar(1) archive mapped into memory
LIBRARYELF Access Library (libelf, -lelf)SYNOPSIS#include <libelf.h>
Elf *
DESCRIPTIONFunctionelf_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_begin(3)
with a command argument value of RETURN VALUESFunctionelf_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_kind(3). EXAMPLESTo 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 ... ERRORSFunctionelf_memory () can fail with the following
errors:
SEE ALSOelf(3), elf_begin(3), elf_end(3), elf_errno(3), elf_kind(3), gelf(3)
Visit the GSP FreeBSD Man Page Interface. |