miniupnpd 1.9 (20160113)
[tomato.git] / release / src / router / miniupnpd / minixml.h
blob9f43aa48cbb4671f3e6667c656e564b016c3c62c
1 /* $Id: minixml.h,v 1.7 2012/09/27 15:42:10 nanard Exp $ */
2 /* minimal xml parser
4 * Project : miniupnp
5 * Website : http://miniupnp.free.fr/
6 * Author : Thomas Bernard
7 * Copyright (c) 2005 Thomas Bernard
8 * This software is subject to the conditions detailed in the
9 * LICENCE file provided in this distribution.
10 * */
11 #ifndef MINIXML_H_INCLUDED
12 #define MINIXML_H_INCLUDED
13 #define IS_WHITE_SPACE(c) ((c==' ') || (c=='\t') || (c=='\r') || (c=='\n'))
15 /* if a callback function pointer is set to NULL,
16 * the function is not called */
17 struct xmlparser {
18 const char *xmlstart;
19 const char *xmlend;
20 const char *xml; /* pointer to current character */
21 int xmlsize;
22 void * data;
23 void (*starteltfunc) (void *, const char *, int);
24 void (*endeltfunc) (void *, const char *, int);
25 void (*datafunc) (void *, const char *, int);
26 void (*attfunc) (void *, const char *, int, const char *, int);
29 /* parsexml()
30 * the xmlparser structure must be initialized before the call
31 * the following structure members have to be initialized :
32 * xmlstart, xmlsize, data, *func
33 * xml is for internal usage, xmlend is computed automatically */
34 void parsexml(struct xmlparser *);
36 #endif