std1.0.0-beta-7 SafeC docs

std :: fs::fat

Struct std::FatCtx

#include <std/fs/fat.h> source

struct FatCtx {
    struct BlockDevice dev;
    unsigned long partition_lba;
    struct FatBpb bpb;
    unsigned long fat_lba;
    unsigned long data_lba;
    unsigned long root_cluster;
    unsigned long bytes_per_cluster;
}

Fields

§unsigned long partition_lbasource

LBA of FAT32 partition start

§struct FatBpb bpbsource
§unsigned long fat_lbasource

LBA of FAT region

§unsigned long data_lbasource

LBA of first data cluster

§unsigned long root_clustersource

cluster of root directory

§unsigned long bytes_per_clustersource

Methods

§int init(&BlockDevice dev, unsigned long lba)source · definition

Initialise this context in place from a block device partition starting at lba (the device is copied into dev). Returns 0 on success.

§int read_cluster(unsigned long cluster, []unsigned char buf)source · definition

Read a cluster into the first bytes_per_cluster bytes of buf (-1 if it is shorter).

§unsigned long follow_fat(unsigned long start_cluster, unsigned long idx)source · definition

Follow FAT chain to find cluster at position idx from start_cluster.

§int open(const &char path, int flags, &VfsNode node_out)source · definition
§unsigned long read(unsigned long inode, unsigned long offset, []unsigned char buf)source · definition
§generic<T> int readdir(unsigned long inode, fn void(&VfsNode, ?&T) cb, ?&T user)source · definition