Synchronize with trunk r58457.
[reactos.git] / include / reactos / libs / libxml / dict.h
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__ */