<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.