check
[oweals/gnunet.git] / src / nat / upnp.h
index 8fd44a8f1a6d5ee190802e12e71fa6fe6be15aa5..dc6ba0d45c296ea85e3e4745c271368cc4f23e8d 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2009 Christian Grothoff (and other contributing authors)
+     (C) 2009, 2010 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
 #include "platform.h"
 
-typedef struct GNUNET_NAT_UPNP_Handle GNUNET_NAT_UPNP_Handle;
+struct GNUNET_NAT_UPNP_Handle;
 
-GNUNET_NAT_UPNP_Handle *GNUNET_NAT_UPNP_init (const struct sockaddr *addr,
-                                              socklen_t addrlen,
-                                              unsigned short port);
+typedef void (*GNUNET_NAT_UPNP_pulse_cb) (int status,
+                                          struct sockaddr * ext_addr,
+                                          void *cls);
 
-void GNUNET_NAT_UPNP_close (GNUNET_NAT_UPNP_Handle *);
+struct GNUNET_NAT_UPNP_Handle *GNUNET_NAT_UPNP_init (const struct sockaddr
+                                                     *addr, socklen_t addrlen,
+                                                     unsigned short port,
+                                                     GNUNET_NAT_UPNP_pulse_cb
+                                                     pulse_cb,
+                                                     void *pulse_cls);
 
-int GNUNET_NAT_UPNP_pulse (GNUNET_NAT_UPNP_Handle *, int is_enabled,
-                           int do_port_check, struct sockaddr **ext_addr);
-#endif /* UPNP_H */
+void GNUNET_NAT_UPNP_close (struct GNUNET_NAT_UPNP_Handle *h);
+
+void GNUNET_NAT_UPNP_pulse (struct GNUNET_NAT_UPNP_Handle *h,
+                            int is_enabled, int do_port_check);
+
+#endif
+/* UPNP_H */