X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=include%2Fexfat_ondisk.h;fp=include%2Fexfat_ondisk.h;h=21372266a3382f5da409dc7e09d076481a6a29a1;hb=2a0281992d71d123dc8caa7028d0faf6f2adc08b;hp=42cdadfbf37ae6f225d6f5097f847b44c45a9780;hpb=fa2bead8d3f2203fb7b22d801443109a52808490;p=sven%2Fexfatprogs.git diff --git a/include/exfat_ondisk.h b/include/exfat_ondisk.h index 42cdadf..2137226 100644 --- a/include/exfat_ondisk.h +++ b/include/exfat_ondisk.h @@ -41,6 +41,7 @@ #define MAX_EXFAT_DENTRIES 8388608 #define MIN_FILE_DENTRIES 3 #define MAX_NAME_DENTRIES 17 +#define MAX_EXT_DENTRIES 0xFF /* dentry types */ #define MSDOS_DELETED 0xE5 /* deleted mark */ @@ -60,6 +61,8 @@ #define EXFAT_STREAM 0xC0 /* stream entry */ #define EXFAT_NAME 0xC1 /* file name entry */ #define EXFAT_ACL 0xC2 /* stream entry */ +#define EXFAT_VENDOR_EXT 0xE0 +#define EXFAT_VENDOR_ALLOC 0xE1 /* checksum types */ #define CS_DIR_ENTRY 0 @@ -134,7 +137,7 @@ struct pbr { }; #define VOLUME_LABEL_MAX_LEN 11 -#define VOLUME_GUID_LEN 16 +#define EXFAT_GUID_LEN 16 #define ENTRY_NAME_MAX 15 struct exfat_dentry { @@ -196,9 +199,22 @@ struct exfat_dentry { __u8 num_ext; __le16 checksum; __u16 flags; - __u8 guid[VOLUME_GUID_LEN]; + __u8 guid[EXFAT_GUID_LEN]; __u8 reserved[10]; } __attribute__((packed)) guid; /* volume GUID directory entry */ + struct { + __u8 flags; + __u8 guid[EXFAT_GUID_LEN]; + __u8 vendor_defined[14]; + } __attribute__((packed)) vendor_ext ; /* vendor extension entry */ + struct { + __u8 flags; + __u8 guid[EXFAT_GUID_LEN]; + __u8 vendor_defined[2]; + __le32 start_clu; + __le64 size; + } __attribute__((packed)) vendor_alloc; /* vendor allocation entry */ + } __attribute__((packed)) dentry; } __attribute__((packed));