src/sock_tcp.h
changeset 11 14e79683c48c
parent 10 9fe218576d13
child 12 4147fae232d9
equal deleted inserted replaced
10:9fe218576d13 11:14e79683c48c
    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