3 * - By John Hodge (thePowersGang)
8 * NOTE: Generated from Kernel/syscalls.lst
13 #define SYS_EXIT 0 // Kill this thread
14 #define SYS_CLONE 1 // Create a new thread
15 #define SYS_KILL 2 // Send a signal
16 #define SYS_SETFAULTHANDLER 3 // Set signal Handler
17 #define SYS_YIELD 4 // Yield remainder of timestamp
18 #define SYS_SLEEP 5 // Sleep until messaged or signaled
19 #define SYS_TIMEDSLEEP 6 // Sleep until a specified time has elapsed
20 #define SYS_WAITEVENT 7 // Wait for an event
21 #define SYS_WAITTID 8 // Wait for a thread to do something
22 #define SYS_SETSIGNALHANDLER 9 // Set the POSIX signal handler
23 #define SYS_SETSIGNALMASK 10 // Sets the mask of disabled POSIX signals
24 #define SYS_SETNAME 11 // Sets the name of the current thread
25 #define SYS_GETNAME 12 // Gets the name of a thread
26 #define SYS_GETTID 13 // Get current thread ID
27 #define SYS_GETPID 14 // Get current thread group ID
28 #define SYS_SETPRI 15 // Set process priority
29 #define SYS_SENDMSG 16 // Send an IPC message
30 #define SYS_GETMSG 17 // Recieve an IPC message
31 #define SYS_GETTIME 18 // Get the current timestamp
32 #define SYS_SPAWN 19 // Spawn a new process
33 #define SYS_EXECVE 20 // Replace the current process
34 #define SYS_LOADBIN 21 // Load a binary into the current address space
35 #define SYS_UNLOADBIN 22 // Unload a loaded binary
36 #define SYS_LOADMOD 23 // Load a module into the kernel
37 #define SYS_GETPHYS 32 // Get the physical address of a page
38 #define SYS_MAP 33 // Map a physical address
39 #define SYS_ALLOCATE 34 // Allocate a page
40 #define SYS_UNMAP 35 // Unmap a page
41 #define SYS_PREALLOC 36 // Preallocate a page
42 #define SYS_SETFLAGS 37 // Set a page's flags
43 #define SYS_SHAREWITH 38 // Share a page with another thread
44 #define SYS_GETUID 39 // Get current User ID
45 #define SYS_GETGID 40 // Get current Group ID
46 #define SYS_SETUID 41 // Set current user ID
47 #define SYS_SETGID 42 // Set current Group ID
48 #define SYS_OPEN 64 // Open a file
49 #define SYS_REOPEN 65 // Close a file and reuse its handle
50 #define SYS_OPENCHILD 66 // Open a child entry in a directory
51 #define SYS_OPENPIPE 67 // Open a FIFO pipe pair
52 #define SYS_CLOSE 68 // Close a file
53 #define SYS_COPYFD 69 // Create a copy of a file handle
54 #define SYS_FDCTL 70 // Modify flags of a file descriptor
55 #define SYS_READ 71 // Read from an open file
56 #define SYS_READAT 72 // Read from an open file (with offset)
57 #define SYS_WRITE 73 // Write to an open file
58 #define SYS_WRITEAT 74 // Write to an open file (with offset)
59 #define SYS_TRUNCATE 75 // Change the size of an open file
60 #define SYS_IOCTL 76 // Perform an IOCtl Call
61 #define SYS_SEEK 77 // Seek to a new position in the file
62 #define SYS_READDIR 78 // Read from an open directory
63 #define SYS_GETACL 79 // Get an ACL Value
64 #define SYS_SETACL 80 // Set an ACL Value
65 #define SYS_FINFO 81 // Get file information
66 #define SYS_MKDIR 82 // Create a new directory
67 #define SYS_LINK 83 // Create a new link to a file
68 #define SYS_SYMLINK 84 // Create a symbolic link
69 #define SYS_UNLINK 85 // Delete a file
70 #define SYS_TELL 86 // Return the current file position
71 #define SYS_CHDIR 87 // Change current directory
72 #define SYS_GETCWD 88 // Get current directory
73 #define SYS_MOUNT 89 // Mount a filesystem
74 #define SYS_SELECT 90 // Wait for file handles
75 #define SYS_MMAP 91 // Map a file into this address space
76 #define SYS_MUNMAP 92 // Unmap a file
77 #define SYS_MARSHALFD 93 // Create a reference to a FD suitable for handing to another process
78 #define SYS_UNMARSHALFD 94 // Accept a marshaled FD
80 #define NUM_SYSCALLS 95
81 #define SYS_DEBUG 0x100
82 #define SYS_DEBUGHEX 0x101
84 #if !defined(__ASSEMBLER__) && !defined(NO_SYSCALL_STRS)
85 static const char *cSYSCALL_NAMES[] = {
89 "SYS_SETFAULTHANDLER",
95 "SYS_SETSIGNALHANDLER",