<libroxml  version="3.0.2" />
contact: tristan.lelong@libroxml.net
roxml_internal.h
Go to the documentation of this file.
1 
12 #ifndef ROXML_INTERNAL_H
13 #define ROXML_INTERNAL_H
14 
15 #include <errno.h>
16 
17 #define ROXML_INT
18 #ifdef __DEBUG
19 #define ROXML_STATIC
20 #else
21 #define ROXML_STATIC static
22 #endif
23 #define ROXML_STATIC_INLINE static inline
24 
25 /* STUB function are here to provide a consistent libroxml binary no matter
26  * what the configuration. They are located in a specific section that can be
27  * easily optimized out if necessary */
28 #define ROXML_STUB __attribute__((section("__stub")))
29 
30 /* PARSE functions are used when doing the parsing of document. This is a time
31  * sensitive section and all concerned function are stored inside a same section
32  */
33 #define ROXML_PARSE __attribute__((section("__parse")))
34 
35 /* PARSE_ERROR macro will raise an parsing error along with its reason */
36 #ifdef VERBOSE_PARSING
37 #define ROXML_PARSE_ERROR(str) do { fprintf(stderr, "Parsing error at offset %d: %s\n", context->pos, str); errno = EINVAL; return -1; } while (0)
38 #else /* VERBOSE_PARSING */
39 #define ROXML_PARSE_ERROR(str) do { errno = EINVAL; return -1; } while (0);
40 #endif /* VERBOSE_PARSING */
41 
42 /* must be included first */
43 #include "roxml_tune.h"
44 
45 #include "roxml_types.h"
46 #include "roxml_defines.h"
47 #include "roxml_utils.h"
48 
49 /* must be included last */
50 #include "roxml.h"
51 
52 #endif /* ROXML_INTERNAL_H */
header for libroxml.so
Defines used trhoughout the sources.