Annotation of embedaddon/miniupnpc/include/portlistingparse.h, revision 1.1.1.1
1.1 misho 1: /* $Id: portlistingparse.h,v 1.11 2015/07/21 13:16:55 nanard Exp $ */
2: /* MiniUPnP project
3: * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4: * (c) 2011-2015 Thomas Bernard
5: * This software is subject to the conditions detailed
6: * in the LICENCE file provided within the distribution */
7: #ifndef PORTLISTINGPARSE_H_INCLUDED
8: #define PORTLISTINGPARSE_H_INCLUDED
9:
10: #include "miniupnpc_declspec.h"
11: /* for the definition of UNSIGNED_INTEGER */
12: #include "miniupnpctypes.h"
13:
14: #ifdef __cplusplus
15: extern "C" {
16: #endif
17:
18: /* sample of PortMappingEntry :
19: <p:PortMappingEntry>
20: <p:NewRemoteHost>202.233.2.1</p:NewRemoteHost>
21: <p:NewExternalPort>2345</p:NewExternalPort>
22: <p:NewProtocol>TCP</p:NewProtocol>
23: <p:NewInternalPort>2345</p:NewInternalPort>
24: <p:NewInternalClient>192.168.1.137</p:NewInternalClient>
25: <p:NewEnabled>1</p:NewEnabled>
26: <p:NewDescription>dooom</p:NewDescription>
27: <p:NewLeaseTime>345</p:NewLeaseTime>
28: </p:PortMappingEntry>
29: */
30: typedef enum { PortMappingEltNone,
31: PortMappingEntry, NewRemoteHost,
32: NewExternalPort, NewProtocol,
33: NewInternalPort, NewInternalClient,
34: NewEnabled, NewDescription,
35: NewLeaseTime } portMappingElt;
36:
37: struct PortMapping {
38: struct PortMapping * l_next; /* list next element */
39: UNSIGNED_INTEGER leaseTime;
40: unsigned short externalPort;
41: unsigned short internalPort;
42: char remoteHost[64];
43: char internalClient[64];
44: char description[64];
45: char protocol[4];
46: unsigned char enabled;
47: };
48:
49: struct PortMappingParserData {
50: struct PortMapping * l_head; /* list head */
51: portMappingElt curelt;
52: };
53:
54: MINIUPNP_LIBSPEC void
55: ParsePortListing(const char * buffer, int bufsize,
56: struct PortMappingParserData * pdata);
57:
58: MINIUPNP_LIBSPEC void
59: FreePortListing(struct PortMappingParserData * pdata);
60:
61: #ifdef __cplusplus
62: }
63: #endif
64:
65: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>