path: root/include/fat.h
diff options
authorSuriyan Ramasami <>2014-11-17 14:39:35 -0800
committerTom Rini <>2014-11-23 06:49:04 -0500
commit1ad0b98a067a133c0e8a182649a76a4afd739594 (patch)
tree26f5ce4468fb8886efee020e31257f62c5feaca4 /include/fat.h
parent64553717bb3552f736090298ea952cb5ef07ef75 (diff)
fat: Prepare API change for files greater than 2GB
Change the internal FAT functions to use loff_t for offsets. Signed-off-by: Suriyan Ramasami <> Acked-by: Simon Glass <> [trini: Fix fs/fat/fat.c for min3 updates] Signed-off-by: Tom Rini <>
Diffstat (limited to 'include/fat.h')
1 files changed, 7 insertions, 6 deletions
diff --git a/include/fat.h b/include/fat.h
index 20ca3f3dca..99c64291b0 100644
--- a/include/fat.h
+++ b/include/fat.h
@@ -178,8 +178,8 @@ typedef struct {
typedef int (file_detectfs_func)(void);
typedef int (file_ls_func)(const char *dir);
-typedef long (file_read_func)(const char *filename, void *buffer,
- unsigned long maxsize);
+typedef int (file_read_func)(const char *filename, void *buffer,
+ int maxsize);
struct filesystem {
file_detectfs_func *detect;
@@ -199,14 +199,15 @@ int file_fat_detectfs(void);
int file_fat_ls(const char *dir);
int fat_exists(const char *filename);
int fat_size(const char *filename);
-long file_fat_read_at(const char *filename, unsigned long pos, void *buffer,
- unsigned long maxsize);
-long file_fat_read(const char *filename, void *buffer, unsigned long maxsize);
+int file_fat_read_at(const char *filename, loff_t pos, void *buffer,
+ loff_t maxsize, loff_t *actread);
+int file_fat_read(const char *filename, void *buffer, int maxsize);
const char *file_getfsname(int idx);
int fat_set_blk_dev(block_dev_desc_t *rbdd, disk_partition_t *info);
int fat_register_device(block_dev_desc_t *dev_desc, int part_no);
-int file_fat_write(const char *filename, void *buffer, unsigned long maxsize);
+int file_fat_write(const char *filename, void *buf, loff_t offset, loff_t len,
+ loff_t *actwrite);
int fat_read_file(const char *filename, void *buf, int offset, int len);
void fat_close(void);
#endif /* _FAT_H_ */
OpenPOWER on IntegriCloud