MicrOS
fat_header.h
Go to the documentation of this file.
1 #ifndef FAT_HEADER
2 #define FAT_HEADER
3 
4 #include <stdint.h>
5 
6 typedef struct fat_header
7 {
8  // Bios Parameter Block
9  uint32_t jump_signature : 24;//0x9049eb
10  char oem_identifier[8];//MICROS
11  uint16_t bytes_per_sector;//512
12  uint8_t sectors_per_cluster;//1
13  uint16_t reserved_sectors;//1
14  uint8_t fat_count;//2
15  uint16_t directory_entries;//224
16  uint16_t total_sectors;//2880
17  uint8_t media_descriptor_type;//240
18  uint16_t sectors_per_fat;//9
19  uint16_t sectors_per_track;//18
20  uint16_t heads;//2
23 
24  // Extended Boot Record
25  uint8_t drive_number;//0
26  uint8_t flags;//0
27  uint8_t signature;//41
28  uint32_t volume_id;//0x12345678
29  char volume_label[11];//SYSTEM PART
30  char system_identifier[8];//FAT 12
31 } __attribute__((packed)) fat_header;
32 
33 #endif
uint8_t fat_count
Definition: fat_header.h:14
uint16_t bytes_per_sector
Definition: fat_header.h:11
uint16_t sectors_per_track
Definition: fat_header.h:19
uint8_t signature
Definition: fat_header.h:27
Definition: fat_header.h:6
uint8_t media_descriptor_type
Definition: fat_header.h:17
uint16_t directory_entries
Definition: fat_header.h:15
uint16_t heads
Definition: fat_header.h:20
uint16_t total_sectors
Definition: fat_header.h:16
uint16_t sectors_per_fat
Definition: fat_header.h:18
uint32_t large_sectors
Definition: fat_header.h:22
uint32_t hidden_sectors
Definition: fat_header.h:21
uint8_t flags
Definition: fat_header.h:26
uint32_t volume_id
Definition: fat_header.h:28
uint8_t sectors_per_cluster
Definition: fat_header.h:12
char volume_label[11]
Definition: fat_header.h:29
uint8_t drive_number
Definition: fat_header.h:25
char oem_identifier[8]
Definition: fat_header.h:10
size_t uint32_t
Unsigned integral type.
Definition: string.h:8
uint32_t jump_signature
Definition: fat_header.h:9
uint16_t reserved_sectors
Definition: fat_header.h:13
char system_identifier[8]
Definition: fat_header.h:30