diff options
Diffstat (limited to 'include/exfat_ondisk.h')
-rw-r--r-- | include/exfat_ondisk.h | 20 |
1 files changed, 18 insertions, 2 deletions
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)); |