From fdf7aec5324782969328b6375c3043b46402cae5 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 14 Jan 2007 12:32:30 +0000 Subject: I forgot "svn add" AGAIN! :( --- networking/isrv.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 networking/isrv.h (limited to 'networking/isrv.h') diff --git a/networking/isrv.h b/networking/isrv.h new file mode 100644 index 000000000..780636d17 --- /dev/null +++ b/networking/isrv.h @@ -0,0 +1,23 @@ +/* opaque structure */ +struct isrv_state_t; +typedef struct isrv_state_t isrv_state_t; + +/* callbacks */ +void isrv_want_rd(isrv_state_t *state, int fd); +void isrv_want_wr(isrv_state_t *state, int fd); +void isrv_dont_want_rd(isrv_state_t *state, int fd); +void isrv_dont_want_wr(isrv_state_t *state, int fd); +int isrv_register_fd(isrv_state_t *state, int peer, int fd); +void isrv_close_fd(isrv_state_t *state, int fd); +int isrv_register_peer(isrv_state_t *state, void *param); + +/* driver */ +void isrv_run( + int listen_fd, + int (*new_peer)(isrv_state_t *state, int fd), + int (*do_rd)(int fd, void **), + int (*do_wr)(int fd, void **), + int (*do_timeout)(void **), + int timeout, + int linger_timeout +); -- cgit v1.2.3