optimising includes
[cilux] / src / platform / linux / kernelplat.h
diff --git a/src/platform/linux/kernelplat.h b/src/platform/linux/kernelplat.h
new file mode 100644 (file)
index 0000000..2b96446
--- /dev/null
@@ -0,0 +1,77 @@
+
+/* -------------------------------------------------------------------------- */
+
+#include <ctype.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <grp.h>
+#include <netinet/tcp.h>
+#include <arpa/inet.h>
+
+#include <platform.h>
+
+/* -------------------------------------------------------------------------- */
+
+#define LOAD_MODULES_EARLY    1
+#define LOAD_GL               0
+#define MODULE                void*
+#define MODPRE                "mod-"
+#define MODPOST               ".so"
+#define DLOPEN(n)             dlopen(n, RTLD_GLOBAL|RTLD_NOW)
+#define DLSYM                 dlsym
+#define DLERROR               dlerror()
+#define LOOP_TICK             10
+#define LINGER_LOOPS          500
+
+#define EMPTY_IN_ADDR         { 0 }
+#define SOCK                  fd
+#define SOCK_T                int
+#define SOCKET(a,t,p,s)       s=socket(a,t,p)
+#define ACCEPT(as,a,l,s)      s=accept(as,a,l)
+#define BIND                  bind
+#define LISTEN                listen
+#define CONNECT               connect
+#define SOCKET_READ( s,b,l)   recv(s,b,l,MSG_NOSIGNAL)
+#define SOCKET_WRITE(s,b,l)   send(s,b,l,MSG_NOSIGNAL)
+#define SOCKET_CLOSE          close
+#define SET_NON_BLOCKING(s)   int f=fcntl(s, F_GETFL); if(f!=-1) fcntl(s, F_SETFL, f|O_NONBLOCK)
+#define SET_NO_DELAY(s)       int arg=1; r=setsockopt(s, SOL_TCP,    TCP_NODELAY,  (char*)&arg, sizeof(arg))
+#define SET_REUSEADDR(s)      int arg=1; r=setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char*)&arg, sizeof(arg))
+#define GETERRNO(n)
+#define ERRNO                 errno
+#define INTERRUPTED           EINTR
+#define NOTACTIVE             EWOULDBLOCK
+#define ISCONNECTING(e)       (e==EINPROGRESS || e==EALREADY)
+#define ISNOTACTIVE(e)        (e==EAGAIN || e==EWOULDBLOCK)
+
+#define FILEP                 FILE*
+#define FILE_T                int
+#define FOPEN                 fopen
+#define READFILE              read
+#define WRITEFILE             write
+#define MKDIR(n)              mkdir(n, 0777)
+#define FPRINTF               fprintf
+#define FFLUSH(f)             fflush(f)
+#define FCLOSE(f)             close(f)
+#define PRINTFOUT(f)          printf(f)
+#define PRINTFERR(f)          fprintf(stderr,f)
+#define VPRINTFOUT(f,ap)      vprintf(f,ap)
+#define VPRINTFERR(f,ap)      vfprintf(stderr,f,ap)
+#define FERRNO(n)             errno
+#define EXIT(n)               exit(n)
+#define LOG_TO_STD            0
+
+#define TIMEZONE(tm)          tm->tm_gmtoff
+#define SLEEP_MS(x)           do{struct timeval t;t.tv_sec=0;t.tv_usec=(x)*1000;select(0,0,0,0,&t);}while(0)
+#define MKTIME                mktime
+
+/* -------------------------------------------------------------------------- */
+
+#define CONSOLE    void*
+#define C_RUN_RV   int
+#define C_RUN_ARG  void*
+
+PUBLIC CONSOLE k_console;
+
+/* -------------------------------------------------------------------------- */
+