TARFS 0.1.5
Read-only TAR filesystem for ESP32
Loading...
Searching...
No Matches
tarfs_fs Struct Reference

This descriptor holds all file descriptors opened. More...

#include <fs.h>

Public Member Functions

 _Atomic (uint32_t) fs_usedfd

Data Fields

refc_t fs_ref
uintptr_t fs_handle
void const * fs_vaddr
size_t fs_dsize
size_t fs_size
uint32_t fs_nino
tarfs_inode_t const *const * fs_ino
tarfs_inode_t const * fs_root
struct tarfs_fp fs_fd [16]
time_t fs_mtime
uint16_t fs_opencrc:1
uint16_t fs_reserved:15
struct tarfs_stats fs_stats
uint64_t fs_bmmap
uint64_t fs_bread
uint32_t fs_nfail
char fs_mountpoint []

Detailed Description

This descriptor holds all file descriptors opened.

Created by tarfs_mount() destroyed by a refcounter mechanism

TARFS filesystem descriptor.

Note
Descriptor lifetime is defined by its refcounter fs_ref. Once it reaches zero (upon unrefx() call) the descriptor gets destroyed, memory is freed. These structures are managed by addref() and unrefx() calls only.

Definition at line 94 of file fs.h.

Member Function Documentation

◆ _Atomic()

tarfs_fs::_Atomic ( uint32_t )

A bitmask for fs_fd[] array: 0100 means FD #2 is used. Indicates which elements of fs_fd[] array are used

Field Documentation

◆ fs_bmmap

uint64_t tarfs_fs::fs_bmmap

Number of bytes mmaped through mmap() (sum active mmapings only)

Definition at line 112 of file fs.h.

Referenced by tarf_mmap(), and tarfs_statvfs().

◆ fs_bread

uint64_t tarfs_fs::fs_bread

Number of bytes read by read() (sum of all read() and pread() )

Definition at line 113 of file fs.h.

Referenced by tarf_pread(), and tarfs_statvfs().

◆ fs_dsize

size_t tarfs_fs::fs_dsize

Data size: Partition size minus size of all TARFS headers

Definition at line 99 of file fs.h.

Referenced by inode_mount(), tarfs_info(), tarfs_mount_memory(), and tarfs_statvfs().

◆ fs_fd

struct tarfs_fp tarfs_fs::fs_fd[16]

Open files descriptors

Definition at line 106 of file fs.h.

Referenced by tard_fdopendir(), tarf_dupfd(), tarf_fstat(), tarf_ioctl(), tarf_lseek(), tarf_mmap(), tarf_open(), tarf_pread(), tarf_read(), and tarf_sendfile().

◆ fs_handle

uintptr_t tarfs_fs::fs_handle

OS-specific opaque handle for the whole partition mmap

Definition at line 97 of file fs.h.

Referenced by tarfs_mount(), and tarfs_mount_memory().

◆ fs_ino

tarfs_inode_t const* const* tarfs_fs::fs_ino

INDEX. Sorted (in_hash) array of pointers to inodes.

Definition at line 102 of file fs.h.

Referenced by inode_mount(), inode_mtime(), inode_unmount(), tard_fdopendir(), tarf_fstat(), tarf_open(), and tarfs_mount_memory().

◆ fs_mountpoint

char tarfs_fs::fs_mountpoint[]

Mount point

Definition at line 116 of file fs.h.

Referenced by tarfs_mount_memory().

◆ fs_mtime

time_t tarfs_fs::fs_mtime

Read from the root directory entry or, if unavailable, time(NULL) is used instead

Definition at line 107 of file fs.h.

Referenced by inode_mount(), and tarf_fstat().

◆ fs_nfail

uint32_t tarfs_fs::fs_nfail

Number of failed open() calls

Definition at line 114 of file fs.h.

Referenced by tarf_open(), and tarfs_statvfs().

◆ fs_nino

uint32_t tarfs_fs::fs_nino

Number of entries in fs_ino array

Definition at line 101 of file fs.h.

Referenced by inode_mount(), inode_unmount(), and tarf_open().

◆ fs_opencrc

uint16_t tarfs_fs::fs_opencrc

A flag to enable/disable CRC64 verification on open()

Definition at line 108 of file fs.h.

Referenced by tarf_open(), and tarfs_integrity_on_open().

◆ fs_ref

refc_t tarfs_fs::fs_ref

Reference counter: open files and active mmap()

Definition at line 96 of file fs.h.

Referenced by tarfs_addref(), tarfs_mount_memory(), and tarfs_unref().

◆ fs_reserved

uint16_t tarfs_fs::fs_reserved

Reserved for future extensions

Definition at line 109 of file fs.h.

◆ fs_root

tarfs_inode_t const* tarfs_fs::fs_root

First record of alphasorted (in_path) list of entries (linked via in_next)

Definition at line 103 of file fs.h.

Referenced by inode_mount().

◆ fs_size

size_t tarfs_fs::fs_size

Total size: Partition size

Definition at line 100 of file fs.h.

Referenced by inode_mount(), munmap(), tarfs_info(), and tarfs_mount_memory().

◆ fs_stats

struct tarfs_stats tarfs_fs::fs_stats

FS immutable statistics Mutable statistics:

Definition at line 110 of file fs.h.

Referenced by inode_mount(), tarfs_mount_memory(), and tarfs_statvfs().

◆ fs_vaddr

void const* tarfs_fs::fs_vaddr

Virtual address to access whole partition

Definition at line 98 of file fs.h.

Referenced by inode_mount(), munmap(), and tarfs_mount_memory().


The documentation for this struct was generated from the following file:
  • /cygdrive/d/Arduino/libraries/tarfs/src/fs.h