55 lines
1.0 KiB
C
55 lines
1.0 KiB
C
#ifndef MINIOS_FAT32_H
|
|
#define MINIOS_FAT32_H
|
|
|
|
#include <type.h>
|
|
|
|
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 */ |