/thirdparty/libportfwd/third-party/miniupnpc-1.6/portlistingparse.h
C Header | 71 lines | 42 code | 10 blank | 19 comment | 2 complexity | e3096556793c2f04550285998e128d2f MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, GPL-3.0, GPL-2.0
- /* $Id: portlistingparse.h,v 1.4 2011/02/15 23:03:56 nanard Exp $ */
- /* MiniUPnP project
- * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
- * (c) 2011 Thomas Bernard
- * This software is subject to the conditions detailed
- * in the LICENCE file provided within the distribution */
- #ifndef __PORTLISTINGPARSE_H__
- #define __PORTLISTINGPARSE_H__
- #include "declspec.h"
- /* for the definition of UNSIGNED_INTEGER */
- #include "miniupnpctypes.h"
- #if defined(NO_SYS_QUEUE_H) || defined(WIN32) || defined(__HAIKU__)
- #include "bsdqueue.h"
- #else
- #include <sys/queue.h>
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* sample of PortMappingEntry :
- <p:PortMappingEntry>
- <p:NewRemoteHost>202.233.2.1</p:NewRemoteHost>
- <p:NewExternalPort>2345</p:NewExternalPort>
- <p:NewProtocol>TCP</p:NewProtocol>
- <p:NewInternalPort>2345</p:NewInternalPort>
- <p:NewInternalClient>192.168.1.137</p:NewInternalClient>
- <p:NewEnabled>1</p:NewEnabled>
- <p:NewDescription>dooom</p:NewDescription>
- <p:NewLeaseTime>345</p:NewLeaseTime>
- </p:PortMappingEntry>
- */
- typedef enum { PortMappingEltNone,
- PortMappingEntry, NewRemoteHost,
- NewExternalPort, NewProtocol,
- NewInternalPort, NewInternalClient,
- NewEnabled, NewDescription,
- NewLeaseTime } portMappingElt;
- struct PortMapping {
- LIST_ENTRY(PortMapping) entries;
- UNSIGNED_INTEGER leaseTime;
- unsigned short externalPort;
- unsigned short internalPort;
- char remoteHost[64];
- char internalClient[64];
- char description[64];
- char protocol[4];
- unsigned char enabled;
- };
- struct PortMappingParserData {
- LIST_HEAD(portmappinglisthead, PortMapping) head;
- portMappingElt curelt;
- };
- LIBSPEC void
- ParsePortListing(const char * buffer, int bufsize,
- struct PortMappingParserData * pdata);
- LIBSPEC void
- FreePortListing(struct PortMappingParserData * pdata);
- #ifdef __cplusplus
- }
- #endif
- #endif