Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
fs_loader.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 BayLibre SAS
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_LLEXT_FS_LOADER_H_
8#define ZEPHYR_INCLUDE_LLEXT_FS_LOADER_H_
9
10#include <zephyr/llext/loader.h>
11#include <zephyr/fs/fs.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
25
32
34 bool is_open;
35 const char *name;
36 struct fs_file_t file;
38};
39
41int llext_fs_prepare(struct llext_loader *ldr);
42int llext_fs_read(struct llext_loader *ldr, void *buf, size_t len);
43int llext_fs_seek(struct llext_loader *ldr, size_t pos);
44void llext_fs_finalize(struct llext_loader *ldr);
46
52#define LLEXT_FS_LOADER(_filename) \
53 { \
54 .loader = \
55 { \
56 .prepare = llext_fs_prepare, \
57 .read = llext_fs_read, \
58 .seek = llext_fs_seek, \
59 .peek = NULL, \
60 .finalize = llext_fs_finalize, \
61 .storage = LLEXT_STORAGE_TEMPORARY, \
62 }, \
63 .is_open = false, \
64 .name = (_filename), \
65 }
66
70
71#ifdef __cplusplus
72}
73#endif
74
75#endif /* ZEPHYR_INCLUDE_LLEXT_FS_LOADER_H_ */
Public API for the file system subsystem.
LLEXT ELF loader context types.
File object representing an open file.
Definition fs_interface.h:95
Implementation of llext_loader that reads from a filesystem.
Definition fs_loader.h:29
struct llext_loader loader
Extension loader.
Definition fs_loader.h:31
Linkable loadable extension loader context.
Definition loader.h:80