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
5typedef 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];
24
25typedef 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;
31
32typedef 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;
38
39/* File operations are exposed exclusively through vfs.h. */
40void fat12_init(void);
41void fat12_cleanup(void);
42int fat12_is_mounted(void);
44void print_fat12_info(void);
45#endif
unsigned int u32
Definition ctypes.h:11
unsigned short u16
Definition ctypes.h:13
unsigned char u8
Definition ctypes.h:15
int fat12_is_mounted(void)
Definition fat12.c:14
void fat12_init(void)
Definition fat12.c:57
fat12_dir_entry_t
Definition fat12.h:30
int fat12_read_boot_sector(fat12_boot_sector_t *boot)
Definition fat12.c:32
void fat12_cleanup(void)
Definition fat12.c:47
fat12_boot_sector_t
Definition fat12.h:23
void print_fat12_info(void)
Definition fat12.c:182
Definition idt.h:11
Definition fat12.h:32
u32 root_dir_size_sectors
Definition fat12.h:34
u8 * fat_buffer
Definition fat12.h:36
u32 fat_size_sectors
Definition fat12.h:33
u32 data_start_sector
Definition fat12.h:35