|
| #define | SIZEOF_DENTRY 32 |
| |
| #define | ROOT_DIR_SECTORS(b) |
| |
| #define | FAT_SIZE(b) |
| |
| #define | FIRST_DATA_SECTOR(b) |
| |
| #define | FIRST_SECTOR_OF_CLUSTER(b, N) (((N) - 2) * ((b)->sector_per_cluster) + FIRST_DATA_SECTOR(b)) |
| |
| #define | TOTAL_SECTOR(b) |
| |
| #define | NR_DATA_SECTOR(b) |
| |
| #define | COUNT_OF_CLUSTER(b) (NR_DATA_SECTOR(b) / (b)->sector_per_cluster) |
| |
| #define | IS_FAT12(b) (COUNT_OF_CLUSTER(b) < 4085) |
| |
| #define | IS_FAT16(b) (!IS_FAT12(b) && (COUNT_OF_CLUSTER(b) < 65525)) |
| |
| #define | IS_FAT32(b) (COUNT_OF_CLUSTER(b) >= 65525) |
| |
| #define | COUNT_OF_VALID_MAX_CLUSTER(b) (COUNT_OF_CLUSTER(b) + 1) |
| |
| #define | FAT_OFFSET(b, N) |
| |
| #define | FAT_SECTOR_NUMBER(b, N) (FAT_OFFSET((b), (N)) / (b)->sector_size) |
| |
| #define | FAT_SECTORS(b, N) ((b)->reserved_sector + (N) * FAT_SIZE(b)) |
| |
| #define | THIS_FAT_OFFSET(b, N) (FAT_SECTORS((b), (N)) * (b)->sector_size) |
| |
| #define | FAT_ENTRY_OFFSET(b, N) (FAT_OFFSET(b, (N)) % (b)->sector_size) |
| |
| #define | WORD(buf) ((unsigned short*)(buf)) |
| |
| #define | DWORD(buf) ((unsigned int*)(buf)) |
| |
| #define | FAT_EOF(bpb) |
| |
| #define | SET_CLUSTER_ENTRY_VALUE(b, B, N, val) |
| |
| #define | IS_EOF(b, v) |
| |
| #define | BAD_CLUSTER12 0x0FF7 |
| |
| #define | BAD_CLUSTER16 0xFFF7 |
| |
| #define | BAD_CLUSTER32 0x0FFFFFF7 |
| |
| #define | UPDATE_FAT_SIZE(b, dsksz) |
| |
| #define | FIRST_ROOTDIR_SECTOR(b) ((b)->reserved_sector + (b)->nr_fat * FAT_SIZE(b)) |
| |
| #define | GET_FIRST_BLOCK(d) ((d)->first_cluster_hi << 16 | (d)->first_cluster_lo) |
| |
| #define | IS_FREE_DENTRY(d) |
| |
| #define | IS_KANJI_NAME(d) ((d)->name[0] == 0x05) |
| |
| #define | IS_VALID_CHAR_FOR_NAME(ch) (!(((ch) != 0x05 && (ch) < 0x20) && (ch) != 0x22 && ((ch) >= 0x2A && (ch) <= 0x2F) && ((ch) >= 0x3A && (ch) <= 0x3F) && (ch) != 0x5B && (ch) != 0x5C && (ch) != 0x5D && (ch) != 0x7C)) |
| |
| #define | DAY_OF_MONTH(e) ((e)->write_date & 0x000Fu) |
| |
| #define | MONTH_OF_YEAR(e) (((e)->write_date >> 4) & 0x000Fu) |
| |
| #define | COUNT_OF_YEAR(e) (1980 + (((e)->write_date >> 8) & 0x00FFu)) |
| |
| #define | SECOND_COUNT(e) ((e)->write_time & 0x000Fu) |
| |
| #define | MINUTES(e) (((e)->write_time >> 4) & 0x003F) |
| |
| #define | HOURS(e) (((e)->write_time >> 10) & 0x001F) |
| |
| #define | LAST_LONG_ENTRY 0x40 |
| |
| #define | PATH_MAX 256 |
| |
| #define | IS_LAST_SLOT(e) (((e)->ord & LAST_LONG_ENTRY) == 0) |
| |