|
Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
Infuse-IoT LittleFS wrapper. More...
Data Structures | |
| struct | infuse_littlefs_metadata |
| Metadata associated with all files. More... | |
| struct | infuse_littlefs_fs_info |
| Runtime state of the filesystem. More... | |
| struct | infuse_littlefs_cb |
| Infuse LittleFS callback structure. More... | |
Macros | |
| #define | INFUSE_LITTLEFS_METADATA_TYPE 0x1F |
| LittleFS custom attribute type used to store infuse_littlefs_metadata. | |
Typedefs | |
| typedef bool(* | infuse_littlefs_file_cb) (enum infuse_littlefs_folder folder, uint32_t file, void *user_data) |
| Callback run by infuse_littlefs_folder_iter. | |
Enumerations | |
| enum | infuse_littlefs_folder { INFUSE_LFS_FOLDER_GENERAL = 0 , INFUSE_LFS_FOLDER_ALGORITHMS = 1 , INFUSE_LFS_FOLDER_A_GNSS = 2 , INFUSE_LFS_FOLDER_COPY = 3 } |
| Infuse-IoT defined filesystem folders. More... | |
Functions | |
| int | infuse_littlefs_init (void) |
| Initialise and mount the LittleFS filesystem. | |
| int | infuse_littlefs_fs_info (struct infuse_littlefs_fs_info *info) |
| LittleFS filesystem info. | |
| void | infuse_littlefs_register_cb (struct infuse_littlefs_cb *cb) |
| Register to be notified of LittleFS filesystem events. | |
| bool | infuse_littlefs_unregister_cb (struct infuse_littlefs_cb *cb) |
| Unregister a previously registered LittleFS callback. | |
| int | infuse_littlefs_file_size (enum infuse_littlefs_folder folder, uint32_t file) |
| File size. | |
| int | infuse_littlefs_file_metadata (enum infuse_littlefs_folder folder, uint32_t file, struct infuse_littlefs_metadata *metadata) |
| Read file metadata. | |
| 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_open (enum infuse_littlefs_folder folder, uint32_t file) |
| Open 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. | |
| 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_write (const void *data, size_t data_len) |
| Write data to file opened by infuse_littlefs_file_create. | |
| int | infuse_littlefs_file_close (void) |
| Close currently open file. | |
| int | infuse_littlefs_file_delete (enum infuse_littlefs_folder folder, uint32_t file) |
| Delete a file on 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. | |
Infuse-IoT LittleFS wrapper.
| #define INFUSE_LITTLEFS_METADATA_TYPE 0x1F |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
LittleFS custom attribute type used to store infuse_littlefs_metadata.
| typedef bool(* infuse_littlefs_file_cb) (enum infuse_littlefs_folder folder, uint32_t file, void *user_data) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Callback run by infuse_littlefs_folder_iter.
| folder | Folder that file exists in |
| file | File that exists in the folder |
| true | to continue iterating |
| false | to terminate iteration |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Infuse-IoT defined filesystem folders.
| int infuse_littlefs_file_close | ( | void | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Close currently open file.
| 0 | On success |
| -EINVAL | If file has not been opened with infuse_littlefs_file_create or infuse_littlefs_file_open |
| -errno | Other error code on failure |
| 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 ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Calculate the CRC32-IEEE over a file.
CONFIG_CRC | folder | Folder containing the file |
| file | Filename to compute CRC of |
| max_len | Maximum length to compute CRC over |
| crc32_ieee | Output storage for CRC32-IEEE result |
| working_mem | Working memory buffer to read data into |
| working_mem_len | Length of working memory buffer |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -ENOENT | If file does not exist |
| -EBUSY | If previously open file is not yet closed |
| -errno | Other error code on failure |
| int infuse_littlefs_file_create | ( | enum infuse_littlefs_folder | folder, |
| uint32_t | file, | ||
| struct infuse_littlefs_metadata * | metadata ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Create a new file in the filesystem.
Parameter metadata MUST remain accessible until the final call to infuse_littlefs_file_close. As the attribute structure is not committed until the file is closed, the values can be updated at runtime at any point until the infuse_littlefs_file_close call.
| folder | Folder to create file in |
| file | Filename |
| metadata | Infuse metadata object to associate with file |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -EEXIST | If file already exists |
| -EBUSY | If previously open file is not yet closed |
| -errno | Other error code on failure |
| int infuse_littlefs_file_delete | ( | enum infuse_littlefs_folder | folder, |
| uint32_t | file ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Delete a file on the filesystem.
| folder | Folder to create file in |
| file | Filename inside the folder |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -ENOENT | If file does not exist |
| -EBUSY | If previously open file is not yet closed |
| -errno | Other error code on failure |
| int infuse_littlefs_file_metadata | ( | enum infuse_littlefs_folder | folder, |
| uint32_t | file, | ||
| struct infuse_littlefs_metadata * | metadata ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Read file metadata.
| folder | Folder containing the file |
| file | Filename inside the folder |
| metadata | Output storage for metadata |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -EBUSY | other file open for reading or writing |
| -ENOENT | file does not exist |
| -errno | other negative error code on failure |
| int infuse_littlefs_file_open | ( | enum infuse_littlefs_folder | folder, |
| uint32_t | file ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Open a file on the filesystem.
| folder | Folder to create file in |
| file | Filename inside the folder |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -ENOENT | If file does not exist |
| -EBUSY | If previously open file is not yet closed |
| -errno | Other error code on failure |
| int infuse_littlefs_file_read | ( | void * | data, |
| size_t | data_len ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Read data from file opened by infuse_littlefs_file_open.
| data | Buffer for read data |
| data_len | Length of data in bytes |
| >0 | Number of bytes read |
| 0 | No more data remaining in file |
| -EINVAL | If file has not been opened with infuse_littlefs_file_open |
| -errno | Other error code on failure |
| int infuse_littlefs_file_seek | ( | uint32_t | offset | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Set current read offset of file opened by infuse_littlefs_file_open.
| offset | New read offset in bytes |
| >= | 0 Updated file offset in bytes |
| -EINVAL | If file has not been opened with infuse_littlefs_file_open |
| -errno | Other error code on failure |
| int infuse_littlefs_file_size | ( | enum infuse_littlefs_folder | folder, |
| uint32_t | file ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
File size.
| folder | Folder containing the file |
| file | Filename inside the folder |
| >=0 | size of the file in bytes |
| -EAGAIN | filesystem not mounted |
| -EBUSY | other file open for reading or writing |
| -ENOENT | file does not exist |
| -errno | other negative error code on failure |
| int infuse_littlefs_file_write | ( | const void * | data, |
| size_t | data_len ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Write data to file opened by infuse_littlefs_file_create.
| data | Data to write |
| data_len | Length of data in bytes |
| >0 | Number of bytes written |
| -EINVAL | If file has not been opened with infuse_littlefs_file_create |
| -errno | Other error code on failure |
| int infuse_littlefs_folder_iter | ( | enum infuse_littlefs_folder | folder, |
| infuse_littlefs_file_cb | cb, | ||
| void * | user_data ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Iterate all files inside a folder.
| folder | Folder to iterate over |
| cb | Callback to run on each file found |
| user_data | Arbitrary pointer to provide to cb |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -EBUSY | other file open for reading or writing |
| -errno | other negative error code on failure |
| int infuse_littlefs_fs_info | ( | struct infuse_littlefs_fs_info * | info | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
LittleFS filesystem info.
| info | Output storage for filesystem information |
| 0 | on success |
| -EAGAIN | filesystem not mounted |
| -EBUSY | file open for reading or writing |
| -errno | other negative error code on failure |
| int infuse_littlefs_init | ( | void | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Initialise and mount the LittleFS filesystem.
| 0 | on success |
| -errno | negative error code on failure |
| void infuse_littlefs_register_cb | ( | struct infuse_littlefs_cb * | cb | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Register to be notified of LittleFS filesystem events.
| cb | Callback struct to register |
| bool infuse_littlefs_unregister_cb | ( | struct infuse_littlefs_cb * | cb | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/fs/littlefs.h>
Unregister a previously registered LittleFS callback.
| cb | Callback struct to unregister |
| true | Callback was registered and has been removed |
| false | Callback was not registered |