17#define PRAD_MAGIC 0xBADF00D
19#define LINUX_SYS_READ 0
20#define LINUX_SYS_WRITE 1
21#define LINUX_SYS_OPEN 2
22#define LINUX_SYS_CLOSE 3
23#define LINUX_SYS_STAT 4
24#define LINUX_SYS_FSTAT 5
25#define LINUX_SYS_LSTAT 6
26#define LINUX_SYS_LSEEK 8
27#define LINUX_SYS_MMAP 9
28#define LINUX_SYS_MPROTECT 10
29#define LINUX_SYS_MUNMAP 11
30#define LINUX_SYS_BRK 12
31#define LINUX_SYS_RT_SIGACTION 13
32#define LINUX_SYS_RT_SIGPROCMASK 14
33#define LINUX_SYS_IOCTL 16
34#define LINUX_SYS_ACCESS 21
35#define LINUX_SYS_WRITEV 20
36#define LINUX_SYS_DUP 32
37#define LINUX_SYS_DUP2 33
38#define LINUX_SYS_NANOSLEEP 35
39#define LINUX_SYS_GETPID 39
40#define LINUX_SYS_SOCKET 41
41#define LINUX_SYS_CONNECT 42
42#define LINUX_SYS_CLONE 56
43#define LINUX_SYS_FORK 57
44#define LINUX_SYS_WAIT4 61
45#define LINUX_SYS_EXECVE 59
46#define LINUX_SYS_EXIT 60
47#define LINUX_SYS_CHDIR 80
48#define LINUX_SYS_UNAME 63
49#define LINUX_SYS_FCNTL 72
50#define LINUX_SYS_GETCWD 79
51#define LINUX_SYS_READLINK 89
52#define LINUX_SYS_UMASK 95
53#define LINUX_SYS_GETUID 102
54#define LINUX_SYS_GETEUID 107
55#define LINUX_SYS_GETGID 104
56#define LINUX_SYS_GETEGID 108
57#define LINUX_SYS_GETPPID 110
58#define LINUX_SYS_SIGALTSTACK 131
59#define LINUX_SYS_ARCH_PRCTL 158
60#define LINUX_SYS_GETTID 186
61#define LINUX_SYS_FUTEX 202
62#define LINUX_SYS_GETDENTS64 217
63#define LINUX_SYS_SET_TID_ADDRESS 218
64#define LINUX_SYS_CLOCK_GETTIME 228
65#define LINUX_SYS_OPENAT 257
66#define LINUX_SYS_NEWFSTATAT 262
67#define LINUX_SYS_READLINKAT 267
68#define LINUX_SYS_FACCESSAT 269
69#define LINUX_SYS_SET_ROBUST_LIST 273
70#define LINUX_SYS_PRLIMIT64 302
71#define LINUX_SYS_GETRANDOM 318
72#define LINUX_SYS_STATX 332
73#define LINUX_SYS_EXIT_GROUP 231
74#define LINUX_SYS_TGKILL 234
76#define LINUX_EAGAIN 11
78#define LINUX_AT_FDCWD (-100)
80#define LINUX_O_RDONLY 0x0000
81#define LINUX_O_WRONLY 0x0001
82#define LINUX_O_RDWR 0x0002
83#define LINUX_O_CREAT 0x0040
84#define LINUX_O_TRUNC 0x0200
85#define LINUX_O_APPEND 0x0400
87#define LINUX_SEEK_SET 0
88#define LINUX_SEEK_CUR 1
89#define LINUX_SEEK_END 2
92#define LINUX_EFAULT 14
93#define LINUX_EACCES 13
94#define LINUX_EINVAL 22
95#define LINUX_ENOEXEC 8
96#define LINUX_ENOTTY 25
97#define LINUX_ENOSYS 38
98#define LINUX_ENFILE 23
100#define LINUX_ENOMEM 12
101#define LINUX_ERANGE 34
102#define LINUX_ENOTDIR 20
106#define LINUX_ETIMEDOUT 110
107#define LINUX_ECHILD 10
108#define LINUX_ENOTSOCK 88
109#define LINUX_EAFNOSUPPORT 97
111#define LINUX_PROT_NONE 0x0
112#define LINUX_PROT_READ 0x1
113#define LINUX_PROT_WRITE 0x2
114#define LINUX_PROT_EXEC 0x4
116#define LINUX_MAP_SHARED 0x01
117#define LINUX_MAP_PRIVATE 0x02
118#define LINUX_MAP_FIXED 0x10
119#define LINUX_MAP_ANONYMOUS 0x20
121#define LINUX_S_IFMT 00170000
122#define LINUX_S_IFDIR 0040000
123#define LINUX_S_IFREG 0100000
124#define LINUX_S_IFCHR 0020000
126#define LINUX_AT_SYMLINK_NOFOLLOW 0x100
127#define LINUX_AT_EMPTY_PATH 0x1000
129#define LINUX_F_DUPFD 0
130#define LINUX_F_GETFD 1
131#define LINUX_F_SETFD 2
132#define LINUX_F_GETFL 3
133#define LINUX_F_SETFL 4
135#define LINUX_TIOCGWINSZ 0x5413
136#define LINUX_TCGETS 0x5401
137#define LINUX_TCSETS 0x5402
138#define LINUX_TCSETSW 0x5403
139#define LINUX_TCSETSF 0x5404
140#define LINUX_TIOCGPGRP 0x540F
141#define LINUX_TIOCSPGRP 0x5410
143#define LINUX_ARCH_SET_FS 0x1002
144#define LINUX_ARCH_GET_FS 0x1003
146#define LINUX_CLOCK_REALTIME 0
147#define LINUX_CLOCK_MONOTONIC 1
149#define IA32_FS_BASE_MSR 0xC0000100
151#define PROC_FILE_COUNT 3
153#define FW_SYS_GETC 0x1000
154#define FW_SYS_GETC_NB 0x1001
155#define FW_SYS_PUTC 0x1002
156#define FW_SYS_LOGIN 0x1055
177#define linux_syscalls_prefix "Linux syscall: "
This is a basic header files with FrostWing specific short forms and basically a good for life header...
Interrupts handler header.
void syscall_handler(syscall_frame_t *f)
Wrapper for the dispatcher which gets called for running the syscall instruction.
void int80_handler(InterruptFrame *frame)
Wrapper for the dispatcher which gets called for interrupt number 0x80.
uint64_t syscall_dispatch(uint64_t nr, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)
Dispatches syscall based on the syscall number.