diff options
author | Benji Dial <benji6283@gmail.com> | 2020-09-19 14:53:29 -0400 |
---|---|---|
committer | Benji Dial <benji6283@gmail.com> | 2020-09-19 14:53:29 -0400 |
commit | de20d7430df08731d9108acb83e1234ba7f1fe16 (patch) | |
tree | 8646f3d1bae3d30391df34766e3e58c0c2af8aab /src/kernel/idt.c | |
parent | 20853582d5385d12421433d21910e783caa00764 (diff) | |
download | portland-os-de20d7430df08731d9108acb83e1234ba7f1fe16.tar.gz |
file manager
Diffstat (limited to 'src/kernel/idt.c')
-rw-r--r-- | src/kernel/idt.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/kernel/idt.c b/src/kernel/idt.c index 90d8dc3..1b8e548 100644 --- a/src/kernel/idt.c +++ b/src/kernel/idt.c @@ -8,6 +8,7 @@ #include "paging.h" #include "pmap.h" #include "kbd.h" +#include "vga.h" enum { IDT_PRESENT = 0x80, @@ -100,6 +101,10 @@ static uint32_t sc_enumerate_dir(uint32_t drive_number, const char *path, struct return drives[drive_number].enumerate_dir(drives + drive_number, path, buffer, max_entries); } +static uint32_t sc_count_of_dir(uint32_t drive_number, const char *path) { + return drives[drive_number].n_dir_entries(drives + drive_number, path); +} + void const *syscall_table[] = { &sc_open_file, &sc_close_file, @@ -111,7 +116,11 @@ void const *syscall_table[] = { &sc_allocate_ram, &sc_memory_info, &sc_wait_for_task, - &sc_enumerate_dir + &sc_enumerate_dir, + &vga_print_at, + &sc_count_of_dir, + &vga_blank, + &vga_set_color }; //these aren't really void ()'s, but gcc complains if we take an address of a void, so we give it a type |