diff --git a/src/kernel/core/syscalls.c b/src/kernel/core/syscalls.c index 47588723f1..a90026281e 100644 --- a/src/kernel/core/syscalls.c +++ b/src/kernel/core/syscalls.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -380,6 +381,17 @@ int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_re *call_ret = user_get_next_image_info((team_id)arg0, (int32 *)arg1, (image_info *)arg2, (size_t)arg3); break; + // node monitor calls + case SYSCALL_START_WATCHING: + *call_ret = user_start_watching((dev_t)arg0, (ino_t)INT32TOINT64(arg1, arg2), (uint32)arg3, (port_id)arg4, (uint32)arg5); + break; + case SYSCALL_STOP_WATCHING: + *call_ret = user_stop_watching((dev_t)arg0, (ino_t)INT32TOINT64(arg1, arg2), (uint32)arg3, (port_id)arg4, (uint32)arg5); + break; + case SYSCALL_STOP_NOTIFYING: + *call_ret = user_stop_notifying((port_id)arg0, (uint32)arg1); + break; + case SYSCALL_SYSCTL: *call_ret = user_sysctl((int *)arg0, (uint)arg1, (void *)arg2, (size_t *)arg3, (void *)arg4, diff --git a/src/kernel/libroot/os/syscalls.S b/src/kernel/libroot/os/syscalls.S index 8bc70c11b6..84c13becfb 100644 --- a/src/kernel/libroot/os/syscalls.S +++ b/src/kernel/libroot/os/syscalls.S @@ -117,6 +117,11 @@ SYSCALL1(sys_unregister_image, 115) SYSCALL3(sys_get_image_info, 116) SYSCALL4(sys_get_next_image_info, 117) +/* node monitor calls */ +SYSCALL6(sys_start_watching, 118) +SYSCALL6(sys_stop_watching, 119) +SYSCALL2(sys_stop_notifying, 120) + /* VM calls */ SYSCALL6(sys_vm_create_anonymous_region, 29) SYSCALL6(sys_vm_clone_region, 30)