diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/fat.c | 8 | ||||
-rw-r--r-- | firmware/drivers/fat.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index ad1a7a0c82..38223edc6a 100644 --- a/firmware/drivers/fat.c +++ b/firmware/drivers/fat.c | |||
@@ -223,6 +223,14 @@ int fat_startsector(void) | |||
223 | return fat_bpb.startsector; | 223 | return fat_bpb.startsector; |
224 | } | 224 | } |
225 | 225 | ||
226 | void fat_size(unsigned int* size, unsigned int* free) | ||
227 | { | ||
228 | if (size) | ||
229 | *size = fat_bpb.dataclusters * fat_bpb.bpb_secperclus / 2; | ||
230 | if (free) | ||
231 | *free = fat_bpb.fsinfo.freecount * fat_bpb.bpb_secperclus / 2; | ||
232 | } | ||
233 | |||
226 | int fat_mount(int startsector) | 234 | int fat_mount(int startsector) |
227 | { | 235 | { |
228 | unsigned char buf[SECTOR_SIZE]; | 236 | unsigned char buf[SECTOR_SIZE]; |
diff --git a/firmware/drivers/fat.h b/firmware/drivers/fat.h index b23d8dfa08..8ef2982279 100644 --- a/firmware/drivers/fat.h +++ b/firmware/drivers/fat.h | |||
@@ -67,6 +67,7 @@ struct fat_dir | |||
67 | 67 | ||
68 | 68 | ||
69 | extern int fat_mount(int startsector); | 69 | extern int fat_mount(int startsector); |
70 | extern void fat_size(unsigned int* size, unsigned int* free); | ||
70 | 71 | ||
71 | extern int fat_create_dir(unsigned int currdir, char *name); | 72 | extern int fat_create_dir(unsigned int currdir, char *name); |
72 | extern int fat_startsector(void); | 73 | extern int fat_startsector(void); |