#define SYS_TIMEDSLEEP 6 // Sleep until a specified time has elapsed
#define SYS_WAITEVENT 7 // Wait for an event
#define SYS_WAITTID 8 // Wait for a thread to do something
-#define SYS_SETNAME 9 // Sets the name of the current thread
-#define SYS_GETNAME 10 // Gets the name of a thread
-#define SYS_GETTID 11 // Get current thread ID
-#define SYS_GETPID 12 // Get current thread group ID
-#define SYS_SETPRI 13 // Set process priority
-#define SYS_SENDMSG 14 // Send an IPC message
-#define SYS_GETMSG 15 // Recieve an IPC message
-#define SYS_GETTIME 16 // Get the current timestamp
-#define SYS_SPAWN 17 // Spawn a new process
-#define SYS_EXECVE 18 // Replace the current process
-#define SYS_LOADBIN 19 // Load a binary into the current address space
-#define SYS_UNLOADBIN 20 // Unload a loaded binary
-#define SYS_LOADMOD 21 // Load a module into the kernel
+#define SYS_SETSIGNALHANDLER 9 // Set the POSIX signal handler
+#define SYS_SETSIGNALMASK 10 // Sets the mask of disabled POSIX signals
+#define SYS_SETNAME 11 // Sets the name of the current thread
+#define SYS_GETNAME 12 // Gets the name of a thread
+#define SYS_GETTID 13 // Get current thread ID
+#define SYS_GETPID 14 // Get current thread group ID
+#define SYS_SETPRI 15 // Set process priority
+#define SYS_SENDMSG 16 // Send an IPC message
+#define SYS_GETMSG 17 // Recieve an IPC message
+#define SYS_GETTIME 18 // Get the current timestamp
+#define SYS_SPAWN 19 // Spawn a new process
+#define SYS_EXECVE 20 // Replace the current process
+#define SYS_LOADBIN 21 // Load a binary into the current address space
+#define SYS_UNLOADBIN 22 // Unload a loaded binary
+#define SYS_LOADMOD 23 // Load a module into the kernel
#define SYS_GETPHYS 32 // Get the physical address of a page
#define SYS_MAP 33 // Map a physical address
#define SYS_ALLOCATE 34 // Allocate a page
#define SYS_COPYFD 69 // Create a copy of a file handle
#define SYS_FDCTL 70 // Modify flags of a file descriptor
#define SYS_READ 71 // Read from an open file
-#define SYS_WRITE 72 // Write to an open file
-#define SYS_IOCTL 73 // Perform an IOCtl Call
-#define SYS_SEEK 74 // Seek to a new position in the file
-#define SYS_READDIR 75 // Read from an open directory
-#define SYS_GETACL 76 // Get an ACL Value
-#define SYS_SETACL 77 // Set an ACL Value
-#define SYS_FINFO 78 // Get file information
-#define SYS_MKDIR 79 // Create a new directory
-#define SYS_LINK 80 // Create a new link to a file
-#define SYS_SYMLINK 81 // Create a symbolic link
-#define SYS_UNLINK 82 // Delete a file
-#define SYS_TELL 83 // Return the current file position
-#define SYS_CHDIR 84 // Change current directory
-#define SYS_GETCWD 85 // Get current directory
-#define SYS_MOUNT 86 // Mount a filesystem
-#define SYS_SELECT 87 // Wait for file handles
+#define SYS_READAT 72 // Read from an open file (with offset)
+#define SYS_WRITE 73 // Write to an open file
+#define SYS_WRITEAT 74 // Write to an open file (with offset)
+#define SYS_TRUNCATE 75 // Change the size of an open file
+#define SYS_IOCTL 76 // Perform an IOCtl Call
+#define SYS_SEEK 77 // Seek to a new position in the file
+#define SYS_READDIR 78 // Read from an open directory
+#define SYS_GETACL 79 // Get an ACL Value
+#define SYS_SETACL 80 // Set an ACL Value
+#define SYS_FINFO 81 // Get file information
+#define SYS_MKDIR 82 // Create a new directory
+#define SYS_LINK 83 // Create a new link to a file
+#define SYS_SYMLINK 84 // Create a symbolic link
+#define SYS_UNLINK 85 // Delete a file
+#define SYS_TELL 86 // Return the current file position
+#define SYS_CHDIR 87 // Change current directory
+#define SYS_GETCWD 88 // Get current directory
+#define SYS_MOUNT 89 // Mount a filesystem
+#define SYS_SELECT 90 // Wait for file handles
+#define SYS_MMAP 91 // Map a file into this address space
+#define SYS_MUNMAP 92 // Unmap a file
+#define SYS_MARSHALFD 93 // Create a reference to a FD suitable for handing to another process
+#define SYS_UNMARSHALFD 94 // Accept a marshaled FD
-#define NUM_SYSCALLS 88
+#define NUM_SYSCALLS 95
#define SYS_DEBUG 0x100
+#define SYS_DEBUGHEX 0x101
#if !defined(__ASSEMBLER__) && !defined(NO_SYSCALL_STRS)
static const char *cSYSCALL_NAMES[] = {
"SYS_TIMEDSLEEP",
"SYS_WAITEVENT",
"SYS_WAITTID",
+ "SYS_SETSIGNALHANDLER",
+ "SYS_SETSIGNALMASK",
"SYS_SETNAME",
"SYS_GETNAME",
"SYS_GETTID",
"",
"",
"",
- "",
- "",
"SYS_GETPHYS",
"SYS_MAP",
"SYS_ALLOCATE",
"SYS_COPYFD",
"SYS_FDCTL",
"SYS_READ",
+ "SYS_READAT",
"SYS_WRITE",
+ "SYS_WRITEAT",
+ "SYS_TRUNCATE",
"SYS_IOCTL",
"SYS_SEEK",
"SYS_READDIR",
"SYS_GETCWD",
"SYS_MOUNT",
"SYS_SELECT",
+ "SYS_MMAP",
+ "SYS_MUNMAP",
+ "SYS_MARSHALFD",
+ "SYS_UNMARSHALFD",
""
};