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>