Changed off_t to loff_t
- off_t is long, loff_t is long long (32bit vs. 64bit)
- exfat requites 64 bit to support larger than 2GB fs
Change-Id: I70293e45d7d6686317edc759092e738a2ebdd860
diff --git a/exfat/libexfat/exfat.h b/exfat/libexfat/exfat.h
index 5beba7c..009a0c0 100644
--- a/exfat/libexfat/exfat.h
+++ b/exfat/libexfat/exfat.h
@@ -66,8 +66,8 @@
((bitmap)[BMAP_BLOCK(index)] &= ~BMAP_MASK(index))
/* The size of off_t type must be 64 bits. File systems larger than 2 GB will
- be corrupted with 32-bit off_t. */
-STATIC_ASSERT(sizeof(off_t) == 8);
+ be corrupted with 32-bit off_t. So, we use loff_t here.*/
+STATIC_ASSERT(sizeof(loff_t) == 8);
struct exfat_node
{
@@ -80,7 +80,7 @@
uint32_t fptr_index;
cluster_t fptr_cluster;
cluster_t entry_cluster;
- off_t entry_offset;
+ loff_t entry_offset;
cluster_t start_cluster;
int flags;
uint64_t size;
@@ -146,18 +146,18 @@
int exfat_close(struct exfat_dev* dev);
int exfat_fsync(struct exfat_dev* dev);
enum exfat_mode exfat_get_mode(const struct exfat_dev* dev);
-off_t exfat_get_size(const struct exfat_dev* dev);
-off_t exfat_seek(struct exfat_dev* dev, off_t offset, int whence);
+loff_t exfat_get_size(const struct exfat_dev* dev);
+loff_t exfat_seek(struct exfat_dev* dev, loff_t offset, int whence);
ssize_t exfat_read(struct exfat_dev* dev, void* buffer, size_t size);
ssize_t exfat_write(struct exfat_dev* dev, const void* buffer, size_t size);
ssize_t exfat_pread(struct exfat_dev* dev, void* buffer, size_t size,
- off_t offset);
+ loff_t offset);
ssize_t exfat_pwrite(struct exfat_dev* dev, const void* buffer, size_t size,
- off_t offset);
+ loff_t offset);
ssize_t exfat_generic_pread(const struct exfat* ef, struct exfat_node* node,
- void* buffer, size_t size, off_t offset);
+ void* buffer, size_t size, loff_t offset);
ssize_t exfat_generic_pwrite(struct exfat* ef, struct exfat_node* node,
- const void* buffer, size_t size, off_t offset);
+ const void* buffer, size_t size, loff_t offset);
int exfat_opendir(struct exfat* ef, struct exfat_node* dir,
struct exfat_iterator* it);
@@ -168,7 +168,7 @@
int exfat_split(struct exfat* ef, struct exfat_node** parent,
struct exfat_node** node, le16_t* name, const char* path);
-off_t exfat_c2o(const struct exfat* ef, cluster_t cluster);
+loff_t exfat_c2o(const struct exfat* ef, cluster_t cluster);
cluster_t exfat_next_cluster(const struct exfat* ef,
const struct exfat_node* node, cluster_t cluster);
cluster_t exfat_advance_cluster(const struct exfat* ef,
@@ -178,7 +178,7 @@
int exfat_truncate(struct exfat* ef, struct exfat_node* node, uint64_t size,
bool erase);
uint32_t exfat_count_free_clusters(const struct exfat* ef);
-int exfat_find_used_sectors(const struct exfat* ef, off_t* a, off_t* b);
+int exfat_find_used_sectors(const struct exfat* ef, loff_t* a, loff_t* b);
void exfat_stat(const struct exfat* ef, const struct exfat_node* node,
struct stat* stbuf);