aboutsummaryrefslogtreecommitdiff
path: root/external/miniupnpc/testigddescparse.c
diff options
context:
space:
mode:
authorAntonio Juarez <antonio.maria.juarez@live.com>2014-04-09 13:14:35 +0100
committerAntonio Juarez <antonio.maria.juarez@live.com>2014-04-09 13:14:35 +0100
commit9682a15400495ae490543e7e5af242ff5c4c9fa0 (patch)
tree63ba7287d8f679742a244413291d4334fc26b6e6 /external/miniupnpc/testigddescparse.c
parentImprovements in JSON RPC (diff)
downloadmonero-9682a15400495ae490543e7e5af242ff5c4c9fa0.tar.xz
Port mapping with UPnP
Diffstat (limited to 'external/miniupnpc/testigddescparse.c')
-rwxr-xr-xexternal/miniupnpc/testigddescparse.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/external/miniupnpc/testigddescparse.c b/external/miniupnpc/testigddescparse.c
new file mode 100755
index 000000000..1c0028a02
--- /dev/null
+++ b/external/miniupnpc/testigddescparse.c
@@ -0,0 +1,64 @@
+/* $Id: testigddescparse.c,v 1.4 2012/06/28 18:52:12 nanard Exp $ */
+/* Project : miniupnp
+ * http://miniupnp.free.fr/
+ * Author : Thomas Bernard
+ * Copyright (c) 2008-2012 Thomas Bernard
+ * This software is subject to the conditions detailed in the
+ * LICENCE file provided in this distribution.
+ * */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "igd_desc_parse.h"
+#include "minixml.h"
+#include "miniupnpc.h"
+
+int test_igd_desc_parse(char * buffer, int len)
+{
+ struct IGDdatas igd;
+ struct xmlparser parser;
+ struct UPNPUrls urls;
+ memset(&igd, 0, sizeof(struct IGDdatas));
+ memset(&parser, 0, sizeof(struct xmlparser));
+ parser.xmlstart = buffer;
+ parser.xmlsize = len;
+ parser.data = &igd;
+ parser.starteltfunc = IGDstartelt;
+ parser.endeltfunc = IGDendelt;
+ parser.datafunc = IGDdata;
+ parsexml(&parser);
+ printIGD(&igd);
+ GetUPNPUrls(&urls, &igd, "http://fake/desc/url/file.xml", 0);
+ printf("ipcondescURL='%s'\n", urls.ipcondescURL);
+ printf("controlURL='%s'\n", urls.controlURL);
+ printf("controlURL_CIF='%s'\n", urls.controlURL_CIF);
+ FreeUPNPUrls(&urls);
+ return 0;
+}
+
+int main(int argc, char * * argv)
+{
+ FILE * f;
+ char * buffer;
+ int len;
+ int r = 0;
+ if(argc<2) {
+ fprintf(stderr, "Usage: %s file.xml\n", argv[0]);
+ return 1;
+ }
+ f = fopen(argv[1], "r");
+ if(!f) {
+ fprintf(stderr, "Cannot open %s for reading.\n", argv[1]);
+ return 1;
+ }
+ fseek(f, 0, SEEK_END);
+ len = ftell(f);
+ fseek(f, 0, SEEK_SET);
+ buffer = malloc(len);
+ fread(buffer, 1, len, f);
+ fclose(f);
+ r = test_igd_desc_parse(buffer, len);
+ free(buffer);
+ return r;
+}
+