From b92542c6883468829ecce9d4773d9295386b176a Mon Sep 17 00:00:00 2001 From: Max Wash Date: Wed, 1 Apr 2026 18:41:33 +0100 Subject: [PATCH] syscall: handle: add stub implementation of kern_handle_control --- include/kernel/syscall.h | 6 ++++++ syscall/dispatch.c | 1 + syscall/handle.c | 10 ++++++++++ 3 files changed, 17 insertions(+) diff --git a/include/kernel/syscall.h b/include/kernel/syscall.h index a2c9874..3dde6f5 100644 --- a/include/kernel/syscall.h +++ b/include/kernel/syscall.h @@ -153,6 +153,12 @@ extern kern_status_t sys_kern_handle_transfer( kern_handle_t dest_handle, unsigned int mode, kern_handle_t *out_handle); +extern kern_status_t sys_kern_handle_control( + kern_handle_t task, + kern_handle_t handle, + uint32_t set_mask, + uint32_t clear_mask, + uint32_t *out_flags); extern kern_status_t sys_kern_config_get( kern_config_key_t key, void *ptr, diff --git a/syscall/dispatch.c b/syscall/dispatch.c index 0173cea..fcb838c 100644 --- a/syscall/dispatch.c +++ b/syscall/dispatch.c @@ -29,6 +29,7 @@ static const virt_addr_t syscall_table[] = { SYSCALL_TABLE_ENTRY(KERN_LOG, kern_log), SYSCALL_TABLE_ENTRY(KERN_HANDLE_CLOSE, kern_handle_close), SYSCALL_TABLE_ENTRY(KERN_HANDLE_TRANSFER, kern_handle_transfer), + SYSCALL_TABLE_ENTRY(KERN_HANDLE_CONTROL, kern_handle_control), SYSCALL_TABLE_ENTRY(KERN_CONFIG_GET, kern_config_get), SYSCALL_TABLE_ENTRY(KERN_CONFIG_SET, kern_config_set), SYSCALL_TABLE_ENTRY(CHANNEL_CREATE, channel_create), diff --git a/syscall/handle.c b/syscall/handle.c index eadc631..3b75134 100644 --- a/syscall/handle.c +++ b/syscall/handle.c @@ -146,3 +146,13 @@ cleanup: return status; } + +kern_status_t sys_kern_handle_control( + kern_handle_t task, + kern_handle_t handle, + uint32_t set_mask, + uint32_t clear_mask, + uint32_t *out_flags) +{ + return KERN_UNIMPLEMENTED; +}