X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=event%2Fevent.h;h=310c8667771f44740405f6f14fcb08b20f2db056;hb=HEAD;hp=03994c567b625f5cfbf794be8abfd13762c76ca7;hpb=24edc387e6e88c32c6142f397ee891746eed62e3;p=my-code%2Fapi.git diff --git a/event/event.h b/event/event.h index 03994c5..310c866 100644 --- a/event/event.h +++ b/event/event.h @@ -4,6 +4,7 @@ #define EVENT_H /* includes */ +#define _GNU_SOURCE #include #include #include @@ -14,6 +15,8 @@ #define CALLBACK_ERROR -1 #define E_ERROR -1 #define E_SUCCESS 1 +#define E_FD_YES 2 +#define E_FD_NO 3 /* event status */ #define DISABLED 0 @@ -26,21 +29,30 @@ #define ADD 'a' #define REMOVE 'r' +/* immediatley values */ +#define IMM_FALSE 0 +#define IMM_TRUE 1 + /* event specific variables */ typedef struct s_event { + int outfd; int maxfd; fd_set rfds,rfds_o; fd_set wfds,wfds_o; struct timeval timeout; + unsigned char immediately; unsigned char status; } t_event; /* function prototypes */ -int event_init(t_event *event); +int event_init(t_event *event,int outfd); +int event_set_timeout(t_event *event,int sec,int usec); +int event_set_immediately(t_event *event,unsigned char value); 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_check(t_event *event,int fd); int event_stop(t_event *event); #endif