aboutsummaryrefslogtreecommitdiff
path: root/external/miniupnpc/miniupnpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'external/miniupnpc/miniupnpc.h')
-rw-r--r--external/miniupnpc/miniupnpc.h60
1 files changed, 41 insertions, 19 deletions
diff --git a/external/miniupnpc/miniupnpc.h b/external/miniupnpc/miniupnpc.h
index 304de90f2..a694978c6 100644
--- a/external/miniupnpc/miniupnpc.h
+++ b/external/miniupnpc/miniupnpc.h
@@ -1,15 +1,16 @@
-/* $Id: miniupnpc.h,v 1.34 2014/01/31 13:18:25 nanard Exp $ */
+/* $Id: miniupnpc.h,v 1.44 2015/07/23 20:40:10 nanard Exp $ */
/* Project: miniupnp
* http://miniupnp.free.fr/
* Author: Thomas Bernard
- * Copyright (c) 2005-2012 Thomas Bernard
+ * Copyright (c) 2005-2015 Thomas Bernard
* This software is subjects to the conditions detailed
* in the LICENCE file provided within this distribution */
#ifndef MINIUPNPC_H_INCLUDED
#define MINIUPNPC_H_INCLUDED
-#include "declspec.h"
+#include "miniupnpc_declspec.h"
#include "igd_desc_parse.h"
+#include "upnpdev.h"
/* error codes : */
#define UPNPDISCOVER_SUCCESS (0)
@@ -19,7 +20,13 @@
/* versions : */
#define MINIUPNPC_VERSION "1.9"
-#define MINIUPNPC_API_VERSION 10
+#define MINIUPNPC_API_VERSION 15
+
+/* Source port:
+ Using "1" as an alias for 1900 for backwards compatability
+ (presuming one would have used that for the "sameport" parameter) */
+#define UPNP_LOCAL_PORT_ANY 0
+#define UPNP_LOCAL_PORT_SAME 1
#ifdef __cplusplus
extern "C" {
@@ -33,14 +40,6 @@ simpleUPnPcommand(int, const char *, const char *,
const char *, struct UPNParg *,
int *);
-struct UPNPDev {
- struct UPNPDev * pNext;
- char * descURL;
- char * st;
- unsigned int scope_id;
- char buffer[2];
-};
-
/* upnpDiscover()
* discover UPnP devices on the network.
* The discovered devices are returned as a chained list.
@@ -52,16 +51,38 @@ struct UPNPDev {
* is NULL.
* If multicastif is not NULL, it will be used instead of the default
* multicast interface for sending SSDP discover packets.
- * If sameport is not null, SSDP packets will be sent from the source port
- * 1900 (same as destination port) otherwise system assign a source port. */
+ * If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent
+ * from the source port 1900 (same as destination port), if set to
+ * UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will
+ * be attempted as the source port.
+ * "searchalltypes" parameter is useful when searching several types,
+ * if 0, the discovery will stop with the first type returning results.
+ * TTL should default to 2. */
MINIUPNP_LIBSPEC struct UPNPDev *
upnpDiscover(int delay, const char * multicastif,
- const char * minissdpdsock, int sameport,
- int ipv6,
+ const char * minissdpdsock, int localport,
+ int ipv6, unsigned char ttl,
int * error);
-/* freeUPNPDevlist()
- * free list returned by upnpDiscover() */
-MINIUPNP_LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverAll(int delay, const char * multicastif,
+ const char * minissdpdsock, int localport,
+ int ipv6, unsigned char ttl,
+ int * error);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverDevice(const char * device, int delay, const char * multicastif,
+ const char * minissdpdsock, int localport,
+ int ipv6, unsigned char ttl,
+ int * error);
+
+MINIUPNP_LIBSPEC struct UPNPDev *
+upnpDiscoverDevices(const char * const deviceTypes[],
+ int delay, const char * multicastif,
+ const char * minissdpdsock, int localport,
+ int ipv6, unsigned char ttl,
+ int * error,
+ int searchalltypes);
/* parserootdesc() :
* parse root XML description of a UPnP device and fill the IGDdatas
@@ -102,6 +123,7 @@ UPNP_GetValidIGD(struct UPNPDev * devlist,
/* UPNP_GetIGDFromUrl()
* Used when skipping the discovery process.
+ * When succeding, urls, data, and lanaddr arguments are set.
* return value :
* 0 - Not ok
* 1 - OK */