diff options
-rw-r--r-- | src/poll.c | 6 | ||||
-rw-r--r-- | src/poll.h | 8 |
2 files changed, 10 insertions, 4 deletions
@@ -24,7 +24,7 @@ */ /** - \file poll.h + \file poll.c Portable polling API implementations */ @@ -41,6 +41,7 @@ #endif +/** Returns the time to the next handshake or -1 */ static inline int handshake_timeout(void) { if (!ctx.handshake_queue.next) return -1; @@ -61,7 +62,6 @@ static inline int handshake_timeout(void) { #include <sys/epoll.h> -/** Initializes the poll interface */ void fastd_poll_init(void) { ctx.epoll_fd = epoll_create1(0); if (ctx.epoll_fd < 0) @@ -75,13 +75,11 @@ void fastd_poll_init(void) { exit_errno("epoll_ctl"); } -/** Frees the poll interface */ void fastd_poll_free(void) { if (close(ctx.epoll_fd)) pr_warn_errno("closing EPOLL: close"); } - void fastd_poll_set_fd_tuntap(void) { struct epoll_event event = { .events = EPOLLIN, @@ -36,14 +36,22 @@ #include "types.h" +/** Initializes the poll interface */ void fastd_poll_init(void); +/** Frees the poll interface */ void fastd_poll_free(void); +/** Updates the file descriptor of the TUN/TAP interface from \e ctx.tunfd */ void fastd_poll_set_fd_tuntap(void); +/** Updates the file descriptor of the socket \e ctx.socks[i] */ void fastd_poll_set_fd_sock(size_t i); +/** Updates the file descriptor of the dynamic socket for the peer with index \e i in \e ctx.peers */ void fastd_poll_set_fd_peer(size_t i); +/** Must be called when a peer is added at the end of the peer list */ void fastd_poll_add_peer(void); +/** Must be called then the peer with the index \e i is deleted */ void fastd_poll_delete_peer(size_t i); +/** Waits for the next input event */ void fastd_poll_handle(void); |