GNUnet  0.10.x
nss_gns_query.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2012 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
20 #ifndef NSS_GNS_QUERY_H
21 #define NSS_GNS_QUERY_H
22 
26 #include <inttypes.h>
27 
28 /* Maximum number of entries to return */
29 #define MAX_ENTRIES 16
30 
31 typedef struct {
32  uint32_t address;
34 
35 
36 typedef struct {
37  uint8_t address[16];
39 
40 
41 struct userdata {
42  int count;
43  int data_len; /* only valid when doing reverse lookup */
44  union {
47  char *name[MAX_ENTRIES];
48  } data;
49 };
50 
51 
64 int
65 gns_resolve_name(int af,
66  const char *name,
67  struct userdata *userdata);
68 
69 #endif
ipv4_address_t ipv4[16]
Definition: nss_gns_query.h:45
#define MAX_ENTRIES
Parts taken from nss-mdns.
Definition: nss_gns_query.h:29
char * name[16]
Definition: nss_gns_query.h:47
int gns_resolve_name(int af, const char *name, struct userdata *userdata)
Wrapper function that uses gnunet-gns cli tool to resolve an IPv4/6 address.
Definition: nss_gns_query.c:58
uint32_t address
Definition: nss_gns_query.h:32
union userdata::@24 data
ipv6_address_t ipv6[16]
Definition: nss_gns_query.h:46
int data_len
Definition: nss_gns_query.h:43
static char * address
GNS address for this phone.