X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=server%2Feventl.h;fp=server%2Feventl.h;h=d8b965c5ac2dad9b623a76c607d41da9475934bd;hb=7e158942eb374e7211dd3dbd834e664c70a2d143;hp=0000000000000000000000000000000000000000;hpb=e699f6c0dc97950dce23a228eeabc80f17edd6d3;p=yaz-moved-to-github.git diff --git a/server/eventl.h b/server/eventl.h new file mode 100644 index 0000000..d8b965c --- /dev/null +++ b/server/eventl.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) 1994, Index Data I/S + * All rights reserved. + * Sebastian Hammer, Adam Dickmeiss + * + * $Log: eventl.h,v $ + * Revision 1.1 1995-03-10 18:22:45 quinn + * The rudiments of an asynchronous server. + * + */ + +#ifndef EVENTL_H +#define EVENTL_H + +struct iochan; + +typedef void (*IOC_CALLBACK)(struct iochan *i, int event); + +typedef struct iochan +{ + int fd; + int flags; +#define EVENT_INPUT 0x01 +#define EVENT_OUTPUT 0x02 +#define EVENT_EXCEPT 0x04 +#define EVENT_TIMEOUT 0x08 + IOC_CALLBACK fun; + void *data; + int destroyed; + + struct iochan *next; +} *IOCHAN; + +#define iochan_destroy(i) (void)((i)->destroyed = 1) +#define iochan_getfd(i) +#define iochan_getdata(i) ((i)->data) +#define iochan_setdata(i, d) ((i)->data = d) +#define iochan_getflags(i) ((i)->flags) +#define iochan_setflags(i, d) ((i)->flags = d) +#define iochan_getfun(i) ((i)->fun) +#define iochan_setfun(i, d) ((i)->fun = d) + +#endif