elf_memory - Man Page
create an ELF descriptor from a memory buffer
Synopsis
#include <libelf.h> Elf * elf_memory(char *" image , size_t size );
Description
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.
Parameters
- 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.
Return Value
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).
See Also
Attributes
| Interface Attribute Value | ||
|---|---|---|
| elf_memory() | Thread safety MT-Safe |
Reporting Bugs
Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/.