ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
exfat_cursor_t Struct Reference

Linear cursor over a directory's 32-byte entries. More...

#include <ra8_fs_fat_types_internal.h>

Data Fields

uint32_t cluster
 Current directory cluster.
uint32_t entry_in_cluster
 Next entry index within the cluster.
uint32_t scanned
 Total entries read (P10 bound).
uint32_t contig_end
 One past the run's last cluster; 0 => FAT.

Detailed Description

Linear cursor over a directory's 32-byte entries.

contig_end is what lets one cursor walk both shapes an exFAT directory comes in. The volume root is always a FAT chain, so it leaves the field 0 and the walk follows priv_fat_get. A subdirectory this driver creates is one contiguous run with NoFatChain set, and per the exFAT specification the FAT entries for such a run are explicitly invalid – following them would read a free entry (0), decide it is not end-of-chain, and walk off into cluster 0. The run bound is the only correct successor there.

Invariant
entry_in_cluster is <= the entries one cluster holds.
contig_end is 0, or greater than the run's first cluster.
See also
priv_exfat_cursor_init()
Since
0.1.0

Definition at line 685 of file ra8_fs_fat_types_internal.h.

Field Documentation

◆ cluster

◆ contig_end

uint32_t exfat_cursor_t::contig_end

One past the run's last cluster; 0 => FAT.

Definition at line 689 of file ra8_fs_fat_types_internal.h.

Referenced by priv_exfat_cursor_init(), and priv_exfat_next_entry().

◆ entry_in_cluster

uint32_t exfat_cursor_t::entry_in_cluster

◆ scanned


The documentation for this struct was generated from the following file: