AOPT
AOPT(uint16_t, backup_sector, 1) \
AOPT(uint32_t, block_size, 1) \
AOPT(char *, bootstrap, -1) \
AOPT(uint16_t, bytes_per_sector, 1) \
AOPT(off_t, create_size, 0) \
AOPT(uint16_t, directory_entries, 1) \
AOPT(uint16_t, drive_heads, 1) \
AOPT(uint8_t, fat_type, 12) \
AOPT(char *, floppy, -1) \
AOPT(uint32_t, hidden_sectors, 0) \
AOPT(uint16_t, info_sector, 1) \
AOPT(uint8_t, media_descriptor, 0) \
AOPT(uint8_t, num_FAT, 1) \
AOPT(char *, OEM_string, -1) \
AOPT(off_t, offset, 0) \
AOPT(uint16_t, reserved_sectors, 1) \
AOPT(uint8_t, sectors_per_cluster, 1) \
AOPT(uint32_t, sectors_per_fat, 1) \
AOPT(uint16_t, sectors_per_track, 1) \
AOPT(uint32_t, size, 1) \
AOPT(uint32_t, volume_id, 0) \
AOPT(char *, volume_label, -1)