Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
loader.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Intel Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_LLEXT_LOADER_H
8#define ZEPHYR_LLEXT_LOADER_H
9
10#include <zephyr/llext/elf.h>
11#include <stddef.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
32
37
41
43};
44
62 int (*read)(struct llext_loader *ldr, void *out, size_t len);
63
76 int (*seek)(struct llext_loader *s, size_t pos);
77
79 elf_ehdr_t hdr;
81 uint32_t *sect_map;
82 uint32_t sect_cnt;
83 uint32_t sym_cnt;
85};
86
91#ifdef __cplusplus
92}
93#endif
94
95#endif /* ZEPHYR_LLEXT_LOADER_H */
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa s
Definition: asm-macro-32-bit-gnu.h:17
llext_section
Enum of sections for lookup tables.
Definition: loader.h:27
@ LLEXT_SECT_STRTAB
Definition: loader.h:39
@ LLEXT_SECT_REL_TEXT
Definition: loader.h:33
@ LLEXT_SECT_RODATA
Definition: loader.h:30
@ LLEXT_SECT_REL_DATA
Definition: loader.h:34
@ LLEXT_SECT_COUNT
Definition: loader.h:42
@ LLEXT_SECT_REL_BSS
Definition: loader.h:36
@ LLEXT_SECT_DATA
Definition: loader.h:29
@ LLEXT_SECT_TEXT
Definition: loader.h:28
@ LLEXT_SECT_REL_RODATA
Definition: loader.h:35
@ LLEXT_SECT_SHSTRTAB
Definition: loader.h:40
@ LLEXT_SECT_BSS
Definition: loader.h:31
@ LLEXT_SECT_SYMTAB
Definition: loader.h:38
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
ELF Header(64-bit)
Definition: elf.h:103
Section Header(64-bit)
Definition: elf.h:175
Linkable loadable extension loader context.
Definition: loader.h:48
int(* seek)(struct llext_loader *s, size_t pos)
Seek to a new absolute location.
Definition: loader.h:76
int(* read)(struct llext_loader *ldr, void *out, size_t len)
Read (copy) from the loader.
Definition: loader.h:62