exfat_raw.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  boot_sector_t
 
struct  exfat_dentry_t
 

Macros

#define _EXFAT_RAW_H
 
#define BOOT_SIGNATURE   0xAA55
 
#define EXBOOT_SIGNATURE   0xAA550000
 
#define STR_EXFAT   "EXFAT " /* size should be 8 */
 
#define EXFAT_MAX_FILE_LEN   255
 
#define VOLUME_DIRTY   0x0002
 
#define MEDIA_FAILURE   0x0004
 
#define EXFAT_EOF_CLUSTER   0xFFFFFFFFu
 
#define EXFAT_BAD_CLUSTER   0xFFFFFFF7u
 
#define EXFAT_FREE_CLUSTER   0
 
#define EXFAT_RESERVED_CLUSTERS   2
 
#define EXFAT_FIRST_CLUSTER   2
 
#define EXFAT_DATA_CLUSTER_COUNT(sbi)   ((sbi)->num_clusters - EXFAT_RESERVED_CLUSTERS)
 
#define ALLOC_FAT_CHAIN   0x01
 
#define ALLOC_NO_FAT_CHAIN   0x03
 
#define DENTRY_SIZE   32 /* directory entry size */
 
#define DENTRY_SIZE_BITS   5
 
#define MAX_EXFAT_DENTRIES   8388608
 
#define EXFAT_UNUSED   0x00 /* end of directory */
 
#define EXFAT_DELETE   (~0x80)
 
#define IS_EXFAT_DELETED(x)   ((x) < 0x80) /* deleted file (0x01~0x7F) */
 
#define EXFAT_INVAL   0x80 /* invalid value */
 
#define EXFAT_BITMAP   0x81 /* allocation bitmap */
 
#define EXFAT_UPCASE   0x82 /* upcase table */
 
#define EXFAT_VOLUME   0x83 /* volume label */
 
#define EXFAT_FILE   0x85 /* file or dir */
 
#define EXFAT_GUID   0xA0
 
#define EXFAT_PADDING   0xA1
 
#define EXFAT_ACLTAB   0xA2
 
#define EXFAT_STREAM   0xC0 /* stream entry */
 
#define EXFAT_NAME   0xC1 /* file name entry */
 
#define EXFAT_ACL   0xC2 /* stream entry */
 
#define IS_EXFAT_CRITICAL_PRI(x)   (x < 0xA0)
 
#define IS_EXFAT_BENIGN_PRI(x)   (x < 0xC0)
 
#define IS_EXFAT_CRITICAL_SEC(x)   (x < 0xE0)
 
#define CS_DIR_ENTRY   0
 
#define CS_BOOT_SECTOR   1
 
#define CS_DEFAULT   2
 
#define ATTR_READONLY   0x0001
 
#define ATTR_HIDDEN   0x0002
 
#define ATTR_SYSTEM   0x0004
 
#define ATTR_VOLUME   0x0008
 
#define ATTR_SUBDIR   0x0010
 
#define ATTR_ARCHIVE   0x0020
 
#define ATTR_RWMASK   (ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME | ATTR_SUBDIR | ATTR_ARCHIVE)
 
#define BOOTSEC_JUMP_BOOT_LEN   3
 
#define BOOTSEC_OLDBPB_LEN   53
 
#define EXFAT_FILE_NAME_LEN   15
 
#define EXFAT_MIN_SECT_SIZE_BITS   9
 
#define EXFAT_MAX_SECT_SIZE_BITS   12
 
#define EXFAT_MAX_SECT_PER_CLUS_BITS(x)   (25 - (x)->sect_size_bits)
 
#define EXFAT_TZ_VALID   (1 << 7)
 
#define EXFAT_MIN_TIMESTAMP_SECS   315532800LL
 
#define EXFAT_MAX_TIMESTAMP_SECS   4354819199LL
 
#define BOOT_SIGNATURE   0xAA55
 
#define EXBOOT_SIGNATURE   0xAA550000
 
#define STR_EXFAT   "EXFAT " /* size should be 8 */
 
#define EXFAT_MAX_FILE_LEN   255
 
#define VOLUME_DIRTY   0x0002
 
#define MEDIA_FAILURE   0x0004
 
#define EXFAT_EOF_CLUSTER   0xFFFFFFFFu
 
#define EXFAT_BAD_CLUSTER   0xFFFFFFF7u
 
#define EXFAT_FREE_CLUSTER   0
 
#define EXFAT_RESERVED_CLUSTERS   2
 
#define EXFAT_FIRST_CLUSTER   2
 
#define EXFAT_DATA_CLUSTER_COUNT(sbi)   ((sbi)->num_clusters - EXFAT_RESERVED_CLUSTERS)
 
#define ALLOC_FAT_CHAIN   0x01
 
#define ALLOC_NO_FAT_CHAIN   0x03
 
#define DENTRY_SIZE   32 /* directory entry size */
 
#define DENTRY_SIZE_BITS   5
 
#define MAX_EXFAT_DENTRIES   8388608
 
#define EXFAT_UNUSED   0x00 /* end of directory */
 
#define EXFAT_DELETE   (~0x80)
 
#define IS_EXFAT_DELETED(x)   ((x) < 0x80) /* deleted file (0x01~0x7F) */
 
#define EXFAT_INVAL   0x80 /* invalid value */
 
#define EXFAT_BITMAP   0x81 /* allocation bitmap */
 
#define EXFAT_UPCASE   0x82 /* upcase table */
 
#define EXFAT_VOLUME   0x83 /* volume label */
 
#define EXFAT_FILE   0x85 /* file or dir */
 
#define EXFAT_GUID   0xA0
 
#define EXFAT_PADDING   0xA1
 
#define EXFAT_ACLTAB   0xA2
 
#define EXFAT_STREAM   0xC0 /* stream entry */
 
#define EXFAT_NAME   0xC1 /* file name entry */
 
#define EXFAT_ACL   0xC2 /* stream entry */
 
#define IS_EXFAT_CRITICAL_PRI(x)   (x < 0xA0)
 
#define IS_EXFAT_BENIGN_PRI(x)   (x < 0xC0)
 
#define IS_EXFAT_CRITICAL_SEC(x)   (x < 0xE0)
 
#define CS_DIR_ENTRY   0
 
#define CS_BOOT_SECTOR   1
 
#define CS_DEFAULT   2
 
#define ATTR_READONLY   0x0001
 
#define ATTR_HIDDEN   0x0002
 
#define ATTR_SYSTEM   0x0004
 
#define ATTR_VOLUME   0x0008
 
#define ATTR_SUBDIR   0x0010
 
#define ATTR_ARCHIVE   0x0020
 
#define ATTR_RWMASK   (ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME | ATTR_SUBDIR | ATTR_ARCHIVE)
 
#define BOOTSEC_JUMP_BOOT_LEN   3
 
#define BOOTSEC_OLDBPB_LEN   53
 
#define EXFAT_FILE_NAME_LEN   15
 
#define EXFAT_MIN_SECT_SIZE_BITS   9
 
#define EXFAT_MAX_SECT_SIZE_BITS   12
 
#define EXFAT_MAX_SECT_PER_CLUS_BITS(x)   (25 - (x)->sect_size_bits)
 
#define EXFAT_TZ_VALID   (1 << 7)
 
#define EXFAT_MIN_TIMESTAMP_SECS   315532800LL
 
#define EXFAT_MAX_TIMESTAMP_SECS   4354819199LL
 

Macro Definition Documentation

◆ _EXFAT_RAW_H

#define _EXFAT_RAW_H

◆ ALLOC_FAT_CHAIN [1/2]

#define ALLOC_FAT_CHAIN   0x01

◆ ALLOC_FAT_CHAIN [2/2]

#define ALLOC_FAT_CHAIN   0x01

◆ ALLOC_NO_FAT_CHAIN [1/2]

#define ALLOC_NO_FAT_CHAIN   0x03

◆ ALLOC_NO_FAT_CHAIN [2/2]

#define ALLOC_NO_FAT_CHAIN   0x03

◆ ATTR_ARCHIVE [1/2]

#define ATTR_ARCHIVE   0x0020

◆ ATTR_ARCHIVE [2/2]

#define ATTR_ARCHIVE   0x0020

◆ ATTR_HIDDEN [1/2]

#define ATTR_HIDDEN   0x0002

◆ ATTR_HIDDEN [2/2]

#define ATTR_HIDDEN   0x0002

◆ ATTR_READONLY [1/2]

#define ATTR_READONLY   0x0001

◆ ATTR_READONLY [2/2]

#define ATTR_READONLY   0x0001

◆ ATTR_RWMASK [1/2]

#define ATTR_RWMASK   (ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME | ATTR_SUBDIR | ATTR_ARCHIVE)

◆ ATTR_RWMASK [2/2]

#define ATTR_RWMASK   (ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME | ATTR_SUBDIR | ATTR_ARCHIVE)

◆ ATTR_SUBDIR [1/2]

#define ATTR_SUBDIR   0x0010

◆ ATTR_SUBDIR [2/2]

#define ATTR_SUBDIR   0x0010

◆ ATTR_SYSTEM [1/2]

#define ATTR_SYSTEM   0x0004

◆ ATTR_SYSTEM [2/2]

#define ATTR_SYSTEM   0x0004

◆ ATTR_VOLUME [1/2]

#define ATTR_VOLUME   0x0008

◆ ATTR_VOLUME [2/2]

#define ATTR_VOLUME   0x0008

◆ BOOT_SIGNATURE [1/2]

#define BOOT_SIGNATURE   0xAA55

◆ BOOT_SIGNATURE [2/2]

#define BOOT_SIGNATURE   0xAA55

◆ BOOTSEC_JUMP_BOOT_LEN [1/2]

#define BOOTSEC_JUMP_BOOT_LEN   3

◆ BOOTSEC_JUMP_BOOT_LEN [2/2]

#define BOOTSEC_JUMP_BOOT_LEN   3

◆ BOOTSEC_OLDBPB_LEN [1/2]

#define BOOTSEC_OLDBPB_LEN   53

◆ BOOTSEC_OLDBPB_LEN [2/2]

#define BOOTSEC_OLDBPB_LEN   53

◆ CS_BOOT_SECTOR [1/2]

#define CS_BOOT_SECTOR   1

◆ CS_BOOT_SECTOR [2/2]

#define CS_BOOT_SECTOR   1

◆ CS_DEFAULT [1/2]

#define CS_DEFAULT   2

◆ CS_DEFAULT [2/2]

#define CS_DEFAULT   2

◆ CS_DIR_ENTRY [1/2]

#define CS_DIR_ENTRY   0

◆ CS_DIR_ENTRY [2/2]

#define CS_DIR_ENTRY   0

◆ DENTRY_SIZE [1/2]

#define DENTRY_SIZE   32 /* directory entry size */

◆ DENTRY_SIZE [2/2]

#define DENTRY_SIZE   32 /* directory entry size */

◆ DENTRY_SIZE_BITS [1/2]

#define DENTRY_SIZE_BITS   5

◆ DENTRY_SIZE_BITS [2/2]

#define DENTRY_SIZE_BITS   5

◆ EXBOOT_SIGNATURE [1/2]

#define EXBOOT_SIGNATURE   0xAA550000

◆ EXBOOT_SIGNATURE [2/2]

#define EXBOOT_SIGNATURE   0xAA550000

◆ EXFAT_ACL [1/2]

#define EXFAT_ACL   0xC2 /* stream entry */

◆ EXFAT_ACL [2/2]

#define EXFAT_ACL   0xC2 /* stream entry */

◆ EXFAT_ACLTAB [1/2]

#define EXFAT_ACLTAB   0xA2

◆ EXFAT_ACLTAB [2/2]

#define EXFAT_ACLTAB   0xA2

◆ EXFAT_BAD_CLUSTER [1/2]

#define EXFAT_BAD_CLUSTER   0xFFFFFFF7u

◆ EXFAT_BAD_CLUSTER [2/2]

#define EXFAT_BAD_CLUSTER   0xFFFFFFF7u

◆ EXFAT_BITMAP [1/2]

#define EXFAT_BITMAP   0x81 /* allocation bitmap */

◆ EXFAT_BITMAP [2/2]

#define EXFAT_BITMAP   0x81 /* allocation bitmap */

◆ EXFAT_DATA_CLUSTER_COUNT [1/2]

#define EXFAT_DATA_CLUSTER_COUNT (   sbi)    ((sbi)->num_clusters - EXFAT_RESERVED_CLUSTERS)

◆ EXFAT_DATA_CLUSTER_COUNT [2/2]

#define EXFAT_DATA_CLUSTER_COUNT (   sbi)    ((sbi)->num_clusters - EXFAT_RESERVED_CLUSTERS)

◆ EXFAT_DELETE [1/2]

#define EXFAT_DELETE   (~0x80)

◆ EXFAT_DELETE [2/2]

#define EXFAT_DELETE   (~0x80)

◆ EXFAT_EOF_CLUSTER [1/2]

#define EXFAT_EOF_CLUSTER   0xFFFFFFFFu

◆ EXFAT_EOF_CLUSTER [2/2]

#define EXFAT_EOF_CLUSTER   0xFFFFFFFFu

◆ EXFAT_FILE [1/2]

#define EXFAT_FILE   0x85 /* file or dir */

◆ EXFAT_FILE [2/2]

#define EXFAT_FILE   0x85 /* file or dir */

◆ EXFAT_FILE_NAME_LEN [1/2]

#define EXFAT_FILE_NAME_LEN   15

◆ EXFAT_FILE_NAME_LEN [2/2]

#define EXFAT_FILE_NAME_LEN   15

◆ EXFAT_FIRST_CLUSTER [1/2]

#define EXFAT_FIRST_CLUSTER   2

◆ EXFAT_FIRST_CLUSTER [2/2]

#define EXFAT_FIRST_CLUSTER   2

◆ EXFAT_FREE_CLUSTER [1/2]

#define EXFAT_FREE_CLUSTER   0

◆ EXFAT_FREE_CLUSTER [2/2]

#define EXFAT_FREE_CLUSTER   0

◆ EXFAT_GUID [1/2]

#define EXFAT_GUID   0xA0

◆ EXFAT_GUID [2/2]

#define EXFAT_GUID   0xA0

◆ EXFAT_INVAL [1/2]

#define EXFAT_INVAL   0x80 /* invalid value */

◆ EXFAT_INVAL [2/2]

#define EXFAT_INVAL   0x80 /* invalid value */

◆ EXFAT_MAX_FILE_LEN [1/2]

#define EXFAT_MAX_FILE_LEN   255

◆ EXFAT_MAX_FILE_LEN [2/2]

#define EXFAT_MAX_FILE_LEN   255

◆ EXFAT_MAX_SECT_PER_CLUS_BITS [1/2]

#define EXFAT_MAX_SECT_PER_CLUS_BITS (   x)    (25 - (x)->sect_size_bits)

◆ EXFAT_MAX_SECT_PER_CLUS_BITS [2/2]

#define EXFAT_MAX_SECT_PER_CLUS_BITS (   x)    (25 - (x)->sect_size_bits)

◆ EXFAT_MAX_SECT_SIZE_BITS [1/2]

#define EXFAT_MAX_SECT_SIZE_BITS   12

◆ EXFAT_MAX_SECT_SIZE_BITS [2/2]

#define EXFAT_MAX_SECT_SIZE_BITS   12

◆ EXFAT_MAX_TIMESTAMP_SECS [1/2]

#define EXFAT_MAX_TIMESTAMP_SECS   4354819199LL

◆ EXFAT_MAX_TIMESTAMP_SECS [2/2]

#define EXFAT_MAX_TIMESTAMP_SECS   4354819199LL

◆ EXFAT_MIN_SECT_SIZE_BITS [1/2]

#define EXFAT_MIN_SECT_SIZE_BITS   9

◆ EXFAT_MIN_SECT_SIZE_BITS [2/2]

#define EXFAT_MIN_SECT_SIZE_BITS   9

◆ EXFAT_MIN_TIMESTAMP_SECS [1/2]

#define EXFAT_MIN_TIMESTAMP_SECS   315532800LL

◆ EXFAT_MIN_TIMESTAMP_SECS [2/2]

#define EXFAT_MIN_TIMESTAMP_SECS   315532800LL

◆ EXFAT_NAME [1/2]

#define EXFAT_NAME   0xC1 /* file name entry */

◆ EXFAT_NAME [2/2]

#define EXFAT_NAME   0xC1 /* file name entry */

◆ EXFAT_PADDING [1/2]

#define EXFAT_PADDING   0xA1

◆ EXFAT_PADDING [2/2]

#define EXFAT_PADDING   0xA1

◆ EXFAT_RESERVED_CLUSTERS [1/2]

#define EXFAT_RESERVED_CLUSTERS   2

◆ EXFAT_RESERVED_CLUSTERS [2/2]

#define EXFAT_RESERVED_CLUSTERS   2

◆ EXFAT_STREAM [1/2]

#define EXFAT_STREAM   0xC0 /* stream entry */

◆ EXFAT_STREAM [2/2]

#define EXFAT_STREAM   0xC0 /* stream entry */

◆ EXFAT_TZ_VALID [1/2]

#define EXFAT_TZ_VALID   (1 << 7)

◆ EXFAT_TZ_VALID [2/2]

#define EXFAT_TZ_VALID   (1 << 7)

◆ EXFAT_UNUSED [1/2]

#define EXFAT_UNUSED   0x00 /* end of directory */

◆ EXFAT_UNUSED [2/2]

#define EXFAT_UNUSED   0x00 /* end of directory */

◆ EXFAT_UPCASE [1/2]

#define EXFAT_UPCASE   0x82 /* upcase table */

◆ EXFAT_UPCASE [2/2]

#define EXFAT_UPCASE   0x82 /* upcase table */

◆ EXFAT_VOLUME [1/2]

#define EXFAT_VOLUME   0x83 /* volume label */

◆ EXFAT_VOLUME [2/2]

#define EXFAT_VOLUME   0x83 /* volume label */

◆ IS_EXFAT_BENIGN_PRI [1/2]

#define IS_EXFAT_BENIGN_PRI (   x)    (x < 0xC0)

◆ IS_EXFAT_BENIGN_PRI [2/2]

#define IS_EXFAT_BENIGN_PRI (   x)    (x < 0xC0)

◆ IS_EXFAT_CRITICAL_PRI [1/2]

#define IS_EXFAT_CRITICAL_PRI (   x)    (x < 0xA0)

◆ IS_EXFAT_CRITICAL_PRI [2/2]

#define IS_EXFAT_CRITICAL_PRI (   x)    (x < 0xA0)

◆ IS_EXFAT_CRITICAL_SEC [1/2]

#define IS_EXFAT_CRITICAL_SEC (   x)    (x < 0xE0)

◆ IS_EXFAT_CRITICAL_SEC [2/2]

#define IS_EXFAT_CRITICAL_SEC (   x)    (x < 0xE0)

◆ IS_EXFAT_DELETED [1/2]

#define IS_EXFAT_DELETED (   x)    ((x) < 0x80) /* deleted file (0x01~0x7F) */

◆ IS_EXFAT_DELETED [2/2]

#define IS_EXFAT_DELETED (   x)    ((x) < 0x80) /* deleted file (0x01~0x7F) */

◆ MAX_EXFAT_DENTRIES [1/2]

#define MAX_EXFAT_DENTRIES   8388608

◆ MAX_EXFAT_DENTRIES [2/2]

#define MAX_EXFAT_DENTRIES   8388608

◆ MEDIA_FAILURE [1/2]

#define MEDIA_FAILURE   0x0004

◆ MEDIA_FAILURE [2/2]

#define MEDIA_FAILURE   0x0004

◆ STR_EXFAT [1/2]

#define STR_EXFAT   "EXFAT " /* size should be 8 */

◆ STR_EXFAT [2/2]

#define STR_EXFAT   "EXFAT " /* size should be 8 */

◆ VOLUME_DIRTY [1/2]

#define VOLUME_DIRTY   0x0002

◆ VOLUME_DIRTY [2/2]

#define VOLUME_DIRTY   0x0002