20#ifndef PED_FAT_BOOTSECTOR_H
21#define PED_FAT_BOOTSECTOR_H
28#define FAT32_INFO_MAGIC1 0x41615252
29#define FAT32_INFO_MAGIC2 0x61417272
30#define FAT32_INFO_MAGIC3 0xaa55
34#define FAT_BOOT_MESSAGE \
35"This partition does not have an operating system loader installed on it.\n\r"\
36"Press a key to reboot..."
38#define FAT_BOOT_JUMP "\xeb\x58\x90"
40#define FAT_BOOT_CODE "\x0e" \
60#define FAT_BOOT_CODE_LENGTH 128
62struct __attribute__ ((packed)) _FatBootSector {
76 uint32_t sector_count;
78 union __attribute__ ((packed)) {
80 struct __attribute__ ((packed)) {
83 uint8_t ext_signature;
84 uint32_t serial_number;
90 struct __attribute__ ((packed)) {
94 uint32_t root_dir_cluster;
96 uint16_t backup_sector;
99 uint8_t ext_signature;
100 uint32_t serial_number;
102 uint8_t fat_name [8];
110struct __attribute__ ((packed)) _FatInfoSector {
111 uint32_t signature_1;
113 uint32_t signature_2;
114 uint32_t free_clusters;
115 uint32_t next_cluster;
116 uint8_t unused2 [0xe];
117 uint16_t signature_3;
char unused[172]
Definition bsd.c:2
char boot_code[64]
Definition bsd.c:0
uint16_t volume_name[F2FS_MAX_VOLUME_NAME]
Definition f2fs.h:28
struct _FatInfoSector FatInfoSector
Definition bootsector.h:24
struct _FatBootSector FatBootSector
Definition bootsector.h:23
int fat_boot_sector_read(FatBootSector **bs, const PedGeometry *geom)
Definition bootsector.c:39
FatType fat_boot_sector_probe_type(const FatBootSector *bs, const PedGeometry *geom)
Definition bootsector.c:90
int fat_boot_sector_analyse(FatBootSector *bs, PedFileSystem *fs)
Definition bootsector.c:139
enum _FatType FatType
Definition fat.h:49
unsigned char reserved
Definition fdasd.h:2
struct _PedFileSystem PedFileSystem
Definition filesys.h:30
struct _PedGeometry PedGeometry
Definition geom.h:30