Kernel/syscalls - Added syscall for Time_Wait
[tpg/acess2.git] / KernelLand / Kernel / include / syscalls.h
index 5ce2814..a8c3b34 100644 (file)
@@ -1,5 +1,7 @@
 /*
- * Acess2
+ * Acess2 Kernel
+ * - By John Hodge (thePowersGang)
+ *
  * syscalls.h
  * - System Call List
  *
 #define SYS_SETFAULTHANDLER    3       // Set signal Handler
 #define SYS_YIELD      4       // Yield remainder of timestamp
 #define SYS_SLEEP      5       // Sleep until messaged or signaled
-#define SYS_WAITEVENT  6       // Wait for an event
-#define SYS_WAITTID    7       // Wait for a thread to do something
-#define SYS_SETNAME    8       // Sets the name of the current thread
-#define SYS_GETNAME    9       // Gets the name of a thread
-#define SYS_GETTID     10      // Get current thread ID
-#define SYS_GETPID     11      // Get current thread group ID
-#define SYS_SETPRI     12      // Set process priority
-#define SYS_SENDMSG    13      // Send an IPC message
-#define SYS_GETMSG     14      // Recieve an IPC message
-#define SYS_GETTIME    15      // Get the current timestamp
-#define SYS_SPAWN      16      // Spawn a new process
-#define SYS_EXECVE     17      // Replace the current process
-#define SYS_LOADBIN    18      // Load a binary into the current address space
-#define SYS_UNLOADBIN  19      // Unload a loaded binary
-#define SYS_LOADMOD    20      // Load a module into the kernel
+#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_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_SETGID     42      // Set current Group ID
 #define SYS_OPEN       64      // Open a file
 #define SYS_REOPEN     65      // Close a file and reuse its handle
-#define SYS_CLOSE      66      // Close a file
-#define SYS_READ       67      // Read from an open file
-#define SYS_WRITE      68      // Write to an open file
-#define SYS_IOCTL      69      // Perform an IOCtl Call
-#define SYS_SEEK       70      // Seek to a new position in the file
-#define SYS_READDIR    71      // Read from an open directory
-#define SYS_OPENCHILD  72      // Open a child entry in a directory
-#define SYS_GETACL     73      // Get an ACL Value
-#define SYS_SETACL     74      // Set an ACL Value
-#define SYS_FINFO      75      // Get file information
-#define SYS_MKDIR      76      // Create a new directory
-#define SYS_LINK       77      // Create a new link to a file
-#define SYS_SYMLINK    78      // Create a symbolic link
-#define SYS_UNLINK     79      // Delete a file
-#define SYS_TELL       80      // Return the current file position
-#define SYS_CHDIR      81      // Change current directory
-#define SYS_GETCWD     82      // Get current directory
-#define SYS_MOUNT      83      // Mount a filesystem
-#define SYS_SELECT     84      // Wait for file handles
+#define SYS_OPENCHILD  66      // Open a child entry in a directory
+#define SYS_OPENPIPE   67      // Open a FIFO pipe pair
+#define SYS_CLOSE      68      // Close a file
+#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 NUM_SYSCALLS   85
+#define NUM_SYSCALLS   88
 #define SYS_DEBUG      0x100
 
-#ifndef __ASSEMBLER__
+#if !defined(__ASSEMBLER__) && !defined(NO_SYSCALL_STRS)
 static const char *cSYSCALL_NAMES[] = {
        "SYS_EXIT",
        "SYS_CLONE",
@@ -73,6 +79,7 @@ static const char *cSYSCALL_NAMES[] = {
        "SYS_SETFAULTHANDLER",
        "SYS_YIELD",
        "SYS_SLEEP",
+       "SYS_TIMEDSLEEP",
        "SYS_WAITEVENT",
        "SYS_WAITTID",
        "SYS_SETNAME",
@@ -98,7 +105,6 @@ static const char *cSYSCALL_NAMES[] = {
        "",
        "",
        "",
-       "",
        "SYS_GETPHYS",
        "SYS_MAP",
        "SYS_ALLOCATE",
@@ -133,13 +139,16 @@ static const char *cSYSCALL_NAMES[] = {
        "",
        "SYS_OPEN",
        "SYS_REOPEN",
+       "SYS_OPENCHILD",
+       "SYS_OPENPIPE",
        "SYS_CLOSE",
+       "SYS_COPYFD",
+       "SYS_FDCTL",
        "SYS_READ",
        "SYS_WRITE",
        "SYS_IOCTL",
        "SYS_SEEK",
        "SYS_READDIR",
-       "SYS_OPENCHILD",
        "SYS_GETACL",
        "SYS_SETACL",
        "SYS_FINFO",

UCC git Repository :: git.ucc.asn.au