optimising includes
[cilux] / src / platform / linux / osapi.c
diff --git a/src/platform/linux/osapi.c b/src/platform/linux/osapi.c
deleted file mode 100644 (file)
index 96d64b7..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-
-/* -------------------------------------------------------------------------- */
-
-#include <errno.h>
-#include <dlfcn.h>
-#include <stdarg.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <netdb.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <unistd.h>
-
-/* -------------------------------------------------------------------------- */
-
-static fd_set rd_fd_set;
-static fd_set wr_fd_set;
-static fd_set ex_fd_set;
-
-/* -------------------------------------------------------------------------- */
-
-static void signal_terminate(int);
-static void signal_alarm(int);
-static void signal_other(int);
-static void set_timeval_ms(struct timeval* t, int ms);
-
-/* -------------------------------------------------------------------------- */
-
-void init_thread(void)
-{
-       signal(SIGTERM, signal_terminate);
-       signal(SIGINT,  signal_terminate);
-       signal(SIGQUIT, signal_terminate);
-       signal(SIGALRM, signal_alarm);
-       signal(SIGPIPE, signal_other);
-       signal(SIGCHLD, SIG_IGN);
-       signal(SIGHUP,  SIG_IGN);
-       signal(SIGUSR1, SIG_IGN);
-       signal(SIGUSR2, SIG_IGN);
-}
-
-void init_gl(void)
-{
-}
-
-void init_net(void)
-{
-       FD_ZERO(&rd_fd_set);
-       FD_ZERO(&wr_fd_set);
-       FD_ZERO(&ex_fd_set);
-}
-
-/* -------------------------------------------------------------------------- */
-
-OTHER_THREAD void signal_terminate(int signum)
-{
-       c_running(0);
-}
-
-OTHER_THREAD void signal_alarm(int signum)
-{
-       c_signal(signum);
-}
-
-OTHER_THREAD void signal_other(int signum)
-{
-       c_signal(signum);
-}
-
-/* -------------------------------------------------------------------------- */
-
-void set_callback(k_channel* chan, int rdwr)
-{
-       if(rdwr & SETCB_RD) FD_SET(chan->priv->SOCK, &rd_fd_set);
-       if(rdwr & SETCB_WR) FD_SET(chan->priv->SOCK, &wr_fd_set);
-}
-
-void un_set_callback(k_channel* chan, int rdwr)
-{
-       if(rdwr & SETCB_RD) FD_CLR(chan->priv->SOCK, &rd_fd_set);
-       if(rdwr & SETCB_WR) FD_CLR(chan->priv->SOCK, &wr_fd_set);
-}
-
-void poller(int no_block)
-{
-       fd_set rd=rd_fd_set;
-       fd_set wr=wr_fd_set;
-       fd_set ex=ex_fd_set;
-
-       k_channel* chan;
-
-       int highest=0;
-       for(chan=k_channels; chan; chan=chan->next){
-               if(chan->priv->state==CHAN_CLOSE) continue;
-               if(highest < chan->priv->SOCK) highest=chan->priv->SOCK;
-       }
-
-       struct timeval  t;
-       struct timeval* tp=&t;
-       set_timeval_ms(tp, no_block? 0: LOOP_TICK);
-
-       if(highest==0){
-               select(0, 0, 0, 0, tp);
-               next_keys();
-               if(!no_block) do_regular_things();
-               return;
-       }
-
-       int len=select(highest+1, &rd, &wr, &ex, tp);
-       GETERRNO(len);
-
-       next_keys();
-
-       if(len==0){
-               do_regular_things();
-               return;
-       }
-       if(len== -1){
-               if(ERRNO==INTERRUPTED) return;
-               log_net_err("select", ERRNO);
-               sleep(1);
-               do_regular_things();
-               return;
-       }
-
-       for(chan=k_channels; chan; chan=chan->next){
-               if(FD_ISSET(chan->priv->SOCK, &ex)){
-                       exception_socket(chan);
-                       continue;
-               }
-               if(FD_ISSET(chan->priv->SOCK, &wr)){
-                       int err; socklen_t len=sizeof(int);
-                       if(getsockopt(chan->priv->SOCK,
-                                     SOL_SOCKET,
-                                     SO_ERROR, &err, &len) || err){
-                               exception_socket(chan);
-                               continue;
-                       }
-                       else{
-                               writeable_socket(chan);
-                       }
-               }
-               if(FD_ISSET(chan->priv->SOCK, &rd)){
-                       readable_socket(chan);
-               }
-       }
-}
-
-void set_timeval_ms(struct timeval* t, int ms)
-{
-       t->tv_sec=ms/1000;
-       t->tv_usec=(ms-(t->tv_sec)*1000)*1000;
-}
-
-char* str_error(int e)
-{
-       return strerror(e);
-}
-
-/* -------------------------------------------------------------------------- */
-
-void stat_only(char* fullname, k_stat* kstat)
-{
-       kstat->type=0;
-       struct stat s;
-       if(stat(fullname, &s)) return;
-       kstat->type=s.st_mode & 0170000;
-       kstat->size=s.st_size;
-       kstat->time=s.st_mtime;
-       kstat->perm=s.st_mode & 0007777;
-}
-
-FILE_T stat_open(char* fullname, k_stat* kstat)
-{
-       stat_only(fullname, kstat);
-       if(!kstat->type) return 0;
-       FILE_T filehandle=open(fullname, O_RDONLY);
-       if(filehandle<0) return 0;
-       return filehandle;
-}
-
-FILE_T open_only(char* fullname, int wr)
-{
-       int rw=wr? O_RDWR|O_CREAT|O_TRUNC: O_RDONLY;
-       FILE_T filehandle=open(fullname, rw, 0644);
-       if(filehandle<0) return 0;
-       return filehandle;
-}
-
-void* mmap_malloc(void* s, size_t size, int prot, int f, char* fullname, int o)
-{
-       FILE_T fh=open(fullname, O_RDONLY, 0644);
-       if(fh<0) return MAP_FAILED;
-
-       char* data=k_malloc(size);
-       int charsread=0;
-       int len;
-       do{
-               len=read(fh, data+charsread, size-charsread);
-               if(len< 0 && FERRNO(len)==EINTR) continue;
-               if(len<=0) break;
-               charsread+=len;
-       } while(charsread<size);
-
-       close(fh);
-       if(len<0 || charsread!=size){ k_free(data); return MAP_FAILED; }
-       return data;
-}
-
-void* mmap_name(void* s, size_t size, int prot, int f, char* fullname, int o)
-{
-       if(!size) return MAP_FAILED;
-       int w=(prot & PROT_WRITE);
-       FILE_T fh=open(fullname, (w? O_RDWR|O_CREAT: O_RDONLY), 0644);
-       if(fh<0) return MAP_FAILED;
-       return mmap(s, size, prot, f, fh, o);
-}
-
-/* -------------------------------------------------------------------------- */
-
-EXPORT void k_random_bytes(char* buf, size_t size)
-{
-       *(short*)buf=getpid();
-       if(size!=2) k_log_err("Linux randomness not implemented yet!");
-}
-
-/* -------------------------------------------------------------------------- */
-
-EXPORT void* k_malloc(size_t size)
-{
-       void* p=malloc(size);
-       if(!p){
-               k_fatal(OOM_STRING);
-       }
-       return p;
-}
-
-EXPORT void* k_realloc(void* o, size_t size)
-{
-       void* p=realloc(o, size);
-       if(!p){
-               k_fatal(OOM_STRING);
-       }
-       return p;
-}
-
-EXPORT void k_free(void* o)
-{
-       if(o) free(o);
-}
-
-EXPORT char* k_strdup(char* s)
-{
-       if(!s) return 0;
-       char* p=strdup(s);
-       if(!p){
-               k_fatal(OOM_STRING);
-       }
-       return p;
-}
-
-EXPORT void* k_memdup(void* s, size_t size)
-{
-       void* p=malloc(size);
-       if(!p){
-               k_fatal(OOM_STRING);
-       }
-       memcpy(p, s, size);
-       return p;
-}
-
-/* -------------------------------------------------------------------------- */
-