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()

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()

void lfs_alloc_ckpoint ( lfs_t * lfs)
static

Block allocator ///.

Here is the caller graph for this function:

◆ lfs_alloc_drop()

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()

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

◆ lfs_alloc_scan()

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()

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()

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()

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

◆ lfs_bd_flush()

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()

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()

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()

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()

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()

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

◆ lfs_commitattr()

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()

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()

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()

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()

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()

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()

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()

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()

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_()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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_()

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()

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_()

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()

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_()

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_()

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()

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()

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_()

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()

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()

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()

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()

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_()

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()

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()

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()

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_()

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_()

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()

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_()

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()

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_()

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_()

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_()

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:
Here is the caller graph for this function:

◆ lfs_file_sync_()

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_()

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_()

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_()

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_()

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()

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()

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()

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()

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

◆ lfs_fs_disk_version_major()

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()

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()

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_()

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_()

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_()

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()

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()

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()

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()

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()

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()

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_()

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()

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_()

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_()

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()

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()

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()

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()

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()

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()

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

◆ lfs_gstate_needssuperblock()

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()

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()

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

◆ lfs_init()

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_()

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()

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

◆ lfs_mlist_isopen()

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

◆ lfs_mlist_remove()

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_()

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()

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()

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()

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

◆ lfs_pair_issync()

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()

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

◆ lfs_pair_tole32()

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()

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()

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()

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_()

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_()

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_()

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_()

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_()

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()

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()

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()

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

◆ lfs_tag_dsize()

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()

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

◆ lfs_tag_isdelete()

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

◆ lfs_tag_isvalid()

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

◆ lfs_tag_size()

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

◆ lfs_tag_splice()

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()

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

◆ lfs_tag_type2()

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

◆ lfs_tag_type3()

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

◆ lfs_tortoise_detectcycles()

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_()

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