Add a monitor debug function for rendez waiters
[akaros.git] / tools / syscall_server / syscall_server.h
index 0585f14..790d135 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <stdint.h>
 #include <sys/stat.h>
-#include <newlib_stat.h>
+#include <newlib_trans.h>
 
 #define SANDBOX_DIR "sandbox/"
 
@@ -115,10 +115,11 @@ typedef struct syscall_rsp {
 } syscall_rsp_t;
 
 void run_server();
+int init_syscall_server(int* fd_read, int* fd_write);
 void translate_stat(struct stat* native, struct newlib_stat* newlib);
-void translate_flags(int native, int newlib);
-void translate_mode(int native, int newlib);
-void translate_dir(int native, int newlib);
+int translate_flags(int native_flags);
+int translate_mode(int native_mode);
+int translate_whence(int native_whence);
 void translate_errno(int native, int newlib);
 void set_syscall_req_payload_len(syscall_req_t* req);
 void read_syscall_req(int fd, syscall_req_t* req);
@@ -127,7 +128,8 @@ void read_syscall_req_payload(int fd, syscall_req_t* req);
 void write_syscall_rsp(int fd, syscall_rsp_t* rsp);
 void write_syscall_rsp_header(int fd, syscall_rsp_t* rsp);
 void write_syscall_rsp_payload(int fd, syscall_rsp_t* rsp);
-int read_from_serial(int fd, void* buf, int len, int peek); 
+int read_syscall_server(int fd, char* buf, int len);
+int write_syscall_server(int fd, char* buf, int len, int bytes_to_follow); 
 void error(int fd, const char* s);
 char* sandbox_file_name(char* name, uint32_t len);