|
Kintsugi OS 0.4.0
x86 Monolithic OS
|
#include "fat12.h"#include "../drivers/ata_pio.h"#include "../drivers/screen.h"#include "../kklibc/mem.h"#include "../kklibc/stdio.h"#include "../kklibc/stdlib.h"Functions | |
| static void | format_filename (const char *input, char *output) |
| static u16 | fat12_get_fat_entry (u32 cluster) |
| static void | fat12_set_fat_entry (u32 cluster, u16 value) |
| static u16 | fat12_find_free_cluster (void) |
| static void | fat12_free_cluster_chain (u16 start_cluster) |
| static int | fat12_find_free_dir_entry (u32 *sector_out, u32 *offset_out) |
| static void | fat12_sync_fat (void) |
| void | fat12_cleanup (void) |
| Очистка ресурсов подсистемы FAT12. | |
| void | fat12_init (void) |
| Инициализация подсистемы FAT12. | |
| void | print_fat12_info (void) |
| Вывод информации о файловой системе FAT12. | |
| void | fat12_list_root (void) |
| Вывод содержимого корневого каталога | |
| static void | format_filename_from_entry (fat12_dir_entry_t *entry, char *out) |
| static void | load_fat_if_needed (void) |
| int | fat12_find_file (const char *filename, fat12_dir_entry_t *result) |
| Поиск файла в корневом каталоге | |
| int | fat12_read_file (const char *filename, u8 *buffer) |
| Чтение содержимого файла в буфер | |
| int | fat12_create_file (const char *filename) |
| Создание пустого файла | |
| int | fat12_delete_file (const char *filename) |
| Удаление файла | |
| int | fat12_write_file (const char *filename, u8 *data, u32 size) |
| Запись данных в файл | |
Variables | |
| static fat12_context_t | ctx |
| static fat12_boot_sector_t | boot_sector |
| void fat12_cleanup | ( | void | ) |
Очистка ресурсов подсистемы FAT12.
Освобождает буферы и сбрасывает состояние контекста
| int fat12_create_file | ( | const char * | filename | ) |
Создание пустого файла
| [in] | filename | Имя файла (формат 8.3) |
| int fat12_delete_file | ( | const char * | filename | ) |
Удаление файла
| [in] | filename | Имя файла (формат 8.3) |
| int fat12_find_file | ( | const char * | filename, |
| fat12_dir_entry_t * | result | ||
| ) |
Поиск файла в корневом каталоге
| [in] | filename | Имя файла в формате "NAME EXT" (8.3, в верхнем регистре) |
| [out] | result | Указатель на структуру для сохранения найденной записи |
|
static |
|
static |
| void fat12_init | ( | void | ) |
Инициализация подсистемы FAT12.
Загружает загрузочный сектор и вычисляет параметры файловой системы
| void fat12_list_root | ( | void | ) |
Вывод содержимого корневого каталога
Выводит список файлов и подкаталогов в корневом каталоге
| int fat12_read_file | ( | const char * | filename, |
| u8 * | buffer | ||
| ) |
Чтение содержимого файла в буфер
| [in] | filename | Имя файла для чтения (формат 8.3) |
| [out] | buffer | Буфер для сохранения данных файла |
|
static |
Запись данных в файл
Если файл существует - перезаписывает его, если нет - создает новый
| [in] | filename | Имя файла (формат 8.3) |
| [in] | data | Данные для записи |
| [in] | size | Размер данных в байтах |
|
static |
|
static |
|
static |
| void print_fat12_info | ( | void | ) |
Вывод информации о файловой системе FAT12.
Отображает параметры из загрузочного сектора и вычисленные смещения
|
static |
|
static |