Annotation of embedaddon/miniupnpd/upnpdescgen.h, revision 1.1
1.1 ! misho 1: /* $Id: upnpdescgen.h,v 1.18 2008/03/06 18:09:10 nanard Exp $ */
! 2: /* MiniUPnP project
! 3: * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
! 4: * (c) 2006-2008 Thomas Bernard
! 5: * This software is subject to the conditions detailed
! 6: * in the LICENCE file provided within the distribution */
! 7:
! 8: #ifndef __UPNPDESCGEN_H__
! 9: #define __UPNPDESCGEN_H__
! 10:
! 11: #include "config.h"
! 12:
! 13: /* for the root description
! 14: * The child list reference is stored in "data" member using the
! 15: * INITHELPER macro with index/nchild always in the
! 16: * same order, whatever the endianness */
! 17: struct XMLElt {
! 18: const char * eltname; /* begin with '/' if no child */
! 19: const char * data; /* Value */
! 20: };
! 21:
! 22: /* for service description */
! 23: struct serviceDesc {
! 24: const struct action * actionList;
! 25: const struct stateVar * serviceStateTable;
! 26: };
! 27:
! 28: struct action {
! 29: const char * name;
! 30: const struct argument * args;
! 31: };
! 32:
! 33: struct argument { /* the name of the arg is obtained from the variable */
! 34: unsigned char dir; /* 1 = in, 2 = out */
! 35: unsigned char relatedVar; /* index of the related variable */
! 36: };
! 37:
! 38: struct stateVar {
! 39: const char * name;
! 40: unsigned char itype; /* MSB: sendEvent flag, 7 LSB: index in upnptypes */
! 41: unsigned char idefault; /* default value */
! 42: unsigned char iallowedlist; /* index in allowed values list */
! 43: unsigned char ieventvalue; /* fixed value returned or magical values */
! 44: };
! 45:
! 46: /* little endian
! 47: * The code has now be tested on big endian architecture */
! 48: #define INITHELPER(i, n) ((char *)((n<<16)|i))
! 49:
! 50: /* char * genRootDesc(int *);
! 51: * returns: NULL on error, string allocated on the heap */
! 52: char *
! 53: genRootDesc(int * len);
! 54:
! 55: /* for the two following functions */
! 56: char *
! 57: genWANIPCn(int * len);
! 58:
! 59: char *
! 60: genWANCfg(int * len);
! 61:
! 62: #ifdef ENABLE_L3F_SERVICE
! 63: char *
! 64: genL3F(int * len);
! 65: #endif
! 66:
! 67: #ifdef ENABLE_EVENTS
! 68: char *
! 69: getVarsWANIPCn(int * len);
! 70:
! 71: char *
! 72: getVarsWANCfg(int * len);
! 73:
! 74: char *
! 75: getVarsL3F(int * len);
! 76: #endif
! 77:
! 78: #endif
! 79:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>