From: Pavel Šimerda Date: Mon, 10 Feb 2014 12:02:03 +0000 (+0100) Subject: add support for channel/query user_data X-Git-Url: https://www.sourceware.org/git/?a=commitdiff_plain;h=e630ea13789c54b58e86a415a63f27dc207569b6;p=netresolve.git add support for channel/query user_data --- diff --git a/include/netresolve.h b/include/netresolve.h index d48e61f..718f3f8 100644 --- a/include/netresolve.h +++ b/include/netresolve.h @@ -57,6 +57,7 @@ void netresolve_set_connect_callback(netresolve_t channel, void netresolve_set_backend_string(netresolve_t channel, const char *string); /* Input */ +void netresolve_set_user_data(netresolve_t channel, void *data); void netresolve_set_family(netresolve_t channel, int family); void netresolve_set_socktype(netresolve_t channel, int socktype); void netresolve_set_protocol(netresolve_t channel, int protocol); @@ -64,6 +65,7 @@ void netresolve_set_default_loopback(netresolve_t channel, bool value); void netresolve_set_dns_srv_lookup(netresolve_t channel, bool value); /* Output */ +void *netresolve_query_get_user_data(netresolve_query_t query); size_t netresolve_query_get_count(const netresolve_query_t query); void netresolve_query_get_address_info(const netresolve_query_t query, size_t idx, int *family, const void **address, int *ifindex); diff --git a/lib/input.c b/lib/input.c index a20c21d..a7a7f8e 100644 --- a/lib/input.c +++ b/lib/input.c @@ -127,6 +127,13 @@ netresolve_set_backend_string(netresolve_t channel, const char *string) } } + +void +netresolve_set_user_data(netresolve_t channel, void *user_data) +{ + channel->request.user_data = user_data; +} + void netresolve_set_default_loopback(netresolve_t channel, bool value) { diff --git a/lib/netresolve-private.h b/lib/netresolve-private.h index 81b8bee..a464957 100644 --- a/lib/netresolve-private.h +++ b/lib/netresolve-private.h @@ -89,6 +89,7 @@ struct netresolve_channel { void *user_data_sock; } callbacks; struct netresolve_request { + void *user_data; /* Perform L3 address resolution using 'nodename' if not NULL. Use * 'family' to chose between IPv4, IPv6 and mixed IPv4/IPv6 * resolution and additional flags to further tweak nodename name diff --git a/lib/output.c b/lib/output.c index f69d836..ed3295e 100644 --- a/lib/output.c +++ b/lib/output.c @@ -26,6 +26,12 @@ #include "netresolve-private.h" +void * +netresolve_query_get_user_data(netresolve_query_t query) +{ + return query->request.user_data; +} + size_t netresolve_query_get_count(netresolve_query_t query) {