Go to the documentation of this file.
24 #include <sys/pgmspace.h>
27 #define DISK_MIN_SECTOR_SIZE 512
29 #define FSTYPE_FAT 0x2020202020544146ULL // "FAT " 46 41 54 20 20 20 20 20
30 #define FSTYPE_FAT32 0x2020203233544146ULL // "FAT32 " 46 41 54 33 32 20 20 20
31 #define FSTYPE_EXFAT 0x2020205441465845ULL // "EXFAT " 45 58 46 41 54 20 20 20
33 #define N_SEC_TRACK 63 // Sectors per track for determination of drive CHS
34 #define GPT_ITEMS 128 // Number of GPT table size (>=128, sector aligned)
36 #define OSTYPE_EXTENDED 0x05
54 template <
typename T> T
align_up(T value, uint32_t align)
56 return (value + align - 1) & ~(T(align) - 1);
59 template <
typename T>
auto getBlockCount(T byteCount, uint32_t blockSize)
61 return (byteCount + blockSize - 1) / blockSize;
65 uint32_t
crc32(uint32_t bcc,
const void* data,
size_t length);
67 inline uint32_t
crc32(
const void* data,
size_t length)
69 return crc32(0, data, length);
T align_up(T value, uint32_t align)
Definition: diskdefs.h:54
Definition: FileDevice.h:25
uint32_t crc32(uint32_t bcc, const void *data, size_t length)
auto getBlockCount(T byteCount, uint32_t blockSize)
Definition: diskdefs.h:59
uint32_t crc32_byte(uint32_t crc, uint8_t d)