10#ifndef INFUSE_SDK_INCLUDE_INFUSE_FS_LITTLEFS_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_FS_LITTLEFS_H_
15#include <zephyr/sys/slist.h>
39#define INFUSE_LITTLEFS_METADATA_TYPE 0x1F
119void infuse_littfs_format(
void);
124void infuse_littlefs_reset(
void);
300 uint32_t *crc32_ieee,
void *working_mem,
size_t working_mem_len);
int infuse_littlefs_init(void)
Initialise and mount the LittleFS filesystem.
int infuse_littlefs_folder_iter(enum infuse_littlefs_folder folder, infuse_littlefs_file_cb cb, void *user_data)
Iterate all files inside a folder.
int infuse_littlefs_file_size(enum infuse_littlefs_folder folder, uint32_t file)
File size.
int infuse_littlefs_file_open(enum infuse_littlefs_folder folder, uint32_t file)
Open a file on the filesystem.
bool(* infuse_littlefs_file_cb)(enum infuse_littlefs_folder folder, uint32_t file, void *user_data)
Callback run by infuse_littlefs_folder_iter.
Definition littlefs.h:166
int infuse_littlefs_file_close(void)
Close currently open file.
void infuse_littlefs_register_cb(struct infuse_littlefs_cb *cb)
Register to be notified of LittleFS filesystem events.
int infuse_littlefs_fs_info(struct infuse_littlefs_fs_info *info)
LittleFS filesystem info.
int infuse_littlefs_file_write(const void *data, size_t data_len)
Write data to file opened by infuse_littlefs_file_create.
infuse_littlefs_folder
Infuse-IoT defined filesystem folders.
Definition littlefs.h:28
int infuse_littlefs_file_create(enum infuse_littlefs_folder folder, uint32_t file, struct infuse_littlefs_metadata *metadata)
Create a new file in the filesystem.
int infuse_littlefs_file_crc32(enum infuse_littlefs_folder folder, uint32_t file, uint32_t max_len, uint32_t *crc32_ieee, void *working_mem, size_t working_mem_len)
Calculate the CRC32-IEEE over a file.
int infuse_littlefs_file_metadata(enum infuse_littlefs_folder folder, uint32_t file, struct infuse_littlefs_metadata *metadata)
Read file metadata.
int infuse_littlefs_file_delete(enum infuse_littlefs_folder folder, uint32_t file)
Delete a file on the filesystem.
int infuse_littlefs_file_read(void *data, size_t data_len)
Read data from file opened by infuse_littlefs_file_open.
int infuse_littlefs_file_seek(uint32_t offset)
Set current read offset of file opened by infuse_littlefs_file_open.
@ INFUSE_LFS_FOLDER_ALGORITHMS
Folder for dynamic algorithms.
Definition littlefs.h:32
@ INFUSE_LFS_FOLDER_GENERAL
Folder for singleton files that don't fit in other locations.
Definition littlefs.h:30
@ INFUSE_LFS_FOLDER_A_GNSS
Folder for GNSS assistance data.
Definition littlefs.h:34
@ INFUSE_LFS_FOLDER_COPY
Folder for files to copy to other devices.
Definition littlefs.h:36
Infuse LittleFS callback structure.
Definition littlefs.h:64
void(* file_deleted)(enum infuse_littlefs_folder folder, uint32_t file, void *user_data)
File deleted from the filesystem.
Definition littlefs.h:79
void * user_data
User provided context pointer.
Definition littlefs.h:82
void(* file_created)(enum infuse_littlefs_folder folder, uint32_t file, struct infuse_littlefs_metadata *meta, void *user_data)
File created in the filesystem.
Definition littlefs.h:72
sys_snode_t node
Definition littlefs.h:84
Runtime state of the filesystem.
Definition littlefs.h:52
uint32_t disk_version
On-disk filesystem version.
Definition littlefs.h:54
uint32_t block_count
Total number of blocks in the filesystem.
Definition littlefs.h:58
uint32_t blocks_used
Blocks currently in use by the filesystem.
Definition littlefs.h:60
uint32_t block_size
Size of filesystem blocks in bytes.
Definition littlefs.h:56