X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fivac.git;a=blobdiff_plain;f=src%2Fevent.h;h=ac355353bc6d2c62a5ea6513b6816bccf793a7e2;hp=00a134c1a21287d3400ce2270eb3965ef0a18499;hb=4546108a81317af1135683e85b9340715e585339;hpb=4344661d0612465223b516b4c1132260eeba34d1 diff --git a/src/event.h b/src/event.h index 00a134c..ac35535 100644 --- a/src/event.h +++ b/src/event.h @@ -4,14 +4,42 @@ #define EVENT_H /* includes */ -#include "ivac.h" +#include #include +/* defines */ + +/* return values */ +#define CALLBACK_ERROR -1 +#define E_ERROR -1 +#define E_SUCCESS 1 + +/* event status */ +#define DISABLED 0 +#define ENABLED 1 + +/* read write mode */ +#define READ 'r' +#define WRITE 'w' +/* add remove mode */ +#define ADD 'a' +#define REMOVE 'r' + /* event specific variables */ -typedef s_event { +typedef struct s_event { int maxfd; - fd_set rfds,rfds_c; - fd_set wfds,wfds_c; + fd_set rfds,rfds_o; + fd_set wfds,wfds_o; + struct timeval timeout; + unsigned char status; } t_event; +/* function prototypes */ +int event_init(t_event *event); +int event_math(int fd,t_event *event,char rw,char ar); +int event_start(t_event *event,void *ptr, + int (*callback0)(t_event *event,void *ptr), + int (*callback1)(t_event *event,void *ptr)); +int event_stop(t_event *event); + #endif