4 #include "nss_gns_query.h"
9 * Wrapper function that uses gnunet-gns cli tool to resolve
12 * @param af address family
13 * @param name the name to resolve
14 * @param u the userdata (result struct)
15 * @return -1 on error else 0
17 int gns_resolve_name(int af, const char *name, struct userdata *u)
25 if (-1 == asprintf(&cmd, "%s -t AAAA -u %s\n", "gnunet-gns -r", name))
30 if (-1 == asprintf(&cmd, "%s %s\n", "gnunet-gns -r -u", name))
38 while (fgets( line, sizeof(line), p ) != NULL)
41 if (u->count >= MAX_ENTRIES)
44 if (line[strlen(line)-1] == '\n')
46 line[strlen(line)-1] = '\0';
49 if (inet_pton(af, line, &(u->data.ipv4[u->count])))
52 u->data_len += sizeof(ipv4_address_t);
61 else if ((af == AF_INET6))
63 if (inet_pton(af, line, &(u->data.ipv6[u->count])))
66 u->data_len += sizeof(ipv6_address_t);