Files
cleonos/clks/include/clks/syscall.h

92 lines
3.9 KiB
C

#ifndef CLKS_SYSCALL_H
#define CLKS_SYSCALL_H
#include <clks/types.h>
#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
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