1/* $Id: upnpreplyparse.h,v 1.19 2014/10/27 16:33:19 nanard Exp $ */ 2/* MiniUPnP project 3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ 4 * (c) 2006-2013 Thomas Bernard 5 * This software is subject to the conditions detailed 6 * in the LICENCE file provided within the distribution */ 7 8#ifndef UPNPREPLYPARSE_H_INCLUDED 9#define UPNPREPLYPARSE_H_INCLUDED 10 11#ifdef __cplusplus 12extern "C" { 13#endif 14 15struct NameValue { 16 struct NameValue * l_next; 17 char name[64]; 18 char value[128]; 19}; 20 21struct NameValueParserData { 22 struct NameValue * l_head; 23 char curelt[64]; 24 char * portListing; 25 int portListingLength; 26 int topelt; 27 const char * cdata; 28 int cdatalen; 29}; 30 31/* ParseNameValue() */ 32void 33ParseNameValue(const char * buffer, int bufsize, 34 struct NameValueParserData * data); 35 36/* ClearNameValueList() */ 37void 38ClearNameValueList(struct NameValueParserData * pdata); 39 40/* GetValueFromNameValueList() */ 41char * 42GetValueFromNameValueList(struct NameValueParserData * pdata, 43 const char * Name); 44 45#if 0 46/* GetValueFromNameValueListIgnoreNS() */ 47char * 48GetValueFromNameValueListIgnoreNS(struct NameValueParserData * pdata, 49 const char * Name); 50#endif 51 52/* DisplayNameValueList() */ 53#ifdef DEBUG 54void 55DisplayNameValueList(char * buffer, int bufsize); 56#endif 57 58#ifdef __cplusplus 59} 60#endif 61 62#endif 63 64