Go to the documentation of this file.
25 #define LFS_VERSION 0x00020004
26 #define LFS_VERSION_MAJOR (0xffff & (LFS_VERSION >> 16))
27 #define LFS_VERSION_MINOR (0xffff & (LFS_VERSION >> 0))
32 #define LFS_DISK_VERSION 0x00020000
33 #define LFS_DISK_VERSION_MAJOR (0xffff & (LFS_DISK_VERSION >> 16))
34 #define LFS_DISK_VERSION_MINOR (0xffff & (LFS_DISK_VERSION >> 0))
52 #define LFS_NAME_MAX 255
61 #define LFS_FILE_MAX 2147483647
67 #define LFS_ATTR_MAX 1022
183 #ifdef LFS_THREADSAFE
501 uint8_t type,
const void *buffer,
lfs_size_t size);
523 const char *path,
int flags);
536 const char *path,
int flags,
lfs_open_flags
Definition: lfs.h:124
uint8_t type
Definition: lfs.h:394
@ LFS_F_ERRED
Definition: lfs.h:143
@ LFS_TYPE_TAIL
Definition: lfs.h:102
lfs_size_t lookahead_size
Definition: lfs.h:229
const struct lfs_config cfg
Definition: main.c:79
lfs_whence_flags
Definition: lfs.h:149
uint8_t type
Definition: lfs.h:343
@ LFS_F_INLINE
Definition: lfs.h:145
struct lfs_file::lfs_ctz ctz
lfs_size_t file_max
Definition: lfs.h:376
struct lfs_mlist * next
Definition: lfs.h:392
lfs_block_t pair[2]
Definition: lfs.h:382
int(* erase)(const struct lfs_config *c, lfs_block_t block)
Definition: lfs.h:177
lfs_block_t pair[2]
Definition: lfs.h:329
lfs_size_t size
Definition: lfs.h:293
uint32_t rev
Definition: lfs.h:330
@ LFS_TYPE_DELETE
Definition: lfs.h:108
@ LFS_TYPE_CREATE
Definition: lfs.h:107
int lfs_dir_seek(lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off)
Definition: lfs.c:5328
lfs_size_t size
Definition: lfs.h:359
lfs_block_t ack
Definition: lfs.h:407
uint8_t * buffer
Definition: lfs.h:325
lfs_size_t block_count
Definition: lfs.h:374
@ LFS_TYPE_MOVESTATE
Definition: lfs.h:115
int lfs_dir_read(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info)
Definition: lfs.c:5313
struct lfs_mdir lfs_mdir_t
int lfs_unmount(lfs_t *lfs)
Definition: lfs.c:4975
lfs_mdir_t m
Definition: lfs.h:355
int32_t lfs_soff_t
Definition: lfs.h:44
@ LFS_ERR_FBIG
Definition: lfs.h:82
int lfs_file_truncate(lfs_t *lfs, lfs_file_t *file, lfs_off_t size)
Definition: lfs.c:5207
struct lfs_attr * attrs
Definition: lfs.h:313
@ LFS_TYPE_HARDTAIL
Definition: lfs.h:114
int lfs_mkdir(lfs_t *lfs, const char *path)
Directory operations ///.
Definition: lfs.c:5269
bool erased
Definition: lfs.h:334
int lfs_format(lfs_t *lfs, const struct lfs_config *config)
Filesystem functions ///.
Definition: lfs.c:4916
lfs_ssize_t lfs_file_write(lfs_t *lfs, lfs_file_t *file, const void *buffer, lfs_size_t size)
Definition: lfs.c:5171
@ LFS_ERR_NOSPC
Definition: lfs.h:84
lfs_soff_t lfs_file_tell(lfs_t *lfs, lfs_file_t *file)
Definition: lfs.c:5224
@ LFS_TYPE_SUPERBLOCK
Definition: lfs.h:109
void * prog_buffer
Definition: lfs.h:237
uint32_t lfs_off_t
Definition: lfs.h:41
lfs_cache_t cache
Definition: lfs.h:366
lfs_ssize_t lfs_fs_size(lfs_t *lfs)
Filesystem-level filesystem operations.
Definition: lfs.c:5371
@ LFS_ERR_NOTDIR
Definition: lfs.h:78
@ LFS_TYPE_CTZSTRUCT
Definition: lfs.h:111
void * lookahead_buffer
Definition: lfs.h:242
@ LFS_ERR_NOATTR
Definition: lfs.h:86
struct lfs::lfs_free free
void * read_buffer
Definition: lfs.h:233
lfs_size_t file_max
Definition: lfs.h:253
int(* prog)(const struct lfs_config *c, lfs_block_t block, lfs_off_t off, const void *buffer, lfs_size_t size)
Definition: lfs.h:170
lfs_block_t root[2]
Definition: lfs.h:390
@ LFS_ERR_NOTEMPTY
Definition: lfs.h:80
@ LFS_F_DIRTY
Definition: lfs.h:138
void * context
Definition: lfs.h:160
lfs_size_t attr_max
Definition: lfs.h:258
@ LFS_ERR_CORRUPT
Definition: lfs.h:75
lfs_size_t name_max
Definition: lfs.h:248
@ LFS_SEEK_SET
Definition: lfs.h:150
lfs_mdir_t m
Definition: lfs.h:395
lfs_size_t name_max
Definition: lfs.h:412
@ LFS_O_APPEND
Definition: lfs.h:133
@ LFS_FROM_MOVE
Definition: lfs.h:119
lfs_size_t attr_count
Definition: lfs.h:316
lfs_size_t name_max
Definition: lfs.h:375
lfs_block_t head
Definition: lfs.h:358
@ LFS_TYPE_INLINESTRUCT
Definition: lfs.h:112
const struct lfs_file_config * cfg
Definition: lfs.h:368
@ LFS_ERR_INVAL
Definition: lfs.h:83
uint32_t seed
Definition: lfs.h:397
lfs_error
Definition: lfs.h:72
struct lfs::lfs_mlist * mlist
@ LFS_SEEK_CUR
Definition: lfs.h:151
lfs_ssize_t lfs_file_read(lfs_t *lfs, lfs_file_t *file, void *buffer, lfs_size_t size)
Definition: lfs.c:5153
uint32_t lfs_size_t
Definitions ///.
Definition: lfs.h:40
uint32_t flags
Definition: lfs.h:362
struct lfs_superblock lfs_superblock_t
@ LFS_TYPE_REG
Definition: lfs.h:93
char name[LFS_NAME_MAX+1]
Definition: lfs.h:279
uint32_t etag
Definition: lfs.h:332
int lfs_stat(lfs_t *lfs, const char *path, struct lfs_info *info)
Definition: lfs.c:5021
lfs_soff_t lfs_file_size(lfs_t *lfs, lfs_file_t *file)
Definition: lfs.c:5253
lfs_size_t read_size
Definition: lfs.h:195
lfs_ssize_t lfs_getattr(lfs_t *lfs, const char *path, uint8_t type, void *buffer, lfs_size_t size)
Definition: lfs.c:5035
@ LFS_O_CREAT
Definition: lfs.h:130
@ LFS_TYPE_DIRSTRUCT
Definition: lfs.h:110
lfs_soff_t lfs_file_seek(lfs_t *lfs, lfs_file_t *file, lfs_soff_t off, int whence)
Definition: lfs.c:5189
bool split
Definition: lfs.h:335
@ LFS_ERR_ISDIR
Definition: lfs.h:79
@ LFS_O_EXCL
Definition: lfs.h:131
struct lfs_cache lfs_cache_t
internal littlefs data structures ///
@ LFS_TYPE_SPLICE
Definition: lfs.h:97
@ LFS_SEEK_END
Definition: lfs.h:152
void * buffer
Definition: lfs.h:290
int(* sync)(const struct lfs_config *c)
Definition: lfs.h:181
int32_t lfs_ssize_t
Definition: lfs.h:43
@ LFS_O_TRUNC
Definition: lfs.h:132
@ LFS_TYPE_SOFTTAIL
Definition: lfs.h:113
lfs_size_t attr_max
Definition: lfs.h:414
internal littlefs data structures ///
Definition: lfs.h:321
lfs_size_t block_count
Definition: lfs.h:208
int lfs_dir_rewind(lfs_t *lfs, lfs_dir_t *dir)
Definition: lfs.c:5357
lfs_mdir_t m
Definition: lfs.h:344
int lfs_rename(lfs_t *lfs, const char *oldpath, const char *newpath)
Definition: lfs.c:5006
lfs_block_t block
Definition: lfs.h:364
@ LFS_ERR_EXIST
Definition: lfs.h:77
uint8_t type
Definition: lfs.h:354
@ LFS_TYPE_GLOBALS
Definition: lfs.h:103
struct lfs_file * next
Definition: lfs.h:352
@ LFS_TYPE_NAME
Definition: lfs.h:98
struct lfs_dir * next
Definition: lfs.h:341
lfs_block_t block
Definition: lfs.h:322
lfs_type
Definition: lfs.h:91
@ LFS_TYPE_CRC
Definition: lfs.h:104
lfs_off_t off
Definition: lfs.h:323
int lfs_file_sync(lfs_t *lfs, lfs_file_t *file)
Definition: lfs.c:5137
lfs_off_t off
Definition: lfs.h:365
uint32_t version
Definition: lfs.h:372
int lfs_fs_traverse(lfs_t *lfs, int(*cb)(void *, lfs_block_t), void *data)
Definition: lfs.c:5385
void * buffer
Definition: lfs.h:300
lfs_off_t pos
Definition: lfs.h:363
lfs_soff_t lfs_dir_tell(lfs_t *lfs, lfs_dir_t *dir)
Definition: lfs.c:5343
@ LFS_O_RDONLY
Definition: lfs.h:126
@ LFS_ERR_OK
Definition: lfs.h:73
struct lfs_file lfs_file_t
uint32_t lfs_block_t
Definition: lfs.h:46
lfs_block_t head[2]
Definition: lfs.h:347
uint16_t count
Definition: lfs.h:333
uint8_t type
Definition: lfs.h:287
lfs_size_t cache_size
Definition: lfs.h:223
@ LFS_FROM_NOOP
Definition: lfs.h:118
int lfs_dir_open(lfs_t *lfs, lfs_dir_t *dir, const char *path)
Definition: lfs.c:5284
#define LFS_NAME_MAX
Definition: lfs.h:52
lfs_cache_t rcache
Definition: lfs.h:387
@ LFS_TYPE_FROM
Definition: lfs.h:101
int lfs_remove(lfs_t *lfs, const char *path)
General operations ///.
Definition: lfs.c:4990
lfs_block_t size
Definition: lfs.h:405
lfs_size_t block_size
Definition: lfs.h:373
lfs_size_t attr_max
Definition: lfs.h:377
@ LFS_TYPE_STRUCT
Definition: lfs.h:99
@ LFS_F_WRITING
Definition: lfs.h:139
lfs_block_t off
Definition: lfs.h:404
int lfs_removeattr(lfs_t *lfs, const char *path, uint8_t type)
Definition: lfs.c:5070
struct lfs_gstate lfs_gstate_t
uint16_t id
Definition: lfs.h:342
@ LFS_ERR_IO
Definition: lfs.h:74
@ LFS_ERR_BADF
Definition: lfs.h:81
lfs_gstate_t gstate
Definition: lfs.h:399
@ LFS_O_RDWR
Definition: lfs.h:129
lfs_size_t size
Definition: lfs.h:324
int lfs_dir_close(lfs_t *lfs, lfs_dir_t *dir)
Definition: lfs.c:5299
@ LFS_TYPE_USERATTR
Definition: lfs.h:100
const struct lfs_config * cfg
Definition: lfs.h:411
lfs_off_t pos
Definition: lfs.h:346
lfs_cache_t pcache
Definition: lfs.h:388
lfs_size_t file_max
Definition: lfs.h:413
uint16_t id
Definition: lfs.h:393
int(* read)(const struct lfs_config *c, lfs_block_t block, lfs_off_t off, void *buffer, lfs_size_t size)
Definition: lfs.h:164
lfs_block_t tail[2]
Definition: lfs.h:336
int lfs_file_close(lfs_t *lfs, lfs_file_t *file)
Definition: lfs.c:5121
lfs_size_t prog_size
Definition: lfs.h:199
@ LFS_FROM_USERATTRS
Definition: lfs.h:120
int32_t block_cycles
Definition: lfs.h:216
@ LFS_O_WRONLY
Definition: lfs.h:128
int lfs_file_open(lfs_t *lfs, lfs_file_t *file, const char *path, int flags)
File operations ///.
Definition: lfs.c:5085
uint16_t id
Definition: lfs.h:353
uint8_t type
Definition: lfs.h:270
uint32_t tag
Definition: lfs.h:381
lfs_gstate_t gdelta
Definition: lfs.h:401
@ LFS_ERR_NOMEM
Definition: lfs.h:85
@ LFS_ERR_NOENT
Definition: lfs.h:76
uint32_t * buffer
Definition: lfs.h:408
int lfs_mount(lfs_t *lfs, const struct lfs_config *config)
Definition: lfs.c:4946
int lfs_file_opencfg(lfs_t *lfs, lfs_file_t *file, const char *path, int flags, const struct lfs_file_config *config)
Definition: lfs.c:5101
@ LFS_TYPE_DIR
Definition: lfs.h:94
lfs_size_t block_size
Definition: lfs.h:205
lfs_off_t off
Definition: lfs.h:331
@ LFS_F_READING
Definition: lfs.h:141
@ LFS_ERR_NAMETOOLONG
Definition: lfs.h:87
int lfs_file_rewind(lfs_t *lfs, lfs_file_t *file)
Definition: lfs.c:5239
int lfs_setattr(lfs_t *lfs, const char *path, uint8_t type, const void *buffer, lfs_size_t size)
Definition: lfs.c:5052
lfs_block_t i
Definition: lfs.h:406
lfs_gstate_t gdisk
Definition: lfs.h:400
lfs_size_t size
Definition: lfs.h:273
lfs_size_t metadata_max
Definition: lfs.h:264