elf_memory − create an ELF descriptor from a memory buffer
#include <libelf.h>
Elf * elf_memory(char *" image , size_t size );
The elf_memory() function creates a new ELF descriptor from a memory region containing an ELF object. This function is used when the ELF data is already present in memory rather than being read from a file descriptor.
The memory pointed to by image must contain a complete ELF file or archive. The contents must remain valid and unmodified for the lifetime of the resulting ELF descriptor.
The ELF descriptor returned by elf_memory() is opened in read-only mode using ELF_C_READ_MMAP_PRIVATE (see elf_begin). The underlying memory image should not be directly modified by the application while its ELF descriptor is open. Some libelf functions, such as elf_compress() and gelf_update_*(), may internally modify the underlying image and therefore require that the underlying image be writable. The use of a read-only image (e.g., memory mapped with PROT_READ only) may result in failures or crashes.
|
image |
A pointer to a memory buffer that contains the complete contents of an ELF file or archive. If NULL, this function fails and returns NULL. | ||
|
size |
The size in bytes of the memory region pointed to by image. Must be at least as much as a full ELF header and should cover the entire ELF object. |
On success, elf_memory() returns a pointer to an Elf descriptor representing the archive or ELF file contained in image.
On failure, it returns NULL and sets an error code retrievable by elf_errmsg(3).
elf_begin(3), elf_errmsg(3), libelf(3), elf(5)
Report bugs to <[email protected]> or https://sourceware.org/bugzilla/.