31 lines
1009 B
ReStructuredText
31 lines
1009 B
ReStructuredText
.. _llext:
|
|
|
|
Linkable Loadable Extensions (LLEXT)
|
|
####################################
|
|
|
|
The llext subsystem provides a toolbox for extending the functionality of an
|
|
application at runtime with linkable loadable code.
|
|
|
|
Extensions can be loaded from precompiled ELF formatted data which is
|
|
verified, loaded, and linked with other extensions. Extensions can be
|
|
manipulated and introspected to some degree, as well as unloaded when no longer
|
|
needed.
|
|
|
|
An extension may be loaded using any implementation of a :c:struct:`llext_loader`
|
|
which has a set of function pointers that provide the necessary functionality
|
|
to read the ELF data. A loader also provides some minimal context (memory)
|
|
needed by the :c:func:`llext_load` function. An implementation over a buffer
|
|
containing an ELF in addressable memory in memory is available as
|
|
:c:struct:`llext_buf_loader`.
|
|
|
|
API Reference
|
|
*************
|
|
|
|
.. doxygengroup:: llext
|
|
|
|
.. doxygengroup:: llext_symbols
|
|
|
|
.. doxygengroup:: llext_loader
|
|
|
|
.. doxygengroup:: llext_buf_loader
|