1/* $Id: igd_desc_parse.h,v 1.12 2014/11/17 17:19:13 nanard Exp $ */ 2/* Project : miniupnp 3 * http://miniupnp.free.fr/ 4 * Author : Thomas Bernard 5 * Copyright (c) 2005-2014 Thomas Bernard 6 * This software is subject to the conditions detailed in the 7 * LICENCE file provided in this distribution. 8 * */ 9#ifndef IGD_DESC_PARSE_H_INCLUDED 10#define IGD_DESC_PARSE_H_INCLUDED 11 12/* Structure to store the result of the parsing of UPnP 13 * descriptions of Internet Gateway Devices */ 14#define MINIUPNPC_URL_MAXSIZE (128) 15struct IGDdatas_service { 16 char controlurl[MINIUPNPC_URL_MAXSIZE]; 17 char eventsuburl[MINIUPNPC_URL_MAXSIZE]; 18 char scpdurl[MINIUPNPC_URL_MAXSIZE]; 19 char servicetype[MINIUPNPC_URL_MAXSIZE]; 20 /*char devicetype[MINIUPNPC_URL_MAXSIZE];*/ 21}; 22 23struct IGDdatas { 24 char cureltname[MINIUPNPC_URL_MAXSIZE]; 25 char urlbase[MINIUPNPC_URL_MAXSIZE]; 26 char presentationurl[MINIUPNPC_URL_MAXSIZE]; 27 int level; 28 /*int state;*/ 29 /* "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1" */ 30 struct IGDdatas_service CIF; 31 /* "urn:schemas-upnp-org:service:WANIPConnection:1" 32 * "urn:schemas-upnp-org:service:WANPPPConnection:1" */ 33 struct IGDdatas_service first; 34 /* if both WANIPConnection and WANPPPConnection are present */ 35 struct IGDdatas_service second; 36 /* "urn:schemas-upnp-org:service:WANIPv6FirewallControl:1" */ 37 struct IGDdatas_service IPv6FC; 38 /* tmp */ 39 struct IGDdatas_service tmp; 40}; 41 42void IGDstartelt(void *, const char *, int); 43void IGDendelt(void *, const char *, int); 44void IGDdata(void *, const char *, int); 45#ifdef DEBUG 46void printIGD(struct IGDdatas *); 47#endif /* DEBUG */ 48 49#endif /* IGD_DESC_PARSE_H_INCLUDED */ 50