From 6411a3107aabdcd24a4b5c25ea97292ab8b25535 Mon Sep 17 00:00:00 2001 From: Laurent Ghigonis Date: Sat, 15 Dec 2012 03:09:01 +0100 Subject: integrate gg_sniff dns handling into libggnet it can be enabled in ggnet by calling ggnet_set_dns(), or can be used independently by including an calling ggnet_dns_new(), ggnet_dns_free() and ggnet_dns_reverse() WARNING: not tested yet, only compiles --- libglouglou/libggnet.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libglouglou/libggnet.c') diff --git a/libglouglou/libggnet.c b/libglouglou/libggnet.c index e6df4bd..7367372 100644 --- a/libglouglou/libggnet.c +++ b/libglouglou/libggnet.c @@ -3,6 +3,7 @@ #include #include "libggnet.h" +#include "libggnet_dns.h" static struct ggnet_nodegroup *nodegroup_add(struct ggnet *, enum ggnet_grouptype, void *, @@ -38,6 +39,7 @@ ggnet_new(int manage_connid) * * Note: Must be set before any use of ggnet */ +// XXX break API to ggnet_set_grouping() void ggnet_grouping_set(struct ggnet *net, int set, void (*cb_addgroup)(struct ggnet *, struct ggnet_nodegroup *, struct ggnet_nodegroup *), @@ -48,6 +50,20 @@ ggnet_grouping_set(struct ggnet *net, int set, net->cb_delgroup = cb_delgroup; } +void +ggnet_set_dns(struct ggnet *net, int set, + struct event_base *ev_base, + void (*cb_nodename)(struct ggnet_node *)) +{ + net->use_dns = set; + if (set) { + net->ggdns = ggnet_dns_new(ev_base); + net->cb_nodename = cb_nodename; + } + else if (net->use_dns) + ggnet_dns_free(net->ggdns); +} + void ggnet_debug_set(struct ggnet *net, int set) { -- cgit v1.2.3-59-g8ed1b