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>