Merge branch 'master' of git://localhost/acess2
[tpg/acess2.git] / AcessNative / syscalls.h
index 4a64474..21a9cb5 100644 (file)
  * uint8_t     paramData[SUM(params[].Lengh)];
  */
 
+typedef struct {
+       uint32_t        pid;
+       uint32_t        key;
+} tRequestAuthHdr;
+
 typedef struct sRequestValue {
        /// \see eArgumentTypes
        uint16_t        Type;
-        uint8_t        Flags;
-       uint16_t        Length;
+       uint16_t        Flags;
+       uint32_t        Length;
 }      tRequestValue;
 
 typedef struct sRequestHeader {
        uint16_t        ClientID;
        uint16_t        CallID; //!< \see eSyscalls
+       uint32_t        MessageLength;
        uint16_t        NParams;
        
        tRequestValue   Params[];
@@ -31,6 +37,9 @@ typedef struct sRequestHeader {
 
 enum eSyscalls {
        SYS_NULL,
+       
+       SYS_EXIT,
+       
        SYS_OPEN,
        SYS_CLOSE,
        SYS_READ,
@@ -43,9 +52,70 @@ enum eSyscalls {
        SYS_OPENCHILD,
        SYS_GETACL,
        SYS_MOUNT,
+       SYS_REOPEN,
+       SYS_CHDIR,
+       
+       SYS_WAITTID,
+       SYS_SETUID,
+       SYS_SETGID,
+
+       SYS_GETTID,
+       SYS_GETPID,
+       SYS_GETUID,
+       SYS_GETGID,
+
+       // IPC
+       SYS_SLEEP,
+       SYS_AN_FORK,
+       SYS_AN_SPAWN,
+       SYS_SENDMSG,
+       SYS_GETMSG,
+       SYS_SELECT,
+       SYS_WAITEVENT,
+       
        N_SYSCALLS
 };
 
+#ifndef DONT_INCLUDE_SYSCALL_NAMES
+static const char * casSYSCALL_NAMES[] = {
+       "SYS_NULL",
+       
+       "SYS_EXIT",
+       
+       "SYS_OPEN",
+       "SYS_CLOSE",
+       "SYS_READ",
+       "SYS_WRITE",
+       "SYS_SEEK",
+       "SYS_TELL",
+       "SYS_IOCTL",
+       "SYS_FINFO",
+       "SYS_READDIR",
+       "SYS_OPENCHILD",
+       "SYS_GETACL",
+       "SYS_MOUNT",
+       "SYS_REOPEN",
+       "SYS_CHDIR",
+       
+       "SYS_WAITTID",
+       "SYS_SETUID",
+       "SYS_SETGID",
+       
+       "SYS_GETTID",
+       "SYS_GETPID",
+       "SYS_GETUID",
+       "SYS_GETGID",
+       
+       // IPC
+       "SYS_SLEEP",
+       "SYS_AN_FORK",
+       "SYS_SENDMSG",
+       "SYS_GETMSG",
+       "SYS_SELECT",
+       "SYS_WAITEVENT"
+};
+#endif
+
 enum eArgumentTypes {
        ARG_TYPE_VOID,
        ARG_TYPE_INT32,

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