📄 system_call.c
字号:
#include <fairysky/defs.h>#include <fairysky/types.h>#include <fairysky/kernel.h>#include <asm/system.h>#include <fairysky/string.h>#include <fairysky/scheduler.h>#include <fairysky/system_call.h>#include <fairysky/unistd.h>typedef int (*fun_system_call)();#ifdef WINDOWS_CYGWIN #define SYSTEM_CALLS system_calls#else #define SYSTEM_CALLS _system_calls#endif#define BEGIN_SYSTEM_CALLS \ fun_system_call SYSTEM_CALLS[] = {#define END_SYSTEM_CALLS \ NULL \ };#define SYSTEM_CALL(index, system_call) \ (fun_system_call)system_call,void sys_print_msg(char *msg){ printk("%s", msg); return;}s32 sys_exit(){ return -1;}BEGIN_SYSTEM_CALLS SYSTEM_CALL(0, sys_setup) SYSTEM_CALL(1, sys_exit) SYSTEM_CALL(2, sys_fork) SYSTEM_CALL(3, sys_read) SYSTEM_CALL(4, sys_write) SYSTEM_CALL(5, sys_open) SYSTEM_CALL(6, sys_close) SYSTEM_CALL(7, sys_print_msg) SYSTEM_CALL(8, sys_show_state)END_SYSTEM_CALLS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -