From 60f6508519087d92caa638e238936f85ba4657fb Mon Sep 17 00:00:00 2001 From: notsomeidiot123 Date: Sat, 14 Mar 2026 11:11:57 -0400 Subject: [PATCH] commiting changes before drastically changing everything --- src/kernel/system/vfs.c | 6 +++--- src/kmodules/fs_driver.c | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/kernel/system/vfs.c b/src/kernel/system/vfs.c index 3efc4b4..080a55c 100644 --- a/src/kernel/system/vfs.c +++ b/src/kernel/system/vfs.c @@ -162,6 +162,7 @@ vfile_t *fcreate(char *name, VFILE_TYPE type, ...){ case VFILE_DIRECTORY: case VFILE_MOUNT: case VFILE_SYMLINK: + case VFILE_FILE: void *ptr = va_arg(args, void*); vfile->access.data.ptr = ptr; vfile->access.data.size_pgs = va_arg(args, uint32_t); @@ -169,7 +170,6 @@ vfile_t *fcreate(char *name, VFILE_TYPE type, ...){ // what was the above line even for add_file(vfile, current_dir); break; - case VFILE_FILE: case VFILE_DEVICE: void *write = va_arg(args, void *); void *read = va_arg(args, void *); @@ -216,10 +216,10 @@ int fwrite(vfile_t *file_entry, void *byte_array, uint32_t offset, uint32_t coun return 0; //always successful. If it's not, there's been a page fault. Yk, quantum sort style. break; case VFILE_MOUNT: + case VFILE_FILE: mount_t *funcs = file_entry->access.data.ptr; return funcs->write(file_entry, byte_array, offset, count); case VFILE_PDIR: - case VFILE_FILE: case VFILE_DEVICE: return file_entry->access.funcs.write(file_entry, byte_array, offset, count); break; @@ -237,10 +237,10 @@ int fread(vfile_t *file_entry, void *byte_array, uint32_t offset, uint32_t count return 0; //always successful. If it's not, there's been a page fault. Yk, quantum sort style. break; case VFILE_MOUNT: + case VFILE_FILE: mount_t *funcs = file_entry->access.data.ptr; return funcs->read(file_entry, byte_array, offset, count); case VFILE_PDIR: - case VFILE_FILE: case VFILE_DEVICE: return file_entry->access.funcs.read(file_entry, byte_array, offset, count); break; diff --git a/src/kmodules/fs_driver.c b/src/kmodules/fs_driver.c index c6795bd..5950088 100644 --- a/src/kmodules/fs_driver.c +++ b/src/kmodules/fs_driver.c @@ -21,6 +21,7 @@ uint8_t fat32_check_valid(fat32_bpb_t *bpb){ return bpb->signature == 0x28 || bpb->signature == 0x29; } + uint32_t fat32_mount(vfile_t *dev_file, char *destination, uint32_t offset){ char *bpb_buffer = malloc(api, 1); fread(api, dev_file, bpb_buffer, offset, 4096); @@ -31,6 +32,10 @@ uint32_t fat32_mount(vfile_t *dev_file, char *destination, uint32_t offset){ api(MODULE_API_PRINT, MODULE_NAME, "Error: No valid BPB\n"); return 0; } + puts(api, MODULE_NAME, "Valid BPB found!\n"); + + fat32_make_mount(); + return 1; }