// FAT32 mount logic. This file owns volume probing, BPB validation, and mount-table insertion. #include "fat32.h" // Initializes vtable. void Fat32InitVtable(IO_FILESYSTEM* fs, FAT32_VOL* vol) { memset(fs, 0, sizeof(*fs)); fs->Open = Fat32Open; fs->Read = Fat32Read; fs->Write = Fat32Write; fs->ReadAsync = Fat32ReadAsync; fs->WriteAsync = Fat32WriteAsync; fs->Create = Fat32Create; fs->Delete = Fat32Delete; fs->CreateDir = Fat32CreateDir; fs->RemoveDir = Fat32RemoveDir; fs->Truncate = Fat32Truncate; fs->GetSize = Fat32GetSize; fs->QueryInfo = Fat32QueryInfo; fs->Stat = Fat32Stat; fs->QueryIdentity = Fat32QueryIdentity; fs->Close = Fat32Close; fs->DriverCtx = vol; fs->OpenDir = Fat32OpenDir; fs->ReadDir = Fat32ReadDir; fs->CloseDir = Fat32CloseDir; fs->QueryStats = Fat32QueryStats; }