7#ifndef ZEPHYR_LLEXT_LOADER_H
8#define ZEPHYR_LLEXT_LOADER_H
32struct llext_elf_sect_map;
102 bool sect_hdrs_on_heap;
103 struct llext_elf_sect_map *sect_map;
118static inline int llext_read(
struct llext_loader *l,
void *buf,
size_t len)
120 return l->
read(l, buf, len);
123static inline int llext_seek(
struct llext_loader *l,
size_t pos)
125 return l->
seek(l, pos);
128static inline void *llext_peek(
struct llext_loader *l,
size_t pos)
131 return l->
peek(l, pos);
137static inline void llext_finalize(
struct llext_loader *l)
Data structures and constants defined in the ELF specification.
@ LLEXT_MEM_COUNT
Number of regions managed by LLEXT.
Definition llext.h:57
Support for linkable loadable extensions.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
ELF Header(64-bit)
Definition elf.h:105
Section Header(64-bit)
Definition elf.h:177
Linkable loadable extension loader context.
Definition loader.h:42
int(* seek)(struct llext_loader *ldr, size_t pos)
Function to seek to a new absolute location in the stream.
Definition loader.h:77
int(* read)(struct llext_loader *ldr, void *out, size_t len)
Function to read (copy) from the loader.
Definition loader.h:64
int(* prepare)(struct llext_loader *ldr)
Optional function to prepare the loader for loading extension.
Definition loader.h:50
void(* finalize)(struct llext_loader *ldr)
Optional function to clean after the extension has been loaded or error occurred.
Definition loader.h:96
void *(* peek)(struct llext_loader *ldr, size_t pos)
Optional function to peek at an absolute location in the ELF.
Definition loader.h:89