This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
| struct | fat_boot_sector_t |
| struct | fat_boot_fsinfo_t |
| struct | msdos_dir_entry_t |
| struct | msdos_dir_slot_t |
Macros | |
| #define | SECTOR_SIZE 512 /* sector size (bytes) */ |
| #define | SECTOR_BITS 9 /* log2(SECTOR_SIZE) */ |
| #define | MSDOS_DPB (MSDOS_DPS) /* dir entries per block */ |
| #define | MSDOS_DPB_BITS 4 /* log2(MSDOS_DPB) */ |
| #define | MSDOS_DPS (SECTOR_SIZE / sizeof(struct msdos_dir_entry)) |
| #define | MSDOS_DPS_BITS 4 /* log2(MSDOS_DPS) */ |
| #define | MSDOS_LONGNAME 256 /* maximum name length */ |
| #define | MSDOS_ROOT_INO 1 /* The root inode number */ |
| #define | MSDOS_FSINFO_INO 2 /* Used for managing the FSINFO block */ |
| #define | MSDOS_DIR_BITS 5 /* log2(sizeof(struct msdos_dir_entry)) */ |
| #define | FAT_MAX_DIR_ENTRIES (65536) |
| #define | FAT_MAX_DIR_SIZE (FAT_MAX_DIR_ENTRIES << MSDOS_DIR_BITS) |
| #define | ATTR_NONE 0x0000 /* no attribute bits */ |
| #define | ATTR_RO 0x0001 /* read-only */ |
| #define | ATTR_HIDDEN 0x0002 /* hidden */ |
| #define | ATTR_SYS 0x0004 /* system */ |
| #define | ATTR_VOLUME 0x0008 /* volume label */ |
| #define | ATTR_DIR 0x0010 /* directory */ |
| #define | ATTR_ARCH 0x0020 /* archived */ |
| #define | ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN) |
| #define | ATTR_EXT (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME) |
| #define | CASE_LOWER_BASE 8 /* base is lower case */ |
| #define | CASE_LOWER_EXT 16 /* extension is lower case */ |
| #define | DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */ |
| #define | IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG) |
| #define | FAT_LFN_LEN 255 /* maximum long name length */ |
| #define | MSDOS_NAME 11 /* maximum name length */ |
| #define | MSDOS_SLOTS 21 /* max # of slots for short and long names */ |
| #define | MSDOS_DOT ". " /* ".", padded to MSDOS_NAME chars */ |
| #define | MSDOS_DOTDOT ".. " /* "..", padded to MSDOS_NAME chars */ |
| #define | FAT_START_ENT 2 |
| #define | BAD_FAT12 0xFF7 |
| #define | BAD_FAT16 0xFFF7 |
| #define | BAD_FAT32 0x0FFFFFF7 |
| #define | EOF_FAT12 0xFFF |
| #define | EOF_FAT16 0xFFFF |
| #define | EOF_FAT32 0x0FFFFFFF |
| #define | FAT_ENT_FREE (0) |
| #define | FAT_ENT_BAD (BAD_FAT32) |
| #define | FAT_ENT_EOF (EOF_FAT32) |
| #define | FAT_FSINFO_SIG1 0x41615252 |
| #define | FAT_FSINFO_SIG2 0x61417272 |
| #define | IS_FSINFO(x) ((x)->signature1 == FAT_FSINFO_SIG1 && (x)->signature2 == FAT_FSINFO_SIG2) |
| #define | FAT_STATE_DIRTY 0x01 |
Macro Definition Documentation
◆ ATTR_ARCH
| #define ATTR_ARCH 0x0020 /* archived */ |
◆ ATTR_DIR
| #define ATTR_DIR 0x0010 /* directory */ |
◆ ATTR_EXT
| #define ATTR_EXT (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME) |
◆ ATTR_HIDDEN
| #define ATTR_HIDDEN 0x0002 /* hidden */ |
◆ ATTR_NONE
| #define ATTR_NONE 0x0000 /* no attribute bits */ |
◆ ATTR_RO
| #define ATTR_RO 0x0001 /* read-only */ |
◆ ATTR_SYS
| #define ATTR_SYS 0x0004 /* system */ |
◆ ATTR_UNUSED
| #define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN) |
◆ ATTR_VOLUME
| #define ATTR_VOLUME 0x0008 /* volume label */ |
◆ BAD_FAT12
| #define BAD_FAT12 0xFF7 |
◆ BAD_FAT16
| #define BAD_FAT16 0xFFF7 |
◆ BAD_FAT32
| #define BAD_FAT32 0x0FFFFFF7 |
◆ CASE_LOWER_BASE
| #define CASE_LOWER_BASE 8 /* base is lower case */ |
◆ CASE_LOWER_EXT
| #define CASE_LOWER_EXT 16 /* extension is lower case */ |
◆ DELETED_FLAG
| #define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */ |
◆ EOF_FAT12
| #define EOF_FAT12 0xFFF |
◆ EOF_FAT16
| #define EOF_FAT16 0xFFFF |
◆ EOF_FAT32
| #define EOF_FAT32 0x0FFFFFFF |
◆ FAT_ENT_BAD
| #define FAT_ENT_BAD (BAD_FAT32) |
◆ FAT_ENT_EOF
| #define FAT_ENT_EOF (EOF_FAT32) |
◆ FAT_ENT_FREE
| #define FAT_ENT_FREE (0) |
◆ FAT_FSINFO_SIG1
| #define FAT_FSINFO_SIG1 0x41615252 |
◆ FAT_FSINFO_SIG2
| #define FAT_FSINFO_SIG2 0x61417272 |
◆ FAT_LFN_LEN
| #define FAT_LFN_LEN 255 /* maximum long name length */ |
◆ FAT_MAX_DIR_ENTRIES
| #define FAT_MAX_DIR_ENTRIES (65536) |
◆ FAT_MAX_DIR_SIZE
| #define FAT_MAX_DIR_SIZE (FAT_MAX_DIR_ENTRIES << MSDOS_DIR_BITS) |
◆ FAT_START_ENT
| #define FAT_START_ENT 2 |
◆ FAT_STATE_DIRTY
| #define FAT_STATE_DIRTY 0x01 |
◆ IS_FREE
| #define IS_FREE | ( | n | ) | (!*(n) || *(n) == DELETED_FLAG) |
◆ IS_FSINFO
| #define IS_FSINFO | ( | x | ) | ((x)->signature1 == FAT_FSINFO_SIG1 && (x)->signature2 == FAT_FSINFO_SIG2) |
◆ MSDOS_DIR_BITS
| #define MSDOS_DIR_BITS 5 /* log2(sizeof(struct msdos_dir_entry)) */ |
◆ MSDOS_DOT
| #define MSDOS_DOT ". " /* ".", padded to MSDOS_NAME chars */ |
◆ MSDOS_DOTDOT
| #define MSDOS_DOTDOT ".. " /* "..", padded to MSDOS_NAME chars */ |
◆ MSDOS_DPB
| #define MSDOS_DPB (MSDOS_DPS) /* dir entries per block */ |
◆ MSDOS_DPB_BITS
| #define MSDOS_DPB_BITS 4 /* log2(MSDOS_DPB) */ |
◆ MSDOS_DPS
| #define MSDOS_DPS (SECTOR_SIZE / sizeof(struct msdos_dir_entry)) |
◆ MSDOS_DPS_BITS
| #define MSDOS_DPS_BITS 4 /* log2(MSDOS_DPS) */ |
◆ MSDOS_FSINFO_INO
| #define MSDOS_FSINFO_INO 2 /* Used for managing the FSINFO block */ |
◆ MSDOS_LONGNAME
| #define MSDOS_LONGNAME 256 /* maximum name length */ |
◆ MSDOS_NAME
| #define MSDOS_NAME 11 /* maximum name length */ |
◆ MSDOS_ROOT_INO
| #define MSDOS_ROOT_INO 1 /* The root inode number */ |
◆ MSDOS_SLOTS
| #define MSDOS_SLOTS 21 /* max # of slots for short and long names */ |
◆ SECTOR_BITS
| #define SECTOR_BITS 9 /* log2(SECTOR_SIZE) */ |
◆ SECTOR_SIZE
| #define SECTOR_SIZE 512 /* sector size (bytes) */ |
1.8.17