#ifndef MINIOS_FAT32_H #define MINIOS_FAT32_H #include struct BPB { u8 BS_jmpBoot[3]; u8 BS_OEMName[8]; u16 BPB_BytsPerSec; u8 BPB_SecPerClus; u16 BPB_RsvdSecCnt; u8 BPB_NumFATs; u16 BPB_RootEntCnt; u16 BPB_TotSec16; u8 BPB_Media; u16 BPB_FATSz16; u16 BPB_SecPerTrk; u16 BPB_NumHeads; u32 BPB_HiddSec; u32 BPB_TotSec32; u32 BPB_FATSz32; u16 BPB_ExtFlags; u16 BPB_FSVer; u32 BPB_RootClus; u16 BPB_FSInfo; u16 BPB_BkBootSec; u8 BPB_Reserved[12]; u8 BS_DrvNum; u8 BS_Reserved1; u8 BS_BootSig; u32 BS_VolID; u8 BS_VolLabp[11]; u8 BS_FilSysType[8]; u8 zero[420]; u16 Signature_word; } __attribute__((packed)); struct Directory_Entry { char DIR_Name[11]; u8 DIR_Attr; u8 DIR_NTRes; u8 DIR_CrtTimeTenth; u16 DIR_CrtTime; u16 DIR_CrtDate; u16 DIR_LstAccDate; u16 DIR_FstClusHI; u16 DIR_WrtTime; u16 DIR_WrtDate; u16 DIR_FstClusLO; u32 DIR_FileSize; } __attribute__((packed)); #endif /* MINIOS_FAT32_H */