From 2497a94013261d6fa9159b9c6e94abe6f2d4fd9e Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Sat, 3 Oct 2026 12:03:11 -0400 Subject: process rbtree. add syscall for initrd_file access. --- api/syscall.h | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'api/syscall.h') diff --git a/api/syscall.h b/api/syscall.h index 1cdc941..9f8ec13 100644 --- a/api/syscall.h +++ b/api/syscall.h @@ -29,15 +29,15 @@ struct syscall_generic_write char data[]; }; -/* If the message is too small for path, the kernel will return ETOOSMALL. - * If the path does not point to an object, the kernel will return EBADPATH. - * */ struct syscall_generic_objpath { uint16_t pathlen; objpath_part_t path[]; }; +/**JOVE_OBJ_UNTYPED syscalls. + * */ + enum { _SYSCALL_UNTYPED_BADCALL = 0, @@ -60,6 +60,9 @@ struct syscall_untyped_split objpath_part_t dest_path[]; }; +/**JOVE_OBJ_OBJDIR syscalls. + * */ + enum { _SYSCALL_OBJDIR_BADCALL = 0, @@ -68,6 +71,9 @@ enum #define SYSCALL_PERM_OBJDIR_OBJTYPE JOVE_PERM_READ +/* JOVE_OBJ_PAGEDIR syscalls + * */ + enum { _SYSCALL_PAGEDIR_NONE = 0, @@ -117,6 +123,35 @@ struct syscall_pagedir_unmap objpath_part_t none_path[]; }; +/**JOVE_OBJ_INITRD_FILE syscalls + * */ + +enum +{ + _SYSCALL_INITRD_FILE_NONE = 0, + SYSCALL_INITRD_FILE_NAME, + SYSCALL_INITRD_FILE_SIZE, + SYSCALL_INITRD_FILE_READ +}; + +#define SYSCALL_PERM_INITRD_FILE_NAME (JOVE_PERM_READ) +#define SYSCALL_PERM_INITRD_FILE_SIZE (JOVE_PERM_READ) +#define SYSCALL_PERM_INITRD_FILE_READ (JOVE_PERM_READ) + +struct syscall_initrd_file_name_ret +{ + size_t len; + char c_str[]; +}; + +struct syscall_initrd_file_read +{ + size_t start_index; + size_t read_size; +}; + +/**JOVE_OBJ_VIRTTERM syscalls.*/ + enum { _SYSCALL_VTT_NONE = 0, -- cgit v1.2.3