summaryrefslogtreecommitdiff
path: root/kernel/syscalls.h
blob: b31d32cab30447a43a6e2e0f4c213685dd44970f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#define SYSCALL_EXIT         60
#define SYSCALL_EXECVE       64
#define SYSCALL_FORK         72

#define SYSCALL_CLOSE        66
#define SYSCALL_OPEN         65

#define SYSCALL_GETPID       78
#define SYSCALL_ISATTY       68 // linux??
#define SYSCALL_LINK         82
#define SYSCALL_LSEEK        69
#define SYSCALL_READ         62
#define SYSCALL_SBRK         70 // linux??
#define SYSCALL_STAT         74
#define SYSCALL_FSTAT        67
#define SYSCALL_LSTAT        79
#define SYSCALL_TIMES        75
#define SYSCALL_UNLINK       76
#define SYSCALL_WAIT         77
#define SYSCALL_WRITE        61
#define SYSCALL_GETTIMEOFDAY 71
#define SYSCALL_READDIR      63 // getdents?
#define SYSCALL_KILL         73
#define SYSCALL_POLL         80 //shit!?
#define SYSCALL_CLONE        83
#define SYSCALL_PIPE         84 // TODO! unnamed and named pipes (fifos) SYSCALL_MKNOD

char* syscall_get_name(uint32_t num);
uint32_t syscall_generic(uint32_t nr,uint32_t p1, uint32_t p2, uint32_t p3, uint32_t pid);

int syscall_open(char *name, int flags, int mode);
int syscall_write(int file, char *buf, int len);

// new planned syscalls for graphx
// TODO: split ncurses and our syscalls??

// int syscall_create_win("title");
// int syscall_kill_win(int descriptor);
// int syscall_update_win(int descriptor, *mem, *rect);
// int syscall_callback(*func, ON_MOUSE);
// int syscall_sleep();