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>