Home | History | Annotate | Download | only in libxml
      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__ */
     81