3 #ifndef _NATIVE_SYSCALLS_H_
4 #define _NATIVE_SYSCALLS_H_
6 #define SERVER_PORT 0xACE
8 #define SYSCALL_TRACE 1
11 #define SYSTRACE(str, x...) Debug(str, x)
13 #define SYSTRACE(...) do{}while(0)
19 * tRequestHeader header
20 * tRequestValue params[header.NParams]
21 * tRequestValue retvals[header.NReturn]
22 * uint8_t paramData[SUM(params[].Lengh)];
30 typedef struct sRequestValue {
31 /// \see eArgumentTypes
37 typedef struct sRequestHeader {
39 uint32_t MessageLength;
40 uint16_t CallID; //!< \see eSyscalls
43 tRequestValue Params[];
44 } __attribute__((packed)) tRequestHeader;
49 #include "syscalls_list.h"
54 #ifndef DONT_INCLUDE_SYSCALL_NAMES
55 static const char * casSYSCALL_NAMES[] = {
57 #include "syscalls_list.h"
71 ARG_FLAG_RETURN = 0x40, // Pass back in the return message
72 ARG_FLAG_ZEROED = 0x80 // Not present in the message, just fill with zero