10#define FAT16_SIGNATURE 0x29
11#define FAT16_FAT_ENTRY_SIZE 0x02
12#define FAT16_BAD_SECTOR 0xFF7
13#define FAT16_UNUSED 0x00
16#define FAT_ITEM_TYPE_DIRECTORY 0
17#define FAT_ITEM_TYPE_FILE 1
20#define FAT_FILE_READONLY 0x01
21#define FAT_FILE_HIDDEN 0x02
22#define FAT_FILE_SYSTEM 0x04
23#define FAT_FILE_VOLUME_LABEL 0x08
24#define FAT_FILE_SUBDIRECTORY 0x10
25#define FAT_FILE_ARCHVED 0x20
26#define FAT_FILE_DEVICE 0x40
27#define FAT_FILE_RESERVED 0x80
28#define FAT_FILE_LONGNAME (FAT_FILE_READONLY | FAT_FILE_HIDDEN | FAT_FILE_SYSTEM | FAT_FILE_VOLUME_LABEL)
131int fat16_read(
void* private_fs,
void* desc, uint32_t
size, uint32_t nmemb,
char* out);
132int fat16_write(
void* private_fs,
void* desc, uint32_t
size, uint32_t nmemb,
char* in);
uint32_t offset
Definition BMPFile.hpp:3
int fat16_seek(void *desc, uint32_t offset, FILE_SEEK_MODE seek_mode)
FAT16 Implementation of fseek.
Definition fat16.c:775
int fat16_read(void *private_fs, void *desc, uint32_t size, uint32_t nmemb, char *out)
FAT16 Implementation of fread.
Definition fat16.c:728
int fat16_stat(void *desc, struct file_stat *stat)
FAT16 Implementation of fstat.
Definition fat16.c:821
struct fat_directory __attribute__
int fat16_resolve(struct disk *disk)
FAT16 filesystem resolver.
Definition fat16.c:590
struct filesystem * fat16_init_filesystem()
Prepares filesystem struct for generic filesystem driver use.
Definition fat16.c:29
int fat16_close(void *desc)
FAT16 Implementation of fclose.
Definition fat16.c:856
void * fat16_open(void *private_fs, struct path_part *path, FILE_MODE mode)
FAT16 Implementation of fopen.
Definition fat16.c:694
unsigned int FAT_ITEM_TYPE
Definition fat16.h:15
int fat16_write(void *private_fs, void *desc, uint32_t size, uint32_t nmemb, char *in)
Definition fat16.c:752
uint16_t size
Definition gdt.h:0
unsigned int FILE_MODE
Definition file.h:13
unsigned int FILE_SEEK_MODE
Definition file.h:12
Definition disk_streamer.h:4
int sector_pos
Definition fat16.h:88
struct fat_file * item
Definition fat16.h:86
int ending_sector_pos
Definition fat16.h:89
int total
Definition fat16.h:87
struct fat_item * file
Definition fat16.h:105
int cached_cluster
Definition fat16.h:107
uint32_t pos
Definition fat16.h:106
int cached_offset_bytes
Definition fat16.h:108
uint32_t filesize
Definition fat16.h:81
uint16_t high_16bits_first_cluster
Definition fat16.h:77
uint16_t low_16bits_first_cluster
Definition fat16.h:80
uint8_t filename[8]
Definition fat16.h:69
uint16_t last_mod_time
Definition fat16.h:78
uint16_t last_access
Definition fat16.h:76
uint8_t ext[3]
Definition fat16.h:70
uint16_t creation_time
Definition fat16.h:74
uint8_t creation_time_tenths_of_a_sec
Definition fat16.h:73
uint8_t reserved
Definition fat16.h:72
uint8_t attribute
Definition fat16.h:71
uint16_t creation_date
Definition fat16.h:75
uint16_t last_mod_date
Definition fat16.h:79
struct fat_file * file
Definition fat16.h:96
FAT_ITEM_TYPE type
Definition fat16.h:100
struct fat_directory * directory
Definition fat16.h:97
uint32_t partition_offset
Definition fat16.h:125
struct fat_directory root_directory
Definition fat16.h:114
struct disk * disk
Definition fat16.h:124
struct disk_stream * cluster_read_stream
Definition fat16.h:117
struct disk_stream * fat_read_stream
Definition fat16.h:119
struct disk_stream * directory_stream
Definition fat16.h:122
struct fat_header header
Definition fat16.h:113
FS_STAT_FUNCTION stat
Definition file.h:80