X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=event%2Fevent.h;h=310c8667771f44740405f6f14fcb08b20f2db056;hb=8780881d6185bf57b37dcfb51c8d387527b3f96c;hp=b17983bb23445a48846d1ad09a510f11c32e2580;hpb=163431149f68f6d8e50665d74e7e31c45d662698;p=my-code%2Fapi.git diff --git a/event/event.h b/event/event.h index b17983b..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,6 +29,10 @@ #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; @@ -33,15 +40,19 @@ typedef struct s_event { 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 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