#ifndef CLKS_SYSCALL_H #define CLKS_SYSCALL_H #include #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 #define CLKS_SYSCALL_KELF_COUNT 7ULL #define CLKS_SYSCALL_KELF_RUNS 8ULL #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 #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 #define CLKS_SYSCALL_TTY_COUNT 21ULL #define CLKS_SYSCALL_TTY_ACTIVE 22ULL #define CLKS_SYSCALL_TTY_SWITCH 23ULL #define CLKS_SYSCALL_TTY_WRITE 24ULL #define CLKS_SYSCALL_TTY_WRITE_CHAR 25ULL #define CLKS_SYSCALL_KBD_GET_CHAR 26ULL #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 #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 #define CLKS_SYSCALL_SHUTDOWN 46ULL #define CLKS_SYSCALL_RESTART 47ULL #define CLKS_SYSCALL_AUDIO_AVAILABLE 48ULL #define CLKS_SYSCALL_AUDIO_PLAY_TONE 49ULL #define CLKS_SYSCALL_AUDIO_STOP 50ULL #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 #define CLKS_SYSCALL_PROC_COUNT 61ULL #define CLKS_SYSCALL_PROC_PID_AT 62ULL #define CLKS_SYSCALL_PROC_SNAPSHOT 63ULL #define CLKS_SYSCALL_PROC_KILL 64ULL #define CLKS_SYSCALL_KDBG_SYM 65ULL #define CLKS_SYSCALL_KDBG_BT 66ULL #define CLKS_SYSCALL_KDBG_REGS 67ULL #define CLKS_SYSCALL_STATS_TOTAL 68ULL #define CLKS_SYSCALL_STATS_ID_COUNT 69ULL #define CLKS_SYSCALL_STATS_RECENT_WINDOW 70ULL #define CLKS_SYSCALL_STATS_RECENT_ID 71ULL #define CLKS_SYSCALL_FD_OPEN 72ULL #define CLKS_SYSCALL_FD_READ 73ULL #define CLKS_SYSCALL_FD_WRITE 74ULL #define CLKS_SYSCALL_FD_CLOSE 75ULL #define CLKS_SYSCALL_FD_DUP 76ULL #define CLKS_SYSCALL_DL_OPEN 77ULL #define CLKS_SYSCALL_DL_CLOSE 78ULL #define CLKS_SYSCALL_DL_SYM 79ULL #define CLKS_SYSCALL_EXEC_PATHV_IO 80ULL #define CLKS_SYSCALL_FB_INFO 81ULL #define CLKS_SYSCALL_FB_BLIT 82ULL #define CLKS_SYSCALL_FB_CLEAR 83ULL #define CLKS_SYSCALL_KERNEL_VERSION 84ULL #define CLKS_SYSCALL_DISK_PRESENT 85ULL #define CLKS_SYSCALL_DISK_SIZE_BYTES 86ULL #define CLKS_SYSCALL_DISK_SECTOR_COUNT 87ULL #define CLKS_SYSCALL_DISK_FORMATTED 88ULL #define CLKS_SYSCALL_DISK_FORMAT_FAT32 89ULL #define CLKS_SYSCALL_DISK_MOUNT 90ULL #define CLKS_SYSCALL_DISK_MOUNTED 91ULL #define CLKS_SYSCALL_DISK_MOUNT_PATH 92ULL #define CLKS_SYSCALL_DISK_READ_SECTOR 93ULL #define CLKS_SYSCALL_DISK_WRITE_SECTOR 94ULL 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); #endif