Zephyr API
4.4.99
A Scalable Open Source RTOS
Toggle main menu visibility
Loading...
Searching...
No Matches
buf_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_INCLUDE_LLEXT_BUF_LOADER_H_
8
#define ZEPHYR_INCLUDE_LLEXT_BUF_LOADER_H_
9
10
#include <
zephyr/llext/loader.h
>
11
12
#ifdef __cplusplus
13
extern
"C"
{
14
#endif
15
23
27
struct
llext_buf_loader
{
29
struct
llext_loader
loader
;
30
32
const
uint8_t
*buf;
33
size_t
len;
34
size_t
pos;
36
};
37
39
int
llext_buf_read(
struct
llext_loader
*ldr,
void
*buf,
size_t
len);
40
int
llext_buf_seek(
struct
llext_loader
*ldr,
size_t
pos);
41
void
*llext_buf_peek(
struct
llext_loader
*ldr,
size_t
pos);
42
43
#define Z_LLEXT_BUF_LOADER(_buf, _buf_len, _storage) \
44
{ \
45
.loader = \
46
{ \
47
.prepare = NULL, \
48
.read = llext_buf_read, \
49
.seek = llext_buf_seek, \
50
.peek = llext_buf_peek, \
51
.finalize = NULL, \
52
.storage = _storage, \
53
}, \
54
.buf = (_buf), \
55
.len = (_buf_len), \
56
.pos = 0, \
57
}
59
76
#define LLEXT_BUF_LOADER(_buf, _buf_len) \
77
Z_LLEXT_BUF_LOADER(_buf, _buf_len, \
78
IS_ENABLED(CONFIG_LLEXT_STORAGE_WRITABLE) ? \
79
LLEXT_STORAGE_WRITABLE : LLEXT_STORAGE_PERSISTENT)
80
91
#define LLEXT_TEMPORARY_BUF_LOADER(_buf, _buf_len) \
92
Z_LLEXT_BUF_LOADER(_buf, _buf_len, LLEXT_STORAGE_TEMPORARY)
93
104
#define LLEXT_PERSISTENT_BUF_LOADER(_buf, _buf_len) \
105
Z_LLEXT_BUF_LOADER(_buf, _buf_len, LLEXT_STORAGE_PERSISTENT)
106
117
#define LLEXT_WRITABLE_BUF_LOADER(_buf, _buf_len) \
118
Z_LLEXT_BUF_LOADER(_buf, _buf_len, LLEXT_STORAGE_WRITABLE)
119
123
124
#ifdef __cplusplus
125
}
126
#endif
127
128
#endif
/* ZEPHYR_INCLUDE_LLEXT_BUF_LOADER_H_ */
loader.h
LLEXT ELF loader context types.
uint8_t
__UINT8_TYPE__ uint8_t
Definition
stdint.h:88
llext_buf_loader
Implementation of llext_loader that reads from a memory buffer.
Definition
buf_loader.h:27
llext_buf_loader::loader
struct llext_loader loader
Extension loader.
Definition
buf_loader.h:29
llext_loader
Linkable loadable extension loader context.
Definition
loader.h:80
zephyr
llext
buf_loader.h
Generated on
for Zephyr API by
1.17.0