equal
deleted
inserted
replaced
14 struct sock_stream base; |
14 struct sock_stream base; |
15 |
15 |
16 /* The OS file descriptor */ |
16 /* The OS file descriptor */ |
17 int fd; |
17 int fd; |
18 |
18 |
19 /* The libevent struct */ |
19 /* The IO events */ |
20 struct event *ev; |
20 struct event *ev_read, *ev_write; |
21 }; |
21 }; |
22 |
22 |
23 #define SOCK_TCP_BASE(sock_ptr) (&(sock_ptr)->base) |
23 #define SOCK_TCP_BASE(sock_ptr) (&(sock_ptr)->base) |
24 #define SOCK_TCP_ERR(sock_ptr) SOCK_ERR(SOCK_TCP_BASE(sock_ptr)) |
24 #define SOCK_TCP_ERR(sock_ptr) SOCK_ERR(SOCK_TCP_BASE(sock_ptr)) |
25 |
25 |
32 * Initialize a blank sock_tcp with a given already-existing fd |
32 * Initialize a blank sock_tcp with a given already-existing fd |
33 */ |
33 */ |
34 err_t sock_tcp_init_fd (struct sock_tcp *sock, int fd); |
34 err_t sock_tcp_init_fd (struct sock_tcp *sock, int fd); |
35 |
35 |
36 /* |
36 /* |
37 * Initialize sock_tcp.ev to use the socket's fd with the given callback. By default, this is created with EV_READ |
37 * Initialize sock_tcp.ev_* to use the socket's fd with the given callback. The ev's are not activated yet. |
38 * flags, but is not added. |
|
39 */ |
38 */ |
40 err_t sock_tcp_init_ev (struct sock_tcp *sock, void (*ev_cb) (evutil_socket_t, short, void *), void *arg); |
39 err_t sock_tcp_init_ev (struct sock_tcp *sock, void (*ev_cb) (evutil_socket_t, short, void *), void *arg); |
41 |
40 |
42 /* |
41 /* |
43 * Initialize a blank sock_tcp by connecting |
42 * Initialize a blank sock_tcp by connecting |