<libroxml  version="3.0.2" />
contact: tristan.lelong@libroxml.net
roxml_tune.h
Go to the documentation of this file.
1
29#ifndef ROXML_TUNE_H
30#define ROXML_TUNE_H
31
32#ifdef ROXML_DEF_H
33#error "roxml_defines.h must be included after roxml_tune.h to be tuned."
34#endif
35
36#ifdef HAVE_CONFIG_H
37#include "config.h"
38#endif
39
40/*************** Define the default behaviour **********************/
41
42/* Is the target library thread safe or not
43 * This option should be activated.
44 * If unsure, set to 1
45 */
46#ifndef CONFIG_XML_THREAD_SAFE
47#if(CONFIG_XML_HEAP_BUFFERS==1)
48#error "The CONFIG_XML_THREAD_SAFE option is not compatible with CONFIG_XML_HEAP_BUFFERS. Disable one of those."
49#endif
50#define CONFIG_XML_THREAD_SAFE 1
51#endif /* CONFIG_XML_THREAD_SAFE */
52
53/* Is the target library uses stack for internal
54 * buffers or heap. Stack require some RAM while heap
55 * can cut off performances.
56 * This option should not be activated.
57 * If unsure, set to 0
58 */
59#ifndef CONFIG_XML_HEAP_BUFFERS
60#define CONFIG_XML_HEAP_BUFFERS 0
61#endif /* CONFIG_XML_HEAP_BUFFERS */
62
63/* Define the size of internal buffer.
64 * For very small systems, large internal buffers
65 * can cause the systeml the behave strangely.
66 * This option should not be activated.
67 * If unsure, set to 0
68 */
69#ifndef CONFIG_XML_SMALL_BUFFER
70#define CONFIG_XML_SMALL_BUFFER 0
71#endif /* CONFIG_XML_SMALL_BUFFER */
72
73/* Limit the size of input XML libroxml can handle
74 * to 64kb instead of 4Gb.
75 * Setting this option will reduce the size of RAM loaded tree
76 * This option should not be activated.
77 * If unsure, set to 0
78 */
79#ifndef CONFIG_XML_SMALL_INPUT_FILE
80#define CONFIG_XML_SMALL_INPUT_FILE 0
81#endif /* CONFIG_XML_SMALL_INPUT_FILE */
82
83/*************** Implement HEAP/STACK BUFFERS **********************/
84#if(CONFIG_XML_HEAP_BUFFERS==1)
85 #define ROXML_GET_BASE_BUFFER(name) char *name = malloc(ROXML_BASE_LEN)
86 #define ROXML_PUT_BASE_BUFFER(name) free(name)
87#else /* CONFIG_XML_HEAP_BUFFERS==0 */
88 #define ROXML_GET_BASE_BUFFER(name) char name[ROXML_BASE_LEN]
89 #define ROXML_PUT_BASE_BUFFER(name)
90#endif /* CONFIG_XML_HEAP_BUFFERS */
91
92#endif /* ROXML_TUNE_H */