X-Git-Url: http://git.sven.stormbind.net/?a=blobdiff_plain;f=libexfat%2Fexfat.h;h=0e146e8f4d916ff1dd5557f7131032f2b91c8d11;hb=refs%2Ftags%2Fupstream%2F1.4.0;hp=2342be4f531a5b0c489e81ee0710186b6a00dab2;hpb=65b0f9fc39c546369f4f0f43f36891f7709b891a;p=sven%2Ffuse-exfat.git diff --git a/libexfat/exfat.h b/libexfat/exfat.h index 2342be4..0e146e8 100644 --- a/libexfat/exfat.h +++ b/libexfat/exfat.h @@ -4,7 +4,7 @@ implementation. Free exFAT implementation. - Copyright (C) 2010-2018 Andrew Nayenko + Copyright (C) 2010-2023 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 @@ -89,6 +89,7 @@ struct exfat_node bool is_cached : 1; bool is_dirty : 1; bool is_unlinked : 1; + uint64_t valid_size; uint64_t size; time_t mtime, atime; le16_t name[EXFAT_NAME_MAX + 1]; @@ -201,12 +202,13 @@ le16_t exfat_calc_name_hash(const struct exfat* ef, const le16_t* name, void exfat_humanize_bytes(uint64_t value, struct exfat_human_bytes* hb); void exfat_print_info(const struct exfat_super_block* sb, uint32_t free_clusters); +bool exfat_match_option(const char* options, const char* option_name); -int utf16_to_utf8(char* output, const le16_t* input, size_t outsize, +int exfat_utf16_to_utf8(char* output, const le16_t* input, size_t outsize, size_t insize); -int utf8_to_utf16(le16_t* output, const char* input, size_t outsize, +int exfat_utf8_to_utf16(le16_t* output, const char* input, size_t outsize, size_t insize); -size_t utf16_length(const le16_t* str); +size_t exfat_utf16_length(const le16_t* str); struct exfat_node* exfat_get_node(struct exfat_node* node); void exfat_put_node(struct exfat* ef, struct exfat_node* node); @@ -225,12 +227,14 @@ void exfat_update_mtime(struct exfat_node* node); const char* exfat_get_label(struct exfat* ef); int exfat_set_label(struct exfat* ef, const char* label); +int exfat_soil_super_block(const struct exfat* ef); int exfat_mount(struct exfat* ef, const char* spec, const char* options); void exfat_unmount(struct exfat* ef); -time_t exfat_exfat2unix(le16_t date, le16_t time, uint8_t centisec); +time_t exfat_exfat2unix(le16_t date, le16_t time, uint8_t centisec, + uint8_t tzoffset); void exfat_unix2exfat(time_t unix_time, le16_t* date, le16_t* time, - uint8_t* centisec); + uint8_t* centisec, uint8_t* tzoffset); void exfat_tzset(void); bool exfat_ask_to_fix(const struct exfat* ef);