File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpc / include / portlistingparse.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:21:37 2023 UTC (9 months ago) by misho
Branches: miniupnpc, MAIN
CVS tags: v2_2_5p0, HEAD
Version 2.2.5p0

    1: /* $Id: portlistingparse.h,v 1.1.1.1 2023/09/27 11:21:37 misho 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>