object web, etc
[cilux] / src / platform / linux / kernelplat.h
1
2 /* -------------------------------------------------------------------------- */
3
4 #include <ctype.h>
5 #include <unistd.h>
6 #include <errno.h>
7 #include <dlfcn.h>
8 #include <stdarg.h>
9 #include <signal.h>
10 #include <fcntl.h>
11 #include <sys/stat.h>
12 #include <sys/mman.h>
13 #include <netdb.h>
14 #include <dirent.h>
15 #include <pwd.h>
16 #include <grp.h>
17 #include <netinet/tcp.h>
18 #include <arpa/inet.h>
19 #include <X11/Xutil.h>
20 #include <EGL/egl.h>
21
22 #include <platform.h>
23
24 /* -------------------------------------------------------------------------- */
25
26 #define LOAD_MODULES_EARLY    1
27 #define LOAD_GL               0
28 #define MODULE                void*
29 #define MODPRE                "mod-"
30 #define MODPOST               ".so"
31 #define DLOPEN(n)             dlopen(n, RTLD_GLOBAL|RTLD_NOW)
32 #define DLSYM                 dlsym
33 #define DLERROR               dlerror()
34 #define LOOP_TICK             10
35 #define LINGER_LOOPS          500
36
37 #define EMPTY_IN_ADDR         { 0 }
38 #define SOCK                  fd
39 #define SOCK_T                int
40 #define SOCKET(a,t,p,s)       s=socket(a,t,p)
41 #define ACCEPT(as,a,l,s)      s=accept(as,a,l)
42 #define BIND                  bind
43 #define LISTEN                listen
44 #define CONNECT               connect
45 #define SOCKET_READ( s,b,l)   recv(s,b,l,MSG_NOSIGNAL)
46 #define SOCKET_WRITE(s,b,l)   send(s,b,l,MSG_NOSIGNAL)
47 #define SOCKET_CLOSE          close
48 #define SET_NON_BLOCKING(s)   int f=fcntl(s, F_GETFL); if(f!=-1) fcntl(s, F_SETFL, f|O_NONBLOCK)
49 #define SET_NO_DELAY(s)       int arg=1; r=setsockopt(s, SOL_TCP,    TCP_NODELAY,  (char*)&arg, sizeof(arg))
50 #define SET_REUSEADDR(s)      int arg=1; r=setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char*)&arg, sizeof(arg))
51 #define GETERRNO(n)
52 #define ERRNO                 errno
53 #define INTERRUPTED           EINTR
54 #define NOTACTIVE             EWOULDBLOCK
55 #define ISCONNECTING(e)       (e==EINPROGRESS || e==EALREADY)
56 #define ISNOTACTIVE(e)        (e==EAGAIN || e==EWOULDBLOCK)
57
58 #define FILEP                 FILE*
59 #define FILE_T                int
60 #define FOPEN                 fopen
61 #define READFILE              read
62 #define WRITEFILE             write
63 #define MKDIR(n)              mkdir(n, 0777)
64 #define FPRINTF               fprintf
65 #define FFLUSH(f)             fflush(f)
66 #define FCLOSE(f)             close(f)
67 #define PRINTFOUT(f)          printf(f)
68 #define PRINTFERR(f)          fprintf(stderr,f)
69 #define VPRINTFOUT(f,ap)      vprintf(f,ap)
70 #define VPRINTFERR(f,ap)      vfprintf(stderr,f,ap)
71 #define FERRNO(n)             errno
72 #define EXIT(n)               exit(n)
73 #define LOG_TO_STD            0
74
75 #define TIMEZONE(tm)          tm->tm_gmtoff
76 #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)
77 #define MKTIME                mktime
78
79 #define C_RUN_RV   int
80 #define C_RUN_ARG  void*
81
82 /* -------------------------------------------------------------------------- */
83