diff options
Diffstat (limited to 'ares/ares_private.h')
-rw-r--r-- | ares/ares_private.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ares/ares_private.h b/ares/ares_private.h index df51266dc..8d5af0817 100644 --- a/ares/ares_private.h +++ b/ares/ares_private.h @@ -176,13 +176,22 @@ struct ares_channeldata { /* Active queries */ struct query *queries; + + ares_sock_state_cb sock_state_cb; + void *sock_state_cb_data; }; void ares__send_query(ares_channel channel, struct query *query, time_t now); -void ares__close_sockets(struct server_state *server); +void ares__close_sockets(ares_channel channel, struct server_state *server); int ares__get_hostent(FILE *fp, int family, struct hostent **host); int ares__read_line(FILE *fp, char **buf, int *bufsize); +#define SOCK_STATE_CALLBACK(c, s, r, w) \ + do { \ + if ((c)->sock_state_cb) \ + (c)->sock_state_cb((c)->sock_state_cb_data, (s), (r), (w)); \ + } while (0) + #ifdef CURLDEBUG /* This is low-level hard-hacking memory leak tracking and similar. Using the libcurl lowlevel code from within library is ugly and only works when |