Kintsugi OS
0.5.0
x86 Monolithic OS
Loading...
Searching...
No Matches
fat12.h
Go to the documentation of this file.
1
#ifndef FS_FAT12_H
2
#define FS_FAT12_H
3
#include "../kklibc/ctypes.h"
4
5
typedef
struct
__attribute__
((packed)) {
6
u8
jmp[3];
7
char
oem[8];
8
u16
bytes_per_sector;
9
u8
sectors_per_cluster;
10
u16
reserved_sectors;
11
u8
fat_count;
12
u16
root_entries;
13
u16
total_sectors;
14
u8
media_type;
15
u16
sectors_per_fat;
16
u16
sectors_per_track;
17
u16
head_count;
18
u32
hidden_sectors;
19
u32
large_sector_count;
20
u8
drive_number, reserved, boot_signature;
21
u32
volume_id;
22
char
volume_label[11], fs_type[8];
23
}
fat12_boot_sector_t
;
24
25
typedef
struct
__attribute__
((packed)) {
26
char
filename[8], extension[3];
27
u8
attributes, reserved[10];
28
u16
time_created, date_created, first_cluster;
29
u32
file_size;
30
}
fat12_dir_entry_t
;
31
32
typedef
struct
{
33
u32
fat_start_sector,
fat_size_sectors
;
34
u32
root_dir_start_sector,
root_dir_size_sectors
;
35
u32
data_start_sector
, total_clusters;
36
u8
*
fat_buffer
;
37
}
fat12_context_t
;
38
39
/* File operations are exposed exclusively through vfs.h. */
40
void
fat12_init
(
void
);
41
void
fat12_cleanup
(
void
);
42
int
fat12_is_mounted
(
void
);
43
int
fat12_read_boot_sector
(
fat12_boot_sector_t
* boot);
44
void
print_fat12_info
(
void
);
45
#endif
u32
unsigned int u32
Definition
ctypes.h:11
u16
unsigned short u16
Definition
ctypes.h:13
u8
unsigned char u8
Definition
ctypes.h:15
fat12_is_mounted
int fat12_is_mounted(void)
Definition
fat12.c:14
fat12_init
void fat12_init(void)
Definition
fat12.c:57
fat12_dir_entry_t
fat12_dir_entry_t
Definition
fat12.h:30
fat12_read_boot_sector
int fat12_read_boot_sector(fat12_boot_sector_t *boot)
Definition
fat12.c:32
fat12_cleanup
void fat12_cleanup(void)
Definition
fat12.c:47
fat12_boot_sector_t
fat12_boot_sector_t
Definition
fat12.h:23
print_fat12_info
void print_fat12_info(void)
Definition
fat12.c:182
__attribute__
Definition
idt.h:11
fat12_context_t
Definition
fat12.h:32
fat12_context_t::root_dir_size_sectors
u32 root_dir_size_sectors
Definition
fat12.h:34
fat12_context_t::fat_buffer
u8 * fat_buffer
Definition
fat12.h:36
fat12_context_t::fat_size_sectors
u32 fat_size_sectors
Definition
fat12.h:33
fat12_context_t::data_start_sector
u32 data_start_sector
Definition
fat12.h:35
src
kernel
fs
fat12.h
Generated by
1.9.8