Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Structure describing a linkable loadable extension. More...

#include <llext.h>

Data Fields

char name [16]
 Name of the llext.
 
void * mem [LLEXT_MEM_COUNT]
 Lookup table of memory regions.
 
bool mem_on_heap [LLEXT_MEM_COUNT]
 Is the memory for this region allocated on heap?
 
size_t mem_size [LLEXT_MEM_COUNT]
 Size of each stored region.
 
size_t alloc_size
 Total llext allocation size.
 
struct llext_symtable sym_tab
 Table of all global symbols in the extension; used internally as part of the linking process.
 
struct llext_symtable exp_tab
 Table of symbols exported by the llext via LL_EXTENSION_SYMBOL.
 
unsigned int use_count
 Extension use counter, prevents unloading while in use.
 

Detailed Description

Structure describing a linkable loadable extension.

This structure holds the data for a loaded extension. It is created by the llext_load function and destroyed by the llext_unload function.

Field Documentation

◆ alloc_size

size_t llext::alloc_size

Total llext allocation size.

◆ exp_tab

struct llext_symtable llext::exp_tab

Table of symbols exported by the llext via LL_EXTENSION_SYMBOL.

This can be used in the main Zephyr binary to find symbols in the extension.

◆ mem

void* llext::mem[LLEXT_MEM_COUNT]

Lookup table of memory regions.

◆ mem_on_heap

bool llext::mem_on_heap[LLEXT_MEM_COUNT]

Is the memory for this region allocated on heap?

◆ mem_size

size_t llext::mem_size[LLEXT_MEM_COUNT]

Size of each stored region.

◆ name

char llext::name[16]

Name of the llext.

◆ sym_tab

struct llext_symtable llext::sym_tab

Table of all global symbols in the extension; used internally as part of the linking process.

E.g. if the extension is built out of several files, if any symbols are referenced between files, this table will be used to link them.

◆ use_count

unsigned int llext::use_count

Extension use counter, prevents unloading while in use.


The documentation for this struct was generated from the following file: