Get rid of fd_mode_t, use three handler pointers instead.
[tinc] / fd / fd.h
diff --git a/fd/fd.h b/fd/fd.h
index 13714a4..29cad35 100644 (file)
--- a/fd/fd.h
+++ b/fd/fd.h
 #ifndef __FD_H__
 #define __FD_H__
 
-enum fd_mode {
-       FD_MODE_READ = 0,
-       FD_MODE_WRITE,
-       FD_MODE_EXCEPT,
-       FD_MODES,
-} fd_mode_t;
-
 struct fd;
 
 typedef bool (*fd_handler_t)(struct fd *);
 
 typedef struct fd {
        int fd;
-       enum fd_mode mode;
-       fd_handler_t handler;
+       fd_handler_t read;
+       fd_handler_t write;
+       fd_handler_t error;
        void *data;
 } fd_t;
 
@@ -45,6 +39,7 @@ extern bool fd_init(void);
 extern bool fd_exit(void);
 extern bool fd_add(struct fd *fd);
 extern bool fd_del(struct fd *fd);
+extern bool fd_mod(struct fd *fd);
 extern bool fd_run(void);
 extern void fd_stop(void);