From df0688efa326a03a22bcbc36d1900926b7b1c986 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Mon, 7 Sep 2026 19:19:24 -0400 Subject: split syscall info into api subfolder. untyped syscalls --- api/obj.h | 23 +++++++++++++++++++++++ api/syscall.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 api/obj.h create mode 100644 api/syscall.h (limited to 'api') diff --git a/api/obj.h b/api/obj.h new file mode 100644 index 0000000..4d5e829 --- /dev/null +++ b/api/obj.h @@ -0,0 +1,23 @@ +#ifndef _JOVE_API_OBJ_H +#define _JOVE_API_OBJ_H 1 + +#include + +enum +{ + JOVE_OBJ_NONE = 0, + JOVE_OBJ_UNTYPED, + JOVE_OBJ_OBJDIR, + JOVE_OBJ_PAGEDIR, + JOVE_OBJ_PROCESSOR, + JOVE_OBJ_PROCESS, + JOVE_OBJ_PAGEFRAME, + JOVE_OBJ_INITRD_FILE, + JOVE_OBJ_FRAMEBUFFER, + JOVE_OBJ_VIRTTERM, + JOVE_OBJ_MESSAGE +}; + +typedef uint16_t objpath_part_t; + +#endif diff --git a/api/syscall.h b/api/syscall.h new file mode 100644 index 0000000..cf8b1c1 --- /dev/null +++ b/api/syscall.h @@ -0,0 +1,48 @@ +#ifndef _JOVE_API_SYSCALL_H +#define _JOVE_API_SYSCALL_H 1 + +#include +#include + +#include "obj.h" + +struct syscall_header +{ + uint16_t callid; + uint16_t pathlen; + uint16_t path[]; +}; + +#define SYSCALL_VTT_WRITE 0 +struct syscall_generic_write +{ + size_t len; + char data[]; +}; + +#define SYSCALL_UNTYPED_SIZE 0 +#define SYSCALL_UNTYPED_ALIGN 1 + +#define SYSCALL_UNTYPED_RETYPE 2 +struct syscall_untyped_retype +{ + uint16_t newtype; +}; + +#define SYSCALL_UNTYPED_SPLIT 3 +#define SYSCALL_UNTYPED_MERGE 4 +struct syscall_untyped_split +{ + size_t bytes; + uint16_t dest_pathlen; + objpath_part_t dest_path[]; +}; +struct syscall_generic_objpath +{ + uint16_t second_pathlen; + objpath_part_t second_path[]; +}; + +#define SYSCALL_OBJDIR_OBJTYPE 0 + +#endif -- cgit v1.2.3