CTS-SAT-1-OBC-Firmware
Loading...
Searching...
No Matches
lfs.c File Reference
#include "littlefs/lfs.h"
#include "littlefs/lfs_util.h"
Include dependency graph for lfs.c:

Classes

struct  lfs_mattr
 
struct  lfs_diskoff
 
struct  lfs_fcrc
 
struct  lfs_dir_traverse
 
struct  lfs_dir_find_match
 
struct  lfs_commit
 
struct  lfs_dir_commit_commit
 
struct  lfs_tortoise_t
 
struct  lfs_fs_parent_match
 

Macros

#define LFS_BLOCK_NULL   ((lfs_block_t)-1)
 
#define LFS_BLOCK_INLINE   ((lfs_block_t)-2)
 
#define LFS_MKTAG(type, id, size)
 
#define LFS_MKTAG_IF(cond, type, id, size)
 
#define LFS_MKTAG_IF_ELSE(cond, type1, id1, size1, type2, id2, size2)
 
#define LFS_MKATTRS(...)
 
#define LFS_DIR_TRAVERSE_DEPTH   3
 
#define LFS_LOCK(cfg)
 Public API wrappers ///.
 
#define LFS_UNLOCK(cfg)
 

Typedefs

typedef uint32_t lfs_tag_t
 
typedef int32_t lfs_stag_t
 

Enumerations

enum  { LFS_OK_RELOCATED = 1 , LFS_OK_DROPPED = 2 , LFS_OK_ORPHANED = 3 }
 
enum  { LFS_CMP_EQ = 0 , LFS_CMP_LT = 1 , LFS_CMP_GT = 2 }
 

Functions

static void lfs_cache_drop (lfs_t *lfs, lfs_cache_t *rcache)
 Caching block device operations ///.
 
static void lfs_cache_zero (lfs_t *lfs, lfs_cache_t *pcache)
 
static int lfs_bd_read (lfs_t *lfs, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, lfs_block_t block, lfs_off_t off, void *buffer, lfs_size_t size)
 
static int lfs_bd_cmp (lfs_t *lfs, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, lfs_block_t block, lfs_off_t off, const void *buffer, lfs_size_t size)
 
static int lfs_bd_crc (lfs_t *lfs, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, lfs_block_t block, lfs_off_t off, lfs_size_t size, uint32_t *crc)
 
static int lfs_bd_flush (lfs_t *lfs, lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate)
 
static int lfs_bd_sync (lfs_t *lfs, lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate)
 
static int lfs_bd_prog (lfs_t *lfs, lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate, lfs_block_t block, lfs_off_t off, const void *buffer, lfs_size_t size)
 
static int lfs_bd_erase (lfs_t *lfs, lfs_block_t block)
 
static lfs_size_t lfs_path_namelen (const char *path)
 Small type-level utilities ///.
 
static bool lfs_path_islast (const char *path)
 
static bool lfs_path_isdir (const char *path)
 
static void lfs_pair_swap (lfs_block_t pair[2])
 
static bool lfs_pair_isnull (const lfs_block_t pair[2])
 
static int lfs_pair_cmp (const lfs_block_t paira[2], const lfs_block_t pairb[2])
 
static bool lfs_pair_issync (const lfs_block_t paira[2], const lfs_block_t pairb[2])
 
static void lfs_pair_fromle32 (lfs_block_t pair[2])
 
static void lfs_pair_tole32 (lfs_block_t pair[2])
 
static bool lfs_tag_isvalid (lfs_tag_t tag)
 
static bool lfs_tag_isdelete (lfs_tag_t tag)
 
static uint16_t lfs_tag_type1 (lfs_tag_t tag)
 
static uint16_t lfs_tag_type2 (lfs_tag_t tag)
 
static uint16_t lfs_tag_type3 (lfs_tag_t tag)
 
static uint8_t lfs_tag_chunk (lfs_tag_t tag)
 
static int8_t lfs_tag_splice (lfs_tag_t tag)
 
static uint16_t lfs_tag_id (lfs_tag_t tag)
 
static lfs_size_t lfs_tag_size (lfs_tag_t tag)
 
static lfs_size_t lfs_tag_dsize (lfs_tag_t tag)
 
static void lfs_gstate_xor (lfs_gstate_t *a, const lfs_gstate_t *b)
 
static bool lfs_gstate_iszero (const lfs_gstate_t *a)
 
static bool lfs_gstate_hasorphans (const lfs_gstate_t *a)
 
static uint8_t lfs_gstate_getorphans (const lfs_gstate_t *a)
 
static bool lfs_gstate_hasmove (const lfs_gstate_t *a)
 
static bool lfs_gstate_needssuperblock (const lfs_gstate_t *a)
 
static bool lfs_gstate_hasmovehere (const lfs_gstate_t *a, const lfs_block_t *pair)
 
static void lfs_gstate_fromle32 (lfs_gstate_t *a)
 
static void lfs_gstate_tole32 (lfs_gstate_t *a)
 
static void lfs_fcrc_fromle32 (struct lfs_fcrc *fcrc)
 
static void lfs_fcrc_tole32 (struct lfs_fcrc *fcrc)
 
static void lfs_ctz_fromle32 (struct lfs_ctz *ctz)
 
static void lfs_ctz_tole32 (struct lfs_ctz *ctz)
 
static void lfs_superblock_fromle32 (lfs_superblock_t *superblock)
 
static void lfs_superblock_tole32 (lfs_superblock_t *superblock)
 
static bool lfs_mlist_isopen (struct lfs_mlist *head, struct lfs_mlist *node)
 
static void lfs_mlist_remove (lfs_t *lfs, struct lfs_mlist *mlist)
 
static void lfs_mlist_append (lfs_t *lfs, struct lfs_mlist *mlist)
 
static uint32_t lfs_fs_disk_version (lfs_t *lfs)
 
static uint16_t lfs_fs_disk_version_major (lfs_t *lfs)
 
static uint16_t lfs_fs_disk_version_minor (lfs_t *lfs)
 
static int lfs_dir_commit (lfs_t *lfs, lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount)
 Internal operations predeclared here ///.
 
static int lfs_dir_compact (lfs_t *lfs, lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount, lfs_mdir_t *source, uint16_t begin, uint16_t end)
 
static lfs_ssize_t lfs_file_flushedwrite (lfs_t *lfs, lfs_file_t *file, const void *buffer, lfs_size_t size)
 
static lfs_ssize_t lfs_file_write_ (lfs_t *lfs, lfs_file_t *file, const void *buffer, lfs_size_t size)
 
static int lfs_file_sync_ (lfs_t *lfs, lfs_file_t *file)
 
static int lfs_file_outline (lfs_t *lfs, lfs_file_t *file)
 
static int lfs_file_flush (lfs_t *lfs, lfs_file_t *file)
 
static int lfs_fs_deorphan (lfs_t *lfs, bool powerloss)
 
static int lfs_fs_preporphans (lfs_t *lfs, int8_t orphans)
 
static void lfs_fs_prepmove (lfs_t *lfs, uint16_t id, const lfs_block_t pair[2])
 
static int lfs_fs_pred (lfs_t *lfs, const lfs_block_t dir[2], lfs_mdir_t *pdir)
 
static lfs_stag_t lfs_fs_parent (lfs_t *lfs, const lfs_block_t dir[2], lfs_mdir_t *parent)
 
static int lfs_fs_forceconsistency (lfs_t *lfs)
 
static void lfs_fs_prepsuperblock (lfs_t *lfs, bool needssuperblock)
 
static int lfs_dir_rewind_ (lfs_t *lfs, lfs_dir_t *dir)
 
static lfs_ssize_t lfs_file_flushedread (lfs_t *lfs, lfs_file_t *file, void *buffer, lfs_size_t size)
 
static lfs_ssize_t lfs_file_read_ (lfs_t *lfs, lfs_file_t *file, void *buffer, lfs_size_t size)
 
static int lfs_file_close_ (lfs_t *lfs, lfs_file_t *file)
 
static lfs_soff_t lfs_file_size_ (lfs_t *lfs, lfs_file_t *file)
 
static lfs_ssize_t lfs_fs_size_ (lfs_t *lfs)
 
static int lfs_fs_traverse_ (lfs_t *lfs, int(*cb)(void *data, lfs_block_t block), void *data, bool includeorphans)
 
static int lfs_deinit (lfs_t *lfs)
 
static int lfs_unmount_ (lfs_t *lfs)
 
static void lfs_alloc_ckpoint (lfs_t *lfs)
 Block allocator ///.
 
static void lfs_alloc_drop (lfs_t *lfs)
 
static int lfs_alloc_lookahead (void *p, lfs_block_t block)
 
static int lfs_alloc_scan (lfs_t *lfs)
 
static int lfs_alloc (lfs_t *lfs, lfs_block_t *block)
 
static lfs_stag_t lfs_dir_getslice (lfs_t *lfs, const lfs_mdir_t *dir, lfs_tag_t gmask, lfs_tag_t gtag, lfs_off_t goff, void *gbuffer, lfs_size_t gsize)
 Metadata pair and directory operations ///.
 
static lfs_stag_t lfs_dir_get (lfs_t *lfs, const lfs_mdir_t *dir, lfs_tag_t gmask, lfs_tag_t gtag, void *buffer)
 
static int lfs_dir_getread (lfs_t *lfs, const lfs_mdir_t *dir, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, lfs_tag_t gmask, lfs_tag_t gtag, lfs_off_t off, void *buffer, lfs_size_t size)
 
static int lfs_dir_traverse_filter (void *p, lfs_tag_t tag, const void *buffer)
 
static int lfs_dir_traverse (lfs_t *lfs, const lfs_mdir_t *dir, lfs_off_t off, lfs_tag_t ptag, const struct lfs_mattr *attrs, int attrcount, lfs_tag_t tmask, lfs_tag_t ttag, uint16_t begin, uint16_t end, int16_t diff, int(*cb)(void *data, lfs_tag_t tag, const void *buffer), void *data)
 
static lfs_stag_t lfs_dir_fetchmatch (lfs_t *lfs, lfs_mdir_t *dir, const lfs_block_t pair[2], lfs_tag_t fmask, lfs_tag_t ftag, uint16_t *id, int(*cb)(void *data, lfs_tag_t tag, const void *buffer), void *data)
 
static int lfs_dir_fetch (lfs_t *lfs, lfs_mdir_t *dir, const lfs_block_t pair[2])
 
static int lfs_dir_getgstate (lfs_t *lfs, const lfs_mdir_t *dir, lfs_gstate_t *gstate)
 
static int lfs_dir_getinfo (lfs_t *lfs, lfs_mdir_t *dir, uint16_t id, struct lfs_info *info)
 
static int lfs_dir_find_match (void *data, lfs_tag_t tag, const void *buffer)
 
static lfs_stag_t lfs_dir_find (lfs_t *lfs, lfs_mdir_t *dir, const char **path, uint16_t *id)
 
static int lfs_dir_commitprog (lfs_t *lfs, struct lfs_commit *commit, const void *buffer, lfs_size_t size)
 
static int lfs_dir_commitattr (lfs_t *lfs, struct lfs_commit *commit, lfs_tag_t tag, const void *buffer)
 
static int lfs_dir_commitcrc (lfs_t *lfs, struct lfs_commit *commit)
 
static int lfs_dir_alloc (lfs_t *lfs, lfs_mdir_t *dir)
 
static int lfs_dir_drop (lfs_t *lfs, lfs_mdir_t *dir, lfs_mdir_t *tail)
 
static int lfs_dir_split (lfs_t *lfs, lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount, lfs_mdir_t *source, uint16_t split, uint16_t end)
 
static int lfs_dir_commit_size (void *p, lfs_tag_t tag, const void *buffer)
 
static int lfs_dir_commit_commit (void *p, lfs_tag_t tag, const void *buffer)
 
static bool lfs_dir_needsrelocation (lfs_t *lfs, lfs_mdir_t *dir)
 
static int lfs_dir_splittingcompact (lfs_t *lfs, lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount, lfs_mdir_t *source, uint16_t begin, uint16_t end)
 
static int lfs_dir_relocatingcommit (lfs_t *lfs, lfs_mdir_t *dir, const lfs_block_t pair[2], const struct lfs_mattr *attrs, int attrcount, lfs_mdir_t *pdir)
 
static int lfs_dir_orphaningcommit (lfs_t *lfs, lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount)
 
static int lfs_mkdir_ (lfs_t *lfs, const char *path)
 Top level directory operations ///.
 
static int lfs_dir_open_ (lfs_t *lfs, lfs_dir_t *dir, const char *path)
 
static int lfs_dir_close_ (lfs_t *lfs, lfs_dir_t *dir)
 
static int lfs_dir_read_ (lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info)
 
static int lfs_dir_seek_ (lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off)
 
static lfs_soff_t lfs_dir_tell_ (lfs_t *lfs, lfs_dir_t *dir)
 
static int lfs_ctz_index (lfs_t *lfs, lfs_off_t *off)
 File index list operations ///.
 
static int lfs_ctz_find (lfs_t *lfs, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_block_t head, lfs_size_t size, lfs_size_t pos, lfs_block_t *block, lfs_off_t *off)
 
static int lfs_ctz_extend (lfs_t *lfs, lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_block_t head, lfs_size_t size, lfs_block_t *block, lfs_off_t *off)
 
static int lfs_ctz_traverse (lfs_t *lfs, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_block_t head, lfs_size_t size, int(*cb)(void *, lfs_block_t), void *data)
 
static int lfs_file_opencfg_ (lfs_t *lfs, lfs_file_t *file, const char *path, int flags, const struct lfs_file_config *cfg)
 Top level file operations ///.
 
static int lfs_file_open_ (lfs_t *lfs, lfs_file_t *file, const char *path, int flags)
 
static int lfs_file_relocate (lfs_t *lfs, lfs_file_t *file)
 
static lfs_soff_t lfs_file_seek_ (lfs_t *lfs, lfs_file_t *file, lfs_soff_t off, int whence)
 
static int lfs_file_truncate_ (lfs_t *lfs, lfs_file_t *file, lfs_off_t size)
 
static lfs_soff_t lfs_file_tell_ (lfs_t *lfs, lfs_file_t *file)
 
static int lfs_file_rewind_ (lfs_t *lfs, lfs_file_t *file)
 
static int lfs_stat_ (lfs_t *lfs, const char *path, struct lfs_info *info)
 General fs operations ///.
 
static int lfs_remove_ (lfs_t *lfs, const char *path)
 
static int lfs_rename_ (lfs_t *lfs, const char *oldpath, const char *newpath)
 
static lfs_ssize_t lfs_getattr_ (lfs_t *lfs, const char *path, uint8_t type, void *buffer, lfs_size_t size)
 
static int lfs_commitattr (lfs_t *lfs, const char *path, uint8_t type, const void *buffer, lfs_size_t size)
 
static int lfs_setattr_ (lfs_t *lfs, const char *path, uint8_t type, const void *buffer, lfs_size_t size)
 
static int lfs_removeattr_ (lfs_t *lfs, const char *path, uint8_t type)
 
static int lfs_init (lfs_t *lfs, const struct lfs_config *cfg)
 Filesystem operations ///.
 
static int lfs_format_ (lfs_t *lfs, const struct lfs_config *cfg)
 
static int lfs_tortoise_detectcycles (const lfs_mdir_t *dir, struct lfs_tortoise_t *tortoise)
 
static int lfs_mount_ (lfs_t *lfs, const struct lfs_config *cfg)
 
static int lfs_fs_stat_ (lfs_t *lfs, struct lfs_fsinfo *fsinfo)
 Filesystem filesystem operations ///.
 
static int lfs_fs_parent_match (void *data, lfs_tag_t tag, const void *buffer)
 
static int lfs_fs_desuperblock (lfs_t *lfs)
 
static int lfs_fs_demove (lfs_t *lfs)
 
static int lfs_fs_mkconsistent_ (lfs_t *lfs)
 
static int lfs_fs_size_count (void *p, lfs_block_t block)
 
static int lfs_fs_gc_ (lfs_t *lfs)
 
static int lfs_fs_grow_ (lfs_t *lfs, lfs_size_t block_count)
 
int lfs_format (lfs_t *lfs, const struct lfs_config *cfg)
 Filesystem functions ///.
 
int lfs_mount (lfs_t *lfs, const struct lfs_config *cfg)
 
int lfs_unmount (lfs_t *lfs)
 
int lfs_remove (lfs_t *lfs, const char *path)
 General operations ///.
 
int lfs_rename (lfs_t *lfs, const char *oldpath, const char *newpath)
 
int lfs_stat (lfs_t *lfs, const char *path, struct lfs_info *info)
 
lfs_ssize_t lfs_getattr (lfs_t *lfs, const char *path, uint8_t type, void *buffer, lfs_size_t size)
 
int lfs_setattr (lfs_t *lfs, const char *path, uint8_t type, const void *buffer, lfs_size_t size)
 
int lfs_removeattr (lfs_t *lfs, const char *path, uint8_t type)
 
int lfs_file_open (lfs_t *lfs, lfs_file_t *file, const char *path, int flags)
 
int lfs_file_opencfg (lfs_t *lfs, lfs_file_t *file, const char *path, int flags, const struct lfs_file_config *cfg)
 File operations ///.
 
int lfs_file_close (lfs_t *lfs, lfs_file_t *file)
 
int lfs_file_sync (lfs_t *lfs, lfs_file_t *file)
 
lfs_ssize_t lfs_file_read (lfs_t *lfs, lfs_file_t *file, void *buffer, lfs_size_t size)
 
lfs_ssize_t lfs_file_write (lfs_t *lfs, lfs_file_t *file, const void *buffer, lfs_size_t size)
 
lfs_soff_t lfs_file_seek (lfs_t *lfs, lfs_file_t *file, lfs_soff_t off, int whence)
 
int lfs_file_truncate (lfs_t *lfs, lfs_file_t *file, lfs_off_t size)
 
lfs_soff_t lfs_file_tell (lfs_t *lfs, lfs_file_t *file)
 
int lfs_file_rewind (lfs_t *lfs, lfs_file_t *file)
 
lfs_soff_t lfs_file_size (lfs_t *lfs, lfs_file_t *file)
 
int lfs_mkdir (lfs_t *lfs, const char *path)
 Directory operations ///.
 
int lfs_dir_open (lfs_t *lfs, lfs_dir_t *dir, const char *path)
 
int lfs_dir_close (lfs_t *lfs, lfs_dir_t *dir)
 
int lfs_dir_read (lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info)
 
int lfs_dir_seek (lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off)
 
lfs_soff_t lfs_dir_tell (lfs_t *lfs, lfs_dir_t *dir)
 
int lfs_dir_rewind (lfs_t *lfs, lfs_dir_t *dir)
 
int lfs_fs_stat (lfs_t *lfs, struct lfs_fsinfo *fsinfo)
 Filesystem-level filesystem operations.
 
lfs_ssize_t lfs_fs_size (lfs_t *lfs)
 
int lfs_fs_traverse (lfs_t *lfs, int(*cb)(void *, lfs_block_t), void *data)
 
int lfs_fs_mkconsistent (lfs_t *lfs)
 
int lfs_fs_gc (lfs_t *lfs)
 
int lfs_fs_grow (lfs_t *lfs, lfs_size_t block_count)
 

Macro Definition Documentation

◆ LFS_BLOCK_INLINE

#define LFS_BLOCK_INLINE   ((lfs_block_t)-2)

◆ LFS_BLOCK_NULL

#define LFS_BLOCK_NULL   ((lfs_block_t)-1)

◆ LFS_DIR_TRAVERSE_DEPTH

#define LFS_DIR_TRAVERSE_DEPTH   3

◆ LFS_LOCK

#define LFS_LOCK ( cfg)
Value:
((void)cfg, 0)

Public API wrappers ///.

◆ LFS_MKATTRS

#define LFS_MKATTRS ( ...)
Value:
(struct lfs_mattr[]){__VA_ARGS__}, \
sizeof((struct lfs_mattr[]){__VA_ARGS__}) / sizeof(struct lfs_mattr)
Definition lfs.c:391

◆ LFS_MKTAG

#define LFS_MKTAG ( type,
id,
size )
Value:
(((lfs_tag_t)(type) << 20) | ((lfs_tag_t)(id) << 10) | (lfs_tag_t)(size))
uint32_t lfs_tag_t
Definition lfs.c:338

◆ LFS_MKTAG_IF

#define LFS_MKTAG_IF ( cond,
type,
id,
size )
Value:
((cond) ? LFS_MKTAG(type, id, size) : LFS_MKTAG(LFS_FROM_NOOP, 0, 0))
#define LFS_MKTAG(type, id, size)
Definition lfs.c:341
@ LFS_FROM_NOOP
Definition lfs.h:118

◆ LFS_MKTAG_IF_ELSE

#define LFS_MKTAG_IF_ELSE ( cond,
type1,
id1,
size1,
type2,
id2,
size2 )
Value:
((cond) ? LFS_MKTAG(type1, id1, size1) : LFS_MKTAG(type2, id2, size2))

◆ LFS_UNLOCK

#define LFS_UNLOCK ( cfg)
Value:
((void)cfg)

Typedef Documentation

◆ lfs_stag_t

typedef int32_t lfs_stag_t

◆ lfs_tag_t

typedef uint32_t lfs_tag_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
LFS_OK_RELOCATED 
LFS_OK_DROPPED 
LFS_OK_ORPHANED 

◆ anonymous enum

anonymous enum
Enumerator
LFS_CMP_EQ 
LFS_CMP_LT 
LFS_CMP_GT 

Function Documentation

◆ lfs_alloc()

static int lfs_alloc ( lfs_t * lfs,
lfs_block_t * block )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_alloc_ckpoint()

static void lfs_alloc_ckpoint ( lfs_t * lfs)
static

Block allocator ///.

Here is the caller graph for this function:

◆ lfs_alloc_drop()

static void lfs_alloc_drop ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_alloc_lookahead()

static int lfs_alloc_lookahead ( void * p,
lfs_block_t block )
static
Here is the caller graph for this function:

◆ lfs_alloc_scan()

static int lfs_alloc_scan ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_bd_cmp()

static int lfs_bd_cmp ( lfs_t * lfs,
const lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_size_t hint,
lfs_block_t block,
lfs_off_t off,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_bd_crc()

static int lfs_bd_crc ( lfs_t * lfs,
const lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_size_t hint,
lfs_block_t block,
lfs_off_t off,
lfs_size_t size,
uint32_t * crc )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_bd_erase()

static int lfs_bd_erase ( lfs_t * lfs,
lfs_block_t block )
static
Here is the caller graph for this function:

◆ lfs_bd_flush()

static int lfs_bd_flush ( lfs_t * lfs,
lfs_cache_t * pcache,
lfs_cache_t * rcache,
bool validate )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_bd_prog()

static int lfs_bd_prog ( lfs_t * lfs,
lfs_cache_t * pcache,
lfs_cache_t * rcache,
bool validate,
lfs_block_t block,
lfs_off_t off,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_bd_read()

static int lfs_bd_read ( lfs_t * lfs,
const lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_size_t hint,
lfs_block_t block,
lfs_off_t off,
void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_bd_sync()

static int lfs_bd_sync ( lfs_t * lfs,
lfs_cache_t * pcache,
lfs_cache_t * rcache,
bool validate )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_cache_drop()

static void lfs_cache_drop ( lfs_t * lfs,
lfs_cache_t * rcache )
inlinestatic

Caching block device operations ///.

Here is the caller graph for this function:

◆ lfs_cache_zero()

static void lfs_cache_zero ( lfs_t * lfs,
lfs_cache_t * pcache )
inlinestatic
Here is the caller graph for this function:

◆ lfs_commitattr()

static int lfs_commitattr ( lfs_t * lfs,
const char * path,
uint8_t type,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_ctz_extend()

static int lfs_ctz_extend ( lfs_t * lfs,
lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_block_t head,
lfs_size_t size,
lfs_block_t * block,
lfs_off_t * off )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_ctz_find()

static int lfs_ctz_find ( lfs_t * lfs,
const lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_block_t head,
lfs_size_t size,
lfs_size_t pos,
lfs_block_t * block,
lfs_off_t * off )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_ctz_fromle32()

static void lfs_ctz_fromle32 ( struct lfs_ctz * ctz)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_ctz_index()

static int lfs_ctz_index ( lfs_t * lfs,
lfs_off_t * off )
static

File index list operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_ctz_tole32()

static void lfs_ctz_tole32 ( struct lfs_ctz * ctz)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_ctz_traverse()

static int lfs_ctz_traverse ( lfs_t * lfs,
const lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_block_t head,
lfs_size_t size,
int(* cb )(void *, lfs_block_t),
void * data )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_deinit()

static int lfs_deinit ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_alloc()

static int lfs_dir_alloc ( lfs_t * lfs,
lfs_mdir_t * dir )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_close()

int lfs_dir_close ( lfs_t * lfs,
lfs_dir_t * dir )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_close_()

static int lfs_dir_close_ ( lfs_t * lfs,
lfs_dir_t * dir )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_commit()

static int lfs_dir_commit ( lfs_t * lfs,
lfs_mdir_t * dir,
const struct lfs_mattr * attrs,
int attrcount )
static

Internal operations predeclared here ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_commit_commit()

static int lfs_dir_commit_commit ( void * p,
lfs_tag_t tag,
const void * buffer )
static
Here is the call graph for this function:

◆ lfs_dir_commit_size()

static int lfs_dir_commit_size ( void * p,
lfs_tag_t tag,
const void * buffer )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_commitattr()

static int lfs_dir_commitattr ( lfs_t * lfs,
struct lfs_commit * commit,
lfs_tag_t tag,
const void * buffer )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_commitcrc()

static int lfs_dir_commitcrc ( lfs_t * lfs,
struct lfs_commit * commit )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_commitprog()

static int lfs_dir_commitprog ( lfs_t * lfs,
struct lfs_commit * commit,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_compact()

static int lfs_dir_compact ( lfs_t * lfs,
lfs_mdir_t * dir,
const struct lfs_mattr * attrs,
int attrcount,
lfs_mdir_t * source,
uint16_t begin,
uint16_t end )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_drop()

static int lfs_dir_drop ( lfs_t * lfs,
lfs_mdir_t * dir,
lfs_mdir_t * tail )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_fetch()

static int lfs_dir_fetch ( lfs_t * lfs,
lfs_mdir_t * dir,
const lfs_block_t pair[2] )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_fetchmatch()

static lfs_stag_t lfs_dir_fetchmatch ( lfs_t * lfs,
lfs_mdir_t * dir,
const lfs_block_t pair[2],
lfs_tag_t fmask,
lfs_tag_t ftag,
uint16_t * id,
int(* cb )(void *data, lfs_tag_t tag, const void *buffer),
void * data )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_find()

static lfs_stag_t lfs_dir_find ( lfs_t * lfs,
lfs_mdir_t * dir,
const char ** path,
uint16_t * id )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_find_match()

static int lfs_dir_find_match ( void * data,
lfs_tag_t tag,
const void * buffer )
static
Here is the call graph for this function:

◆ lfs_dir_get()

static lfs_stag_t lfs_dir_get ( lfs_t * lfs,
const lfs_mdir_t * dir,
lfs_tag_t gmask,
lfs_tag_t gtag,
void * buffer )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_getgstate()

static int lfs_dir_getgstate ( lfs_t * lfs,
const lfs_mdir_t * dir,
lfs_gstate_t * gstate )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_getinfo()

static int lfs_dir_getinfo ( lfs_t * lfs,
lfs_mdir_t * dir,
uint16_t id,
struct lfs_info * info )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_getread()

static int lfs_dir_getread ( lfs_t * lfs,
const lfs_mdir_t * dir,
const lfs_cache_t * pcache,
lfs_cache_t * rcache,
lfs_size_t hint,
lfs_tag_t gmask,
lfs_tag_t gtag,
lfs_off_t off,
void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_getslice()

static lfs_stag_t lfs_dir_getslice ( lfs_t * lfs,
const lfs_mdir_t * dir,
lfs_tag_t gmask,
lfs_tag_t gtag,
lfs_off_t goff,
void * gbuffer,
lfs_size_t gsize )
static

Metadata pair and directory operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_needsrelocation()

static bool lfs_dir_needsrelocation ( lfs_t * lfs,
lfs_mdir_t * dir )
static
Here is the caller graph for this function:

◆ lfs_dir_open()

int lfs_dir_open ( lfs_t * lfs,
lfs_dir_t * dir,
const char * path )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_open_()

static int lfs_dir_open_ ( lfs_t * lfs,
lfs_dir_t * dir,
const char * path )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_orphaningcommit()

static int lfs_dir_orphaningcommit ( lfs_t * lfs,
lfs_mdir_t * dir,
const struct lfs_mattr * attrs,
int attrcount )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_read()

int lfs_dir_read ( lfs_t * lfs,
lfs_dir_t * dir,
struct lfs_info * info )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_read_()

static int lfs_dir_read_ ( lfs_t * lfs,
lfs_dir_t * dir,
struct lfs_info * info )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_relocatingcommit()

static int lfs_dir_relocatingcommit ( lfs_t * lfs,
lfs_mdir_t * dir,
const lfs_block_t pair[2],
const struct lfs_mattr * attrs,
int attrcount,
lfs_mdir_t * pdir )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_rewind()

int lfs_dir_rewind ( lfs_t * lfs,
lfs_dir_t * dir )
Here is the call graph for this function:

◆ lfs_dir_rewind_()

static int lfs_dir_rewind_ ( lfs_t * lfs,
lfs_dir_t * dir )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_seek()

int lfs_dir_seek ( lfs_t * lfs,
lfs_dir_t * dir,
lfs_off_t off )
Here is the call graph for this function:

◆ lfs_dir_seek_()

static int lfs_dir_seek_ ( lfs_t * lfs,
lfs_dir_t * dir,
lfs_off_t off )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_split()

static int lfs_dir_split ( lfs_t * lfs,
lfs_mdir_t * dir,
const struct lfs_mattr * attrs,
int attrcount,
lfs_mdir_t * source,
uint16_t split,
uint16_t end )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_splittingcompact()

static int lfs_dir_splittingcompact ( lfs_t * lfs,
lfs_mdir_t * dir,
const struct lfs_mattr * attrs,
int attrcount,
lfs_mdir_t * source,
uint16_t begin,
uint16_t end )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_tell()

lfs_soff_t lfs_dir_tell ( lfs_t * lfs,
lfs_dir_t * dir )
Here is the call graph for this function:

◆ lfs_dir_tell_()

static lfs_soff_t lfs_dir_tell_ ( lfs_t * lfs,
lfs_dir_t * dir )
static
Here is the caller graph for this function:

◆ lfs_dir_traverse()

static int lfs_dir_traverse ( lfs_t * lfs,
const lfs_mdir_t * dir,
lfs_off_t off,
lfs_tag_t ptag,
const struct lfs_mattr * attrs,
int attrcount,
lfs_tag_t tmask,
lfs_tag_t ttag,
uint16_t begin,
uint16_t end,
int16_t diff,
int(* cb )(void *data, lfs_tag_t tag, const void *buffer),
void * data )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_dir_traverse_filter()

static int lfs_dir_traverse_filter ( void * p,
lfs_tag_t tag,
const void * buffer )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fcrc_fromle32()

static void lfs_fcrc_fromle32 ( struct lfs_fcrc * fcrc)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fcrc_tole32()

static void lfs_fcrc_tole32 ( struct lfs_fcrc * fcrc)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_close()

int lfs_file_close ( lfs_t * lfs,
lfs_file_t * file )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_close_()

static int lfs_file_close_ ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_flush()

static int lfs_file_flush ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_flushedread()

static lfs_ssize_t lfs_file_flushedread ( lfs_t * lfs,
lfs_file_t * file,
void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_flushedwrite()

static lfs_ssize_t lfs_file_flushedwrite ( lfs_t * lfs,
lfs_file_t * file,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_open()

int lfs_file_open ( lfs_t * lfs,
lfs_file_t * file,
const char * path,
int flags )
Here is the call graph for this function:

◆ lfs_file_open_()

static int lfs_file_open_ ( lfs_t * lfs,
lfs_file_t * file,
const char * path,
int flags )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_opencfg()

int lfs_file_opencfg ( lfs_t * lfs,
lfs_file_t * file,
const char * path,
int flags,
const struct lfs_file_config * cfg )

File operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_opencfg_()

static int lfs_file_opencfg_ ( lfs_t * lfs,
lfs_file_t * file,
const char * path,
int flags,
const struct lfs_file_config * cfg )
static

Top level file operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_outline()

static int lfs_file_outline ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_read()

lfs_ssize_t lfs_file_read ( lfs_t * lfs,
lfs_file_t * file,
void * buffer,
lfs_size_t size )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_read_()

static lfs_ssize_t lfs_file_read_ ( lfs_t * lfs,
lfs_file_t * file,
void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_relocate()

static int lfs_file_relocate ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_rewind()

int lfs_file_rewind ( lfs_t * lfs,
lfs_file_t * file )
Here is the call graph for this function:

◆ lfs_file_rewind_()

static int lfs_file_rewind_ ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_seek()

lfs_soff_t lfs_file_seek ( lfs_t * lfs,
lfs_file_t * file,
lfs_soff_t off,
int whence )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_seek_()

static lfs_soff_t lfs_file_seek_ ( lfs_t * lfs,
lfs_file_t * file,
lfs_soff_t off,
int whence )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_size()

lfs_soff_t lfs_file_size ( lfs_t * lfs,
lfs_file_t * file )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_size_()

static lfs_soff_t lfs_file_size_ ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_sync()

int lfs_file_sync ( lfs_t * lfs,
lfs_file_t * file )
Here is the call graph for this function:

◆ lfs_file_sync_()

static int lfs_file_sync_ ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_tell()

lfs_soff_t lfs_file_tell ( lfs_t * lfs,
lfs_file_t * file )
Here is the call graph for this function:

◆ lfs_file_tell_()

static lfs_soff_t lfs_file_tell_ ( lfs_t * lfs,
lfs_file_t * file )
static
Here is the caller graph for this function:

◆ lfs_file_truncate()

int lfs_file_truncate ( lfs_t * lfs,
lfs_file_t * file,
lfs_off_t size )
Here is the call graph for this function:

◆ lfs_file_truncate_()

static int lfs_file_truncate_ ( lfs_t * lfs,
lfs_file_t * file,
lfs_off_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_write()

lfs_ssize_t lfs_file_write ( lfs_t * lfs,
lfs_file_t * file,
const void * buffer,
lfs_size_t size )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_file_write_()

static lfs_ssize_t lfs_file_write_ ( lfs_t * lfs,
lfs_file_t * file,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_format()

int lfs_format ( lfs_t * lfs,
const struct lfs_config * cfg )

Filesystem functions ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_format_()

static int lfs_format_ ( lfs_t * lfs,
const struct lfs_config * cfg )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_demove()

static int lfs_fs_demove ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_deorphan()

static int lfs_fs_deorphan ( lfs_t * lfs,
bool powerloss )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_desuperblock()

static int lfs_fs_desuperblock ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_disk_version()

static uint32_t lfs_fs_disk_version ( lfs_t * lfs)
static
Here is the caller graph for this function:

◆ lfs_fs_disk_version_major()

static uint16_t lfs_fs_disk_version_major ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_disk_version_minor()

static uint16_t lfs_fs_disk_version_minor ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_forceconsistency()

static int lfs_fs_forceconsistency ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_gc()

int lfs_fs_gc ( lfs_t * lfs)
Here is the call graph for this function:

◆ lfs_fs_gc_()

static int lfs_fs_gc_ ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_grow()

int lfs_fs_grow ( lfs_t * lfs,
lfs_size_t block_count )
Here is the call graph for this function:

◆ lfs_fs_grow_()

static int lfs_fs_grow_ ( lfs_t * lfs,
lfs_size_t block_count )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_mkconsistent()

int lfs_fs_mkconsistent ( lfs_t * lfs)
Here is the call graph for this function:

◆ lfs_fs_mkconsistent_()

static int lfs_fs_mkconsistent_ ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_parent()

static lfs_stag_t lfs_fs_parent ( lfs_t * lfs,
const lfs_block_t dir[2],
lfs_mdir_t * parent )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_parent_match()

static int lfs_fs_parent_match ( void * data,
lfs_tag_t tag,
const void * buffer )
static
Here is the call graph for this function:

◆ lfs_fs_pred()

static int lfs_fs_pred ( lfs_t * lfs,
const lfs_block_t dir[2],
lfs_mdir_t * pdir )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_prepmove()

static void lfs_fs_prepmove ( lfs_t * lfs,
uint16_t id,
const lfs_block_t pair[2] )
static
Here is the caller graph for this function:

◆ lfs_fs_preporphans()

static int lfs_fs_preporphans ( lfs_t * lfs,
int8_t orphans )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_prepsuperblock()

static void lfs_fs_prepsuperblock ( lfs_t * lfs,
bool needssuperblock )
static
Here is the caller graph for this function:

◆ lfs_fs_size()

lfs_ssize_t lfs_fs_size ( lfs_t * lfs)
Here is the call graph for this function:

◆ lfs_fs_size_()

static lfs_ssize_t lfs_fs_size_ ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_size_count()

static int lfs_fs_size_count ( void * p,
lfs_block_t block )
static
Here is the caller graph for this function:

◆ lfs_fs_stat()

int lfs_fs_stat ( lfs_t * lfs,
struct lfs_fsinfo * fsinfo )

Filesystem-level filesystem operations.

Here is the call graph for this function:

◆ lfs_fs_stat_()

static int lfs_fs_stat_ ( lfs_t * lfs,
struct lfs_fsinfo * fsinfo )
static

Filesystem filesystem operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_fs_traverse()

int lfs_fs_traverse ( lfs_t * lfs,
int(* cb )(void *, lfs_block_t),
void * data )
Here is the call graph for this function:

◆ lfs_fs_traverse_()

int lfs_fs_traverse_ ( lfs_t * lfs,
int(* cb )(void *data, lfs_block_t block),
void * data,
bool includeorphans )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_getattr()

lfs_ssize_t lfs_getattr ( lfs_t * lfs,
const char * path,
uint8_t type,
void * buffer,
lfs_size_t size )
Here is the call graph for this function:

◆ lfs_getattr_()

static lfs_ssize_t lfs_getattr_ ( lfs_t * lfs,
const char * path,
uint8_t type,
void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_fromle32()

static void lfs_gstate_fromle32 ( lfs_gstate_t * a)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_getorphans()

static uint8_t lfs_gstate_getorphans ( const lfs_gstate_t * a)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_hasmove()

static bool lfs_gstate_hasmove ( const lfs_gstate_t * a)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_hasmovehere()

static bool lfs_gstate_hasmovehere ( const lfs_gstate_t * a,
const lfs_block_t * pair )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_hasorphans()

static bool lfs_gstate_hasorphans ( const lfs_gstate_t * a)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_iszero()

static bool lfs_gstate_iszero ( const lfs_gstate_t * a)
inlinestatic
Here is the caller graph for this function:

◆ lfs_gstate_needssuperblock()

static bool lfs_gstate_needssuperblock ( const lfs_gstate_t * a)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_tole32()

static void lfs_gstate_tole32 ( lfs_gstate_t * a)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_gstate_xor()

static void lfs_gstate_xor ( lfs_gstate_t * a,
const lfs_gstate_t * b )
inlinestatic
Here is the caller graph for this function:

◆ lfs_init()

static int lfs_init ( lfs_t * lfs,
const struct lfs_config * cfg )
static

Filesystem operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_mkdir()

int lfs_mkdir ( lfs_t * lfs,
const char * path )

Directory operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_mkdir_()

static int lfs_mkdir_ ( lfs_t * lfs,
const char * path )
static

Top level directory operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_mlist_append()

static void lfs_mlist_append ( lfs_t * lfs,
struct lfs_mlist * mlist )
static
Here is the caller graph for this function:

◆ lfs_mlist_isopen()

static bool lfs_mlist_isopen ( struct lfs_mlist * head,
struct lfs_mlist * node )
static
Here is the caller graph for this function:

◆ lfs_mlist_remove()

static void lfs_mlist_remove ( lfs_t * lfs,
struct lfs_mlist * mlist )
static
Here is the caller graph for this function:

◆ lfs_mount()

int lfs_mount ( lfs_t * lfs,
const struct lfs_config * cfg )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_mount_()

static int lfs_mount_ ( lfs_t * lfs,
const struct lfs_config * cfg )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_pair_cmp()

static int lfs_pair_cmp ( const lfs_block_t paira[2],
const lfs_block_t pairb[2] )
inlinestatic
Here is the caller graph for this function:

◆ lfs_pair_fromle32()

static void lfs_pair_fromle32 ( lfs_block_t pair[2])
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_pair_isnull()

static bool lfs_pair_isnull ( const lfs_block_t pair[2])
inlinestatic
Here is the caller graph for this function:

◆ lfs_pair_issync()

static bool lfs_pair_issync ( const lfs_block_t paira[2],
const lfs_block_t pairb[2] )
inlinestatic
Here is the caller graph for this function:

◆ lfs_pair_swap()

static void lfs_pair_swap ( lfs_block_t pair[2])
inlinestatic
Here is the caller graph for this function:

◆ lfs_pair_tole32()

static void lfs_pair_tole32 ( lfs_block_t pair[2])
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_path_isdir()

static bool lfs_path_isdir ( const char * path)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_path_islast()

static bool lfs_path_islast ( const char * path)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_path_namelen()

static lfs_size_t lfs_path_namelen ( const char * path)
inlinestatic

Small type-level utilities ///.

Here is the caller graph for this function:

◆ lfs_remove()

int lfs_remove ( lfs_t * lfs,
const char * path )

General operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_remove_()

static int lfs_remove_ ( lfs_t * lfs,
const char * path )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_removeattr()

int lfs_removeattr ( lfs_t * lfs,
const char * path,
uint8_t type )
Here is the call graph for this function:

◆ lfs_removeattr_()

static int lfs_removeattr_ ( lfs_t * lfs,
const char * path,
uint8_t type )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_rename()

int lfs_rename ( lfs_t * lfs,
const char * oldpath,
const char * newpath )
Here is the call graph for this function:

◆ lfs_rename_()

static int lfs_rename_ ( lfs_t * lfs,
const char * oldpath,
const char * newpath )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_setattr()

int lfs_setattr ( lfs_t * lfs,
const char * path,
uint8_t type,
const void * buffer,
lfs_size_t size )
Here is the call graph for this function:

◆ lfs_setattr_()

static int lfs_setattr_ ( lfs_t * lfs,
const char * path,
uint8_t type,
const void * buffer,
lfs_size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_stat()

int lfs_stat ( lfs_t * lfs,
const char * path,
struct lfs_info * info )
Here is the call graph for this function:

◆ lfs_stat_()

static int lfs_stat_ ( lfs_t * lfs,
const char * path,
struct lfs_info * info )
static

General fs operations ///.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_superblock_fromle32()

static void lfs_superblock_fromle32 ( lfs_superblock_t * superblock)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_superblock_tole32()

static void lfs_superblock_tole32 ( lfs_superblock_t * superblock)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_tag_chunk()

static uint8_t lfs_tag_chunk ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_dsize()

static lfs_size_t lfs_tag_dsize ( lfs_tag_t tag)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_tag_id()

static uint16_t lfs_tag_id ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_isdelete()

static bool lfs_tag_isdelete ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_isvalid()

static bool lfs_tag_isvalid ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_size()

static lfs_size_t lfs_tag_size ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_splice()

static int8_t lfs_tag_splice ( lfs_tag_t tag)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_tag_type1()

static uint16_t lfs_tag_type1 ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_type2()

static uint16_t lfs_tag_type2 ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tag_type3()

static uint16_t lfs_tag_type3 ( lfs_tag_t tag)
inlinestatic
Here is the caller graph for this function:

◆ lfs_tortoise_detectcycles()

static int lfs_tortoise_detectcycles ( const lfs_mdir_t * dir,
struct lfs_tortoise_t * tortoise )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_unmount()

int lfs_unmount ( lfs_t * lfs)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lfs_unmount_()

static int lfs_unmount_ ( lfs_t * lfs)
static
Here is the call graph for this function:
Here is the caller graph for this function: