I forgot "svn add" AGAIN! :(
[oweals/busybox.git] / networking / isrv.h
1 /* opaque structure */
2 struct isrv_state_t;
3 typedef struct isrv_state_t isrv_state_t;
4
5 /* callbacks */
6 void isrv_want_rd(isrv_state_t *state, int fd);
7 void isrv_want_wr(isrv_state_t *state, int fd);
8 void isrv_dont_want_rd(isrv_state_t *state, int fd);
9 void isrv_dont_want_wr(isrv_state_t *state, int fd);
10 int isrv_register_fd(isrv_state_t *state, int peer, int fd);
11 void isrv_close_fd(isrv_state_t *state, int fd);
12 int isrv_register_peer(isrv_state_t *state, void *param);
13
14 /* driver */
15 void isrv_run(
16         int listen_fd,
17         int (*new_peer)(isrv_state_t *state, int fd),
18         int (*do_rd)(int fd, void **),
19         int (*do_wr)(int fd, void **),
20         int (*do_timeout)(void **),
21         int timeout,
22         int linger_timeout
23 );