X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fexfat-utils.git;a=blobdiff_plain;f=libexfat%2Fexfat.h;h=97d3692b0a08decd527a9850dfab37cdf0a38aab;hp=2a881e4a6bc97810daec09895466caa71c0449ff;hb=0bc23c177c8ab35b8fdf4da503b9fa285400b0e6;hpb=f77812e8b678b8bf620bfbf33882139997ccda34 diff --git a/libexfat/exfat.h b/libexfat/exfat.h index 2a881e4..97d3692 100644 --- a/libexfat/exfat.h +++ b/libexfat/exfat.h @@ -4,7 +4,7 @@ implementation. Free exFAT implementation. - Copyright (C) 2010-2014 Andrew Nayenko + Copyright (C) 2010-2015 Andrew Nayenko This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,15 +24,15 @@ #ifndef EXFAT_H_INCLUDED #define EXFAT_H_INCLUDED +#include "config.h" +#include "compiler.h" +#include "exfatfs.h" #include #include #include #include #include #include -#include "compiler.h" -#include "exfatfs.h" -#include "version.h" #define EXFAT_NAME_MAX 256 #define EXFAT_ATTRIB_CONTIGUOUS 0x10000 @@ -61,6 +61,10 @@ #define BMAP_CLR(bitmap, index) \ ((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); + struct exfat_node { struct exfat_node* parent; @@ -165,6 +169,7 @@ 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, struct exfat_node* node, uint32_t count); +int exfat_flush_nodes(struct exfat* ef); int exfat_flush(struct exfat* ef); int exfat_truncate(struct exfat* ef, struct exfat_node* node, uint64_t size, bool erase);