Annotation of embedaddon/miniupnpd/upnpdescgen.h, revision 1.1.1.3

1.1.1.3 ! misho       1: /* $Id: upnpdescgen.h,v 1.24 2012/09/27 16:00:10 nanard Exp $ */
1.1       misho       2: /* MiniUPnP project
                      3:  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
1.1.1.3 ! misho       4:  * (c) 2006-2011 Thomas Bernard
1.1       misho       5:  * This software is subject to the conditions detailed
                      6:  * in the LICENCE file provided within the distribution */
                      7: 
1.1.1.3 ! misho       8: #ifndef UPNPDESCGEN_H_INCLUDED
        !             9: #define UPNPDESCGEN_H_INCLUDED
1.1       misho      10: 
                     11: #include "config.h"
                     12: 
1.1.1.3 ! misho      13: /* for the root description
1.1       misho      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 */
1.1.1.3 ! misho      34:        unsigned char dir;              /* MSB : don't append "New" Flag,
1.1.1.2   misho      35:                                 * 5 Medium bits : magic argument name index
                     36:                                 * 2 LSB : 1 = in, 2 = out */
1.1       misho      37:        unsigned char relatedVar;       /* index of the related variable */
                     38: };
                     39: 
                     40: struct stateVar {
                     41:        const char * name;
                     42:        unsigned char itype;    /* MSB: sendEvent flag, 7 LSB: index in upnptypes */
                     43:        unsigned char idefault; /* default value */
1.1.1.3 ! misho      44:        unsigned char iallowedlist;     /* index in allowed values list
1.1.1.2   misho      45:                                     * or in allowed range list */
1.1       misho      46:        unsigned char ieventvalue;      /* fixed value returned or magical values */
                     47: };
                     48: 
1.1.1.3 ! misho      49: /* little endian
1.1       misho      50:  * The code has now be tested on big endian architecture */
1.1.1.2   misho      51: #define INITHELPER(i, n) ((char *)(((n)<<16)|(i)))
1.1       misho      52: 
                     53: /* char * genRootDesc(int *);
                     54:  * returns: NULL on error, string allocated on the heap */
                     55: char *
                     56: genRootDesc(int * len);
                     57: 
                     58: /* for the two following functions */
                     59: char *
                     60: genWANIPCn(int * len);
                     61: 
                     62: char *
                     63: genWANCfg(int * len);
                     64: 
                     65: #ifdef ENABLE_L3F_SERVICE
                     66: char *
                     67: genL3F(int * len);
                     68: #endif
                     69: 
1.1.1.2   misho      70: #ifdef ENABLE_6FC_SERVICE
                     71: char *
                     72: gen6FC(int * len);
                     73: #endif
                     74: 
                     75: #ifdef ENABLE_DP_SERVICE
                     76: char *
                     77: genDP(int * len);
                     78: #endif
                     79: 
1.1       misho      80: #ifdef ENABLE_EVENTS
                     81: char *
                     82: getVarsWANIPCn(int * len);
                     83: 
                     84: char *
                     85: getVarsWANCfg(int * len);
                     86: 
1.1.1.2   misho      87: #ifdef ENABLE_L3F_SERVICE
1.1       misho      88: char *
                     89: getVarsL3F(int * len);
                     90: #endif
1.1.1.2   misho      91: #ifdef ENABLE_6FC_SERVICE
                     92: char *
                     93: getVars6FC(int * len);
                     94: #endif
                     95: #ifdef ENABLE_DP_SERVICE
                     96: char *
                     97: getVarsDP(int * len);
                     98: #endif
                     99: #endif /* ENABLE_EVENTS */
1.1       misho     100: 
                    101: #endif
                    102: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>