7#ifndef ZEPHYR_LLEXT_LOADER_H
8#define ZEPHYR_LLEXT_LOADER_H
32struct llext_elf_sect_map;
144 struct llext_elf_sect_map *sect_map;
158static inline int llext_read(
struct llext_loader *l,
void *buf,
size_t len)
160 return l->
read(l, buf, len);
163static inline int llext_seek(
struct llext_loader *l,
size_t pos)
165 return l->
seek(l, pos);
168static inline void *llext_peek(
struct llext_loader *l,
size_t pos)
171 return l->
peek(l, pos);
177static inline void llext_finalize(
struct llext_loader *l)
@ LLEXT_MEM_COUNT
Number of regions managed by LLEXT.
Definition llext.h:57
llext_storage_type
Storage type for the ELF data to be loaded.
Definition loader.h:48
@ LLEXT_STORAGE_TEMPORARY
ELF data is only available during llext_load(); even if the loader supports directly accessing the me...
Definition loader.h:55
@ LLEXT_STORAGE_WRITABLE
ELF data is stored in a writable memory buffer that is guaranteed to be always accessible for as long...
Definition loader.h:70
@ LLEXT_STORAGE_PERSISTENT
ELF data is stored in a read-only buffer that is guaranteed to be always accessible for as long as th...
Definition loader.h:62
#define NULL
Definition iar_missing_defs.h:20
Data structures and constants defined in the ELF specification.
Support for linkable loadable extensions.
ELF Header(64-bit)
Definition elf.h:105
Section Header(64-bit)
Definition elf.h:177
Linkable loadable extension loader context.
Definition loader.h:80
enum llext_storage_type storage
Storage type of the underlying data accessed by this loader.
Definition loader.h:139
int(* seek)(struct llext_loader *ldr, size_t pos)
Function to seek to a new absolute location in the stream.
Definition loader.h:115
int(* read)(struct llext_loader *ldr, void *out, size_t len)
Function to read (copy) from the loader.
Definition loader.h:102
int(* prepare)(struct llext_loader *ldr)
Optional function to prepare the loader for loading extension.
Definition loader.h:88
void(* finalize)(struct llext_loader *ldr)
Optional function to clean after the extension has been loaded or error occurred.
Definition loader.h:134
void *(* peek)(struct llext_loader *ldr, size_t pos)
Optional function to peek at an absolute location in the ELF.
Definition loader.h:127