aboutsummaryrefslogtreecommitdiff
path: root/src/nat/nat.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-09-02 08:29:32 +0000
committerChristian Grothoff <christian@grothoff.org>2010-09-02 08:29:32 +0000
commitd82613030b93b97c8efcfe7706ce64561e1ae1b3 (patch)
tree1dd743f78ff70e6662abd8e3baa9ec72e33d1705 /src/nat/nat.h
parentbd55ede36d67a7b13264b9cdf2c0b5a198e57871 (diff)
downloadgnunet-d82613030b93b97c8efcfe7706ce64561e1ae1b3.tar.gz
gnunet-d82613030b93b97c8efcfe7706ce64561e1ae1b3.zip
hdr
Diffstat (limited to 'src/nat/nat.h')
-rw-r--r--src/nat/nat.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/nat/nat.h b/src/nat/nat.h
new file mode 100644
index 000000000..a0924af08
--- /dev/null
+++ b/src/nat/nat.h
@@ -0,0 +1,73 @@
1/*
2 This file is part of GNUnet.
3 (C) 2007, 2008, 2009 Christian Grothoff (and other contributing authors)
4
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 3, or (at your
8 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 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21/**
22 * @file nat/nat.h
23 * @brief Library handling UPnP and NAT-PMP port forwarding and
24 * external IP address retrieval
25 * @author Milan Bouchet-Valat
26 */
27
28#ifndef NAT_H
29#define NAT_H
30
31#define DEBUG GNUNET_YES
32
33/**
34 * Used to communicate with the UPnP and NAT-PMP plugins
35 */
36enum GNUNET_NAT_PortState
37 {
38 GNUNET_NAT_PORT_ERROR,
39
40 /**
41 * the port isn't forwarded
42 */
43 GNUNET_NAT_PORT_UNMAPPED,
44
45 /**
46 * we're cancelling the port forwarding
47 */
48 GNUNET_NAT_PORT_UNMAPPING,
49
50 /**
51 * we're in the process of trying to set up port forwarding
52 */
53 GNUNET_NAT_PORT_MAPPING,
54
55 /**
56 * we've successfully forwarded the port
57 */
58 GNUNET_NAT_PORT_MAPPED
59 };
60
61
62/**
63 * Compare the sin(6)_addr fields of AF_INET or AF_INET(6) sockaddr.
64 *
65 * @param a first sockaddr
66 * @param b second sockaddr
67 * @return 0 if addresses are equal, non-null value otherwise
68 */
69int GNUNET_NAT_cmp_addr (const struct sockaddr *a,
70 const struct sockaddr *b);
71
72
73#endif