ELF_MEMORY(3)

NAME
elf_memory - 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
elf_begin(3), elf_errmsg(3), libelf(3), elf(5)

ATTRIBUTES
Interface Attribute Value

REPORTING BUGS
Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/.