2026-04-10 16:55:48 +08:00
|
|
|
#ifndef CLKS_SYSCALL_H
|
|
|
|
|
#define CLKS_SYSCALL_H
|
|
|
|
|
|
|
|
|
|
#include <clks/types.h>
|
|
|
|
|
|
2026-04-10 20:32:03 +08:00
|
|
|
#define CLKS_SYSCALL_LOG_WRITE 0ULL
|
|
|
|
|
#define CLKS_SYSCALL_TIMER_TICKS 1ULL
|
|
|
|
|
#define CLKS_SYSCALL_TASK_COUNT 2ULL
|
|
|
|
|
#define CLKS_SYSCALL_CURRENT_TASK_ID 3ULL
|
|
|
|
|
#define CLKS_SYSCALL_SERVICE_COUNT 4ULL
|
|
|
|
|
#define CLKS_SYSCALL_SERVICE_READY_COUNT 5ULL
|
|
|
|
|
#define CLKS_SYSCALL_CONTEXT_SWITCHES 6ULL
|
2026-04-10 20:40:28 +08:00
|
|
|
#define CLKS_SYSCALL_KELF_COUNT 7ULL
|
|
|
|
|
#define CLKS_SYSCALL_KELF_RUNS 8ULL
|
2026-04-10 21:01:31 +08:00
|
|
|
#define CLKS_SYSCALL_FS_NODE_COUNT 9ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_CHILD_COUNT 10ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_GET_CHILD_NAME 11ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_READ 12ULL
|
|
|
|
|
#define CLKS_SYSCALL_EXEC_PATH 13ULL
|
|
|
|
|
#define CLKS_SYSCALL_EXEC_REQUESTS 14ULL
|
|
|
|
|
#define CLKS_SYSCALL_EXEC_SUCCESS 15ULL
|
2026-04-10 21:10:16 +08:00
|
|
|
#define CLKS_SYSCALL_USER_SHELL_READY 16ULL
|
|
|
|
|
#define CLKS_SYSCALL_USER_EXEC_REQUESTED 17ULL
|
|
|
|
|
#define CLKS_SYSCALL_USER_LAUNCH_TRIES 18ULL
|
|
|
|
|
#define CLKS_SYSCALL_USER_LAUNCH_OK 19ULL
|
|
|
|
|
#define CLKS_SYSCALL_USER_LAUNCH_FAIL 20ULL
|
2026-04-10 22:23:44 +08:00
|
|
|
#define CLKS_SYSCALL_TTY_COUNT 21ULL
|
|
|
|
|
#define CLKS_SYSCALL_TTY_ACTIVE 22ULL
|
|
|
|
|
#define CLKS_SYSCALL_TTY_SWITCH 23ULL
|
2026-04-11 14:18:59 +08:00
|
|
|
#define CLKS_SYSCALL_TTY_WRITE 24ULL
|
|
|
|
|
#define CLKS_SYSCALL_TTY_WRITE_CHAR 25ULL
|
|
|
|
|
#define CLKS_SYSCALL_KBD_GET_CHAR 26ULL
|
2026-04-12 22:04:25 +08:00
|
|
|
#define CLKS_SYSCALL_FS_STAT_TYPE 27ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_STAT_SIZE 28ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_MKDIR 29ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_WRITE 30ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_APPEND 31ULL
|
|
|
|
|
#define CLKS_SYSCALL_FS_REMOVE 32ULL
|
|
|
|
|
#define CLKS_SYSCALL_LOG_JOURNAL_COUNT 33ULL
|
|
|
|
|
#define CLKS_SYSCALL_LOG_JOURNAL_READ 34ULL
|
|
|
|
|
#define CLKS_SYSCALL_KBD_BUFFERED 35ULL
|
|
|
|
|
#define CLKS_SYSCALL_KBD_PUSHED 36ULL
|
|
|
|
|
#define CLKS_SYSCALL_KBD_POPPED 37ULL
|
|
|
|
|
#define CLKS_SYSCALL_KBD_DROPPED 38ULL
|
|
|
|
|
#define CLKS_SYSCALL_KBD_HOTKEY_SWITCHES 39ULL
|
2026-04-13 19:08:35 +08:00
|
|
|
#define CLKS_SYSCALL_GETPID 40ULL
|
|
|
|
|
#define CLKS_SYSCALL_SPAWN_PATH 41ULL
|
|
|
|
|
#define CLKS_SYSCALL_WAITPID 42ULL
|
|
|
|
|
#define CLKS_SYSCALL_EXIT 43ULL
|
|
|
|
|
#define CLKS_SYSCALL_SLEEP_TICKS 44ULL
|
|
|
|
|
#define CLKS_SYSCALL_YIELD 45ULL
|
2026-04-14 19:13:55 +08:00
|
|
|
#define CLKS_SYSCALL_SHUTDOWN 46ULL
|
|
|
|
|
#define CLKS_SYSCALL_RESTART 47ULL
|
2026-04-16 20:04:22 +08:00
|
|
|
#define CLKS_SYSCALL_AUDIO_AVAILABLE 48ULL
|
|
|
|
|
#define CLKS_SYSCALL_AUDIO_PLAY_TONE 49ULL
|
|
|
|
|
#define CLKS_SYSCALL_AUDIO_STOP 50ULL
|
2026-04-16 22:29:08 +08:00
|
|
|
#define CLKS_SYSCALL_EXEC_PATHV 51ULL
|
|
|
|
|
#define CLKS_SYSCALL_SPAWN_PATHV 52ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_ARGC 53ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_ARGV 54ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_ENVC 55ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_ENV 56ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_LAST_SIGNAL 57ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_FAULT_VECTOR 58ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_FAULT_ERROR 59ULL
|
|
|
|
|
#define CLKS_SYSCALL_PROC_FAULT_RIP 60ULL
|
2026-04-10 16:55:48 +08:00
|
|
|
|
|
|
|
|
void clks_syscall_init(void);
|
|
|
|
|
u64 clks_syscall_dispatch(void *frame_ptr);
|
|
|
|
|
u64 clks_syscall_invoke_kernel(u64 id, u64 arg0, u64 arg1, u64 arg2);
|
|
|
|
|
|
2026-04-16 22:29:08 +08:00
|
|
|
#endif
|