mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-24 19:34:01 +00:00
硬盘支持(FAT32)
This commit is contained in:
38
clks/include/clks/disk.h
Normal file
38
clks/include/clks/disk.h
Normal file
@@ -0,0 +1,38 @@
|
||||
#ifndef CLKS_DISK_H
|
||||
#define CLKS_DISK_H
|
||||
|
||||
#include <clks/types.h>
|
||||
|
||||
#define CLKS_DISK_SECTOR_SIZE 512ULL
|
||||
#define CLKS_DISK_PATH_MAX 192U
|
||||
#define CLKS_DISK_NODE_FILE 1ULL
|
||||
#define CLKS_DISK_NODE_DIR 2ULL
|
||||
|
||||
void clks_disk_init(void);
|
||||
|
||||
clks_bool clks_disk_present(void);
|
||||
u64 clks_disk_size_bytes(void);
|
||||
u64 clks_disk_sector_count(void);
|
||||
|
||||
clks_bool clks_disk_read_sector(u64 lba, void *out_sector);
|
||||
clks_bool clks_disk_write_sector(u64 lba, const void *sector_data);
|
||||
|
||||
clks_bool clks_disk_is_formatted_fat32(void);
|
||||
clks_bool clks_disk_format_fat32(const char *label);
|
||||
|
||||
clks_bool clks_disk_mount(const char *mount_path);
|
||||
clks_bool clks_disk_is_mounted(void);
|
||||
const char *clks_disk_mount_path(void);
|
||||
clks_bool clks_disk_path_in_mount(const char *path);
|
||||
|
||||
clks_bool clks_disk_stat(const char *path, u64 *out_type, u64 *out_size);
|
||||
const void *clks_disk_read_all(const char *path, u64 *out_size);
|
||||
u64 clks_disk_count_children(const char *dir_path);
|
||||
clks_bool clks_disk_get_child_name(const char *dir_path, u64 index, char *out_name, usize out_name_size);
|
||||
clks_bool clks_disk_mkdir(const char *path);
|
||||
clks_bool clks_disk_write_all(const char *path, const void *data, u64 size);
|
||||
clks_bool clks_disk_append(const char *path, const void *data, u64 size);
|
||||
clks_bool clks_disk_remove(const char *path);
|
||||
u64 clks_disk_node_count(void);
|
||||
|
||||
#endif
|
||||
@@ -88,6 +88,14 @@
|
||||
#define CLKS_SYSCALL_FB_BLIT 82ULL
|
||||
#define CLKS_SYSCALL_FB_CLEAR 83ULL
|
||||
#define CLKS_SYSCALL_KERNEL_VERSION 84ULL
|
||||
#define CLKS_SYSCALL_DISK_PRESENT 85ULL
|
||||
#define CLKS_SYSCALL_DISK_SIZE_BYTES 86ULL
|
||||
#define CLKS_SYSCALL_DISK_SECTOR_COUNT 87ULL
|
||||
#define CLKS_SYSCALL_DISK_FORMATTED 88ULL
|
||||
#define CLKS_SYSCALL_DISK_FORMAT_FAT32 89ULL
|
||||
#define CLKS_SYSCALL_DISK_MOUNT 90ULL
|
||||
#define CLKS_SYSCALL_DISK_MOUNTED 91ULL
|
||||
#define CLKS_SYSCALL_DISK_MOUNT_PATH 92ULL
|
||||
|
||||
void clks_syscall_init(void);
|
||||
u64 clks_syscall_dispatch(void *frame_ptr);
|
||||
|
||||
Reference in New Issue
Block a user