fixed drpintf for event + network api
[my-code/api.git] / event / event.h
1 /* event.h -- event headers */
2
3 #ifndef EVENT_H
4 #define EVENT_H
5
6 /* includes */
7 #include <stdio.h>
8 #include <sys/select.h>
9 #include <unistd.h>
10
11 /* defines */
12
13 /* return values */
14 #define CALLBACK_ERROR -1
15 #define E_ERROR -1
16 #define E_SUCCESS 1
17
18 /* event status */
19 #define DISABLED 0
20 #define ENABLED 1
21
22 /* read write mode */
23 #define READ 'r'
24 #define WRITE 'w'
25 /* add remove mode */
26 #define ADD 'a'
27 #define REMOVE 'r'
28
29 /* event specific variables */
30 typedef struct s_event {
31   int outfd;
32   int maxfd;
33   fd_set rfds,rfds_o;
34   fd_set wfds,wfds_o;
35   struct timeval timeout;
36   unsigned char status;
37 } t_event;
38
39 /* function prototypes */
40 int event_init(t_event *event,int outfd);
41 int event_math(int fd,t_event *event,char rw,char ar);
42 int event_start(t_event *event,void *ptr,
43                 int (*callback0)(t_event *event,void *ptr),
44                 int (*callback1)(t_event *event,void *ptr));
45 int event_stop(t_event *event);
46
47 #endif