summaryrefslogtreecommitdiff
path: root/src/common/server-mainloop.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/server-mainloop.h')
-rw-r--r--src/common/server-mainloop.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/common/server-mainloop.h b/src/common/server-mainloop.h
new file mode 100644
index 0000000..ceff28d
--- /dev/null
+++ b/src/common/server-mainloop.h
@@ -0,0 +1,27 @@
+
+#ifndef __SERVER_MAINLOOP_H__
+#define __SERVER_MAINLOOP_H__
+
+#include <stdint.h>
+
+/* TODO: Prefix functions with svr */
+
+#define SERVER_READ 0x01
+#define SERVER_WRITE 0x02
+
+typedef void (*server_socket_callback)(int fd, int type, void* arg);
+/* TODO: We should declare our own time type: 'mstime' */
+typedef int (*server_timer_callback)(uint64_t when, void* arg);
+
+void server_init();
+void server_uninit();
+int server_run();
+void server_stop();
+int server_stopped();
+int server_watch(int fd, int type, server_socket_callback callback, void* arg);
+void server_unwatch(int fd);
+int server_timer(int length, server_timer_callback callback, void* arg);
+int server_oneshot(int length, server_timer_callback callback, void* arg);
+uint64_t server_get_time();
+
+#endif /* __SERVER_MAINLOOP_H__ */