X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=server%2Feventl.h;h=1ef43a28205571e3dbf777a6dfda91929a474097;hb=281bd093d547534ce4e667214a1881a84a9f3227;hp=d8b965c5ac2dad9b623a76c607d41da9475934bd;hpb=7e158942eb374e7211dd3dbd834e664c70a2d143;p=yaz-moved-to-github.git diff --git a/server/eventl.h b/server/eventl.h index d8b965c..1ef43a2 100644 --- a/server/eventl.h +++ b/server/eventl.h @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: eventl.h,v $ - * Revision 1.1 1995-03-10 18:22:45 quinn + * Revision 1.3 1995-03-15 08:37:42 quinn + * Now we're pretty much set for nonblocking I/O. + * + * Revision 1.2 1995/03/14 10:28:00 quinn + * More work on demo server. + * + * Revision 1.1 1995/03/10 18:22:45 quinn * The rudiments of an asynchronous server. * */ @@ -24,6 +30,7 @@ typedef struct iochan #define EVENT_OUTPUT 0x02 #define EVENT_EXCEPT 0x04 #define EVENT_TIMEOUT 0x08 +int force_event; IOC_CALLBACK fun; void *data; int destroyed; @@ -37,7 +44,13 @@ typedef struct iochan #define iochan_setdata(i, d) ((i)->data = d) #define iochan_getflags(i) ((i)->flags) #define iochan_setflags(i, d) ((i)->flags = d) +#define iochan_setflag(i, d) ((i)->flags |= d) +#define iochan_getflag(i, d) ((i)->flags & d ? 1 : 0) #define iochan_getfun(i) ((i)->fun) #define iochan_setfun(i, d) ((i)->fun = d) +#define iochan_setevent(i, e) ((i)->force_event = (e)) + +IOCHAN iochan_create(int fd, IOC_CALLBACK cb, int flags); +int event_loop(); #endif