40#define FAT_ATTRIBUTE_MASK 0x3F
41#define FAT_ATTRIBUTE_READ_ONLY 0x01
42#define FAT_ATTRIBUTE_HIDDEN 0x02
43#define FAT_ATTRIBUTE_SYSTEM 0x04
44#define FAT_ATTRIBUTE_VOLUME 0x08
45#define FAT_ATTRIBUTE_DIRECTORY 0x10
46#define FAT_ATTRIBUTE_ARCHIVE 0x20
47#define FAT_ATTRIBUTE_LONG_NAME 0x0F
49#define FAT_EOC_MARK 0xFFFFFFF8
50#define FAT_BAD_CLUSTER 0xFFFFFFF7
104#pragma pack (push, 1)
138#define FSTYPE_FAT12 1
139#define FSTYPE_FAT16 2
140#define FSTYPE_FAT32 3
189extern void FatToDOSFilename(
const char* filename,
char* fname,
unsigned int fname_length);
uint16_t FatFormatTime()
Definition Fat.cpp:675
uint64_t FatClusterToSector32(FatFS *fs, uint64_t cluster)
Definition Fat.cpp:62
void FatToDOSFilename(const char *filename, char *fname, unsigned int fname_length)
Definition Fat.cpp:73
AuVFSNode * FatLocateDir(AuVFSNode *fsys, const char *dir)
Definition Fat.cpp:425
uint8_t FatCheckDotCount(char *filename)
Definition Fat.cpp:127
AuVFSNode * FatOpen(AuVFSNode *fsys, char *filename)
Definition Fat.cpp:490
AuVFSNode * FatInitialise(AuVDisk *vdisk, char *mountpoint)
Definition Fat.cpp:585
void FatFromDosToFilename(char *filename, char *dirfname)
Definition Fat.cpp:140
void FatClearCluster(AuVFSNode *node, uint32_t cluster)
Definition Fat.cpp:272
void FatAllocCluster(AuVFSNode *fsys, int position, uint32_t n_value)
Definition Fat.cpp:238
AuVFSNode * FatLocateSubDir(AuVFSNode *fsys, AuVFSNode *kfile, const char *filename)
Definition Fat.cpp:365
uint32_t FatReadFAT(AuVFSNode *node, uint64_t cluster_index)
Definition Fat.cpp:168
uint32_t FatFindFreeCluster(AuVFSNode *node)
Definition Fat.cpp:193
uint8_t FatCalculateCheckSum(uint8_t *filename)
Definition Fat.cpp:114
uint16_t FatFormatDate()
Definition Fat.cpp:668
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
uint8_t num_fats
Definition Fat.h:63
uint8_t media_type
Definition Fat.h:66
uint16_t falgs
Definition Fat.h:84
uint16_t sectors_per_track
Definition Fat.h:68
uint16_t bytes_per_sector
Definition Fat.h:60
uint16_t fs_info_sect
Definition Fat.h:87
struct _FAT_BPB_::@13::@14 FAT16
uint16_t fat_version
Definition Fat.h:85
union _FAT_BPB_::@13 info
uint32_t hidden_sectors
Definition Fat.h:70
uint32_t sect_per_fat32
Definition Fat.h:83
char sys_id[8]
Definition Fat.h:79
uint8_t signature
Definition Fat.h:76
uint8_t drive_number
Definition Fat.h:90
uint8_t jmp[3]
Definition Fat.h:58
uint8_t flagsWinNT
Definition Fat.h:91
uint16_t backup_boot_sect
Definition Fat.h:88
uint8_t drive_num
Definition Fat.h:74
char oemid[8]
Definition Fat.h:59
uint8_t WinNtFlags
Definition Fat.h:75
uint32_t root_dir_cluster
Definition Fat.h:86
struct _FAT_BPB_::@13::@15 FAT32
uint32_t vol_serial_num
Definition Fat.h:77
uint16_t heads
Definition Fat.h:69
uint16_t sectors_per_fat
Definition Fat.h:67
uint16_t num_dir_entries
Definition Fat.h:64
uint8_t sectors_per_cluster
Definition Fat.h:61
uint16_t reserved_sectors
Definition Fat.h:62
uint32_t large_sector_count
Definition Fat.h:71
uint16_t total_sectors_short
Definition Fat.h:65
uint8_t reserved[12]
Definition Fat.h:89
char vol_label[11]
Definition Fat.h:78
unsigned long __FatBeginLBA
Definition Fat.h:148
unsigned char * __RootDirCache
Definition Fat.h:155
unsigned int __LastIndexSector
Definition Fat.h:156
unsigned long __ClusterBeginLBA
Definition Fat.h:149
unsigned long __RootSector
Definition Fat.h:152
unsigned char __SectorPerCluster
Definition Fat.h:150
uint8_t fatType
Definition Fat.h:147
size_t cluster_sz_in_bytes
Definition Fat.h:159
uint16_t __BytesPerSector
Definition Fat.h:158
unsigned int __LastIndexInFat
Definition Fat.h:157
AuVDisk * vdisk
Definition Fat.h:145
FatBPB * bpb
Definition Fat.h:144
unsigned int __SectorPerFAT32
Definition Fat.h:153
unsigned int __TotalClusters
Definition Fat.h:154
unsigned int __RootDirFirstCluster
Definition Fat.h:151
char oemid[8]
Definition Fat.h:146
uint16_t date_last_accessed
Definition Fat.h:113
uint16_t first_cluster_hi_bytes
Definition Fat.h:114
uint8_t reserved
Definition Fat.h:109
uint8_t filename[11]
Definition Fat.h:107
uint32_t file_size
Definition Fat.h:118
uint16_t date_created
Definition Fat.h:112
uint16_t last_wrt_date
Definition Fat.h:116
uint8_t attrib
Definition Fat.h:108
uint16_t time_created
Definition Fat.h:111
uint16_t first_cluster
Definition Fat.h:117
uint16_t last_wrt_time
Definition Fat.h:115
uint8_t time_created_ms
Definition Fat.h:110
uint8_t checkSum
Definition Fat.h:131
uint8_t type
Definition Fat.h:130
uint8_t attrib
Definition Fat.h:129
uint8_t nameOne[10]
Definition Fat.h:128
uint8_t nameTwo[12]
Definition Fat.h:132
uint8_t nameThree[4]
Definition Fat.h:134
uint8_t order
Definition Fat.h:127
uint16_t FstClusterLo
Definition Fat.h:133