From b905869a35f062a4e5072f10bec3a2ba3db0e365 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Wed, 30 Jul 2025 14:32:01 -0400 Subject: working userland with some invoke syscalls --- lib/objdir.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/objdir.c (limited to 'lib/objdir.c') diff --git a/lib/objdir.c b/lib/objdir.c new file mode 100644 index 0000000..665da4c --- /dev/null +++ b/lib/objdir.c @@ -0,0 +1,15 @@ +#include "object.h" + +objdir_entry_t* +objdir_seek(objdir_t *dir, uintmax_t index) +{ + uint8_t tli = index & 0xFF; + if(tli == 0) return &dir->self; + + objdir_entry_t *entry = &dir->entries[tli]; + if(entry->type == KO_OBJECT_DIRECTORY) { + if(tli == index) return entry; + return objdir_seek((objdir_t*)entry->data, index >> 8); + } + return entry; +} -- cgit v1.2.1