1: /*
2: * Summary: string dictionnary
3: * Description: dictionary of reusable strings, just used to avoid allocation
4: * and freeing operations.
5: *
6: * Copy: See Copyright for the status of this software.
7: *
8: * Author: Daniel Veillard
9: */
10:
11: #ifndef __XML_DICT_H__
12: #define __XML_DICT_H__
13:
14: #include <limits.h>
15: #include <libxml/xmlversion.h>
16: #include <libxml/tree.h>
17:
18: #ifdef __cplusplus
19: extern "C" {
20: #endif
21:
22: /*
23: * The dictionnary.
24: */
25: typedef struct _xmlDict xmlDict;
26: typedef xmlDict *xmlDictPtr;
27:
28: /*
29: * Initializer
30: */
31: XMLPUBFUN int XMLCALL xmlInitializeDict(void);
32:
33: /*
34: * Constructor and destructor.
35: */
36: XMLPUBFUN xmlDictPtr XMLCALL
37: xmlDictCreate (void);
38: XMLPUBFUN size_t XMLCALL
39: xmlDictSetLimit (xmlDictPtr dict,
40: size_t limit);
41: XMLPUBFUN size_t XMLCALL
42: xmlDictGetUsage (xmlDictPtr dict);
43: XMLPUBFUN xmlDictPtr XMLCALL
44: xmlDictCreateSub(xmlDictPtr sub);
45: XMLPUBFUN int XMLCALL
46: xmlDictReference(xmlDictPtr dict);
47: XMLPUBFUN void XMLCALL
48: xmlDictFree (xmlDictPtr dict);
49:
50: /*
51: * Lookup of entry in the dictionnary.
52: */
53: XMLPUBFUN const xmlChar * XMLCALL
54: xmlDictLookup (xmlDictPtr dict,
55: const xmlChar *name,
56: int len);
57: XMLPUBFUN const xmlChar * XMLCALL
58: xmlDictExists (xmlDictPtr dict,
59: const xmlChar *name,
60: int len);
61: XMLPUBFUN const xmlChar * XMLCALL
62: xmlDictQLookup (xmlDictPtr dict,
63: const xmlChar *prefix,
64: const xmlChar *name);
65: XMLPUBFUN int XMLCALL
66: xmlDictOwns (xmlDictPtr dict,
67: const xmlChar *str);
68: XMLPUBFUN int XMLCALL
69: xmlDictSize (xmlDictPtr dict);
70:
71: /*
72: * Cleanup function
73: */
74: XMLPUBFUN void XMLCALL
75: xmlDictCleanup (void);
76:
77: #ifdef __cplusplus
78: }
79: #endif
80: #endif /* ! __XML_DICT_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>