diff --git a/sw/fat.h b/sw/fat.h index dcfb5647813cedad7e456a78dbd25f5e71e7c7eb..c61b1521e6201f2cf3a19cc74a5d53651468d6f2 100644 --- a/sw/fat.h +++ b/sw/fat.h @@ -39,4 +39,39 @@ typedef struct { uint8_t filesystem_type[8]; } ebpb_t; +typedef struct { + uint32_t sig; + uint8_t reserved[480]; + uint32_t sig2; + uint32_t free_data_clusters; + uint32_t last_allocated_data_cluster; + uint32_t reserved2; + uint32_t sig3; +} fs_info_sector_t; + +typedef struct { + uint8_t sequence_number; + uint16_t filename0[5]; + uint8_t attributes; + uint8_t type; + uint8_t checksum; + uint16_t filename1[6]; + uint16_t reserved; + uint16_t filename[2]; +} vfat_dentry_t; + +typedef struct { + uint8_t filename[8]; + uint8_t extension[3]; + uint8_t attributes; + uint8_t reserved; + uint8_t create_time_10ms; + uint32_t create_date; + uint16_t access_date; + uint16_t first_cluster_h; + uint32_t modify_cluster; + uint16_t first_cluster_l; + uint32_t file_size; +} dos_dentry_t; + #endif \ No newline at end of file