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 |
12 | extern "C" { |
13 | #endif |
14 | |
15 | struct NameValue { |
16 | struct NameValue * l_next; |
17 | char name[64]; |
18 | char value[128]; |
19 | }; |
20 | |
21 | struct 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() */ |
32 | void |
33 | ParseNameValue(const char * buffer, int bufsize, |
34 | struct NameValueParserData * data); |
35 | |
36 | /* ClearNameValueList() */ |
37 | void |
38 | ClearNameValueList(struct NameValueParserData * pdata); |
39 | |
40 | /* GetValueFromNameValueList() */ |
41 | char * |
42 | GetValueFromNameValueList(struct NameValueParserData * pdata, |
43 | const char * Name); |
44 | |
45 | #if 0 |
46 | /* GetValueFromNameValueListIgnoreNS() */ |
47 | char * |
48 | GetValueFromNameValueListIgnoreNS(struct NameValueParserData * pdata, |
49 | const char * Name); |
50 | #endif |
51 | |
52 | /* DisplayNameValueList() */ |
53 | #ifdef DEBUG |
54 | void |
55 | DisplayNameValueList(char * buffer, int bufsize); |
56 | #endif |
57 | |
58 | #ifdef __cplusplus |
59 | } |
60 | #endif |
61 | |
62 | #endif |
63 | |
64 | |