X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Fsyscalls.h;h=078944d1c273f7373447a14b49bc8141f8f962c2;hb=52040c2123857c744f3d6830956e6d1e7dc9773b;hp=903cbfaeacaf78e0da53ce18588e99f2bcead584;hpb=8cdfaebb825cb8d0f78dbf1b4f29fd0bff796045;p=tpg%2Facess2.git diff --git a/AcessNative/syscalls.h b/AcessNative/syscalls.h index 903cbfae..078944d1 100644 --- a/AcessNative/syscalls.h +++ b/AcessNative/syscalls.h @@ -17,6 +17,7 @@ typedef struct sRequestValue { /// \see eArgumentTypes uint16_t Type; + uint16_t Flags; uint16_t Length; } tRequestValue; @@ -24,13 +25,15 @@ typedef struct sRequestHeader { uint16_t ClientID; uint16_t CallID; //!< \see eSyscalls uint16_t NParams; - uint16_t NReturn; tRequestValue Params[]; } tRequestHeader; enum eSyscalls { SYS_NULL, + + SYS_EXIT, + SYS_OPEN, SYS_CLOSE, SYS_READ, @@ -43,9 +46,48 @@ enum eSyscalls { SYS_OPENCHILD, SYS_GETACL, SYS_MOUNT, + SYS_REOPEN, + SYS_CHDIR, + + SYS_WAITTID, + SYS_SETUID, + SYS_SETGID, + + // IPC + SYS_SLEEP, + SYS_FORK, + SYS_SENDMSG, + SYS_GETMSG, + SYS_SELECT, + 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", + + // IPC + "SYS_SLEEP" +}; +#endif + enum eArgumentTypes { ARG_TYPE_VOID, ARG_TYPE_INT32, @@ -53,5 +95,9 @@ enum eArgumentTypes { ARG_TYPE_STRING, ARG_TYPE_DATA }; +enum eArgumentFlags { + ARG_FLAG_RETURN = 0x40, // Pass back in the return message + ARG_FLAG_ZEROED = 0x80 // Not present in the message, just fill with zero +}; #endif