7#ifndef ZEPHYR_LLEXT_INTERNAL_H
8#define ZEPHYR_LLEXT_INTERNAL_H
24struct llext_elf_sect_map {
29const void *llext_loaded_sect_ptr(
struct llext_loader *ldr,
struct llext *ext,
unsigned int sh_ndx);
32static inline const char *llext_string(
const struct llext_loader *ldr,
const struct llext *ext,
35 return (
const char *)ext->
mem[mem_idx] + idx;
46static inline const char *llext_section_name(
const struct llext_loader *ldr,
47 const struct llext *ext,
53static inline const char *llext_symbol_name(
const struct llext_loader *ldr,
54 const struct llext *ext,
58 return llext_section_name(ldr, ext, ext->sect_hdrs + sym->
st_shndx);
llext_mem
List of memory regions stored or referenced in the LLEXT subsystem.
Definition llext.h:44
@ LLEXT_MEM_SHSTRTAB
Section name strings.
Definition llext.h:52
@ LLEXT_MEM_STRTAB
Symbol name strings.
Definition llext.h:51
#define ELF_ST_TYPE
Machine sized macro alias for obtaining a symbol type.
Definition elf.h:485
#define STT_SECTION
Section.
Definition elf.h:269
Support for linkable loadable extensions.
__UINTPTR_TYPE__ uintptr_t
Definition stdint.h:105
Relocation entry for 64-bit ELFs with addend.
Definition elf.h:376
elf64_addr r_offset
Offset in the section to perform a relocation.
Definition elf.h:378
Section Header(64-bit)
Definition elf.h:177
elf64_word sh_name
Section header name index in section header string table.
Definition elf.h:179
Symbol table entry(64-bit)
Definition elf.h:243
elf64_half st_shndx
Symbols related section given by section header index.
Definition elf.h:251
unsigned char st_info
Symbol binding and type information.
Definition elf.h:247
elf64_word st_name
Name of the symbol as an index into the symbol string table.
Definition elf.h:245
Linkable loadable extension loader context.
Definition loader.h:80
Structure describing a linkable loadable extension.
Definition llext.h:80
void * mem[LLEXT_MEM_COUNT]
Lookup table of memory regions.
Definition llext.h:95