Return to xmlstring.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml |
1.1 ! misho 1: /* ! 2: * Summary: set of routines to process strings ! 3: * Description: type and interfaces needed for the internal string handling ! 4: * of the library, especially UTF8 processing. ! 5: * ! 6: * Copy: See Copyright for the status of this software. ! 7: * ! 8: * Author: Daniel Veillard ! 9: */ ! 10: ! 11: #ifndef __XML_STRING_H__ ! 12: #define __XML_STRING_H__ ! 13: ! 14: #include <stdarg.h> ! 15: #include <libxml/xmlversion.h> ! 16: ! 17: #ifdef __cplusplus ! 18: extern "C" { ! 19: #endif ! 20: ! 21: /** ! 22: * xmlChar: ! 23: * ! 24: * This is a basic byte in an UTF-8 encoded string. ! 25: * It's unsigned allowing to pinpoint case where char * are assigned ! 26: * to xmlChar * (possibly making serialization back impossible). ! 27: */ ! 28: typedef unsigned char xmlChar; ! 29: ! 30: /** ! 31: * BAD_CAST: ! 32: * ! 33: * Macro to cast a string to an xmlChar * when one know its safe. ! 34: */ ! 35: #define BAD_CAST (xmlChar *) ! 36: ! 37: /* ! 38: * xmlChar handling ! 39: */ ! 40: XMLPUBFUN xmlChar * XMLCALL ! 41: xmlStrdup (const xmlChar *cur); ! 42: XMLPUBFUN xmlChar * XMLCALL ! 43: xmlStrndup (const xmlChar *cur, ! 44: int len); ! 45: XMLPUBFUN xmlChar * XMLCALL ! 46: xmlCharStrndup (const char *cur, ! 47: int len); ! 48: XMLPUBFUN xmlChar * XMLCALL ! 49: xmlCharStrdup (const char *cur); ! 50: XMLPUBFUN xmlChar * XMLCALL ! 51: xmlStrsub (const xmlChar *str, ! 52: int start, ! 53: int len); ! 54: XMLPUBFUN const xmlChar * XMLCALL ! 55: xmlStrchr (const xmlChar *str, ! 56: xmlChar val); ! 57: XMLPUBFUN const xmlChar * XMLCALL ! 58: xmlStrstr (const xmlChar *str, ! 59: const xmlChar *val); ! 60: XMLPUBFUN const xmlChar * XMLCALL ! 61: xmlStrcasestr (const xmlChar *str, ! 62: const xmlChar *val); ! 63: XMLPUBFUN int XMLCALL ! 64: xmlStrcmp (const xmlChar *str1, ! 65: const xmlChar *str2); ! 66: XMLPUBFUN int XMLCALL ! 67: xmlStrncmp (const xmlChar *str1, ! 68: const xmlChar *str2, ! 69: int len); ! 70: XMLPUBFUN int XMLCALL ! 71: xmlStrcasecmp (const xmlChar *str1, ! 72: const xmlChar *str2); ! 73: XMLPUBFUN int XMLCALL ! 74: xmlStrncasecmp (const xmlChar *str1, ! 75: const xmlChar *str2, ! 76: int len); ! 77: XMLPUBFUN int XMLCALL ! 78: xmlStrEqual (const xmlChar *str1, ! 79: const xmlChar *str2); ! 80: XMLPUBFUN int XMLCALL ! 81: xmlStrQEqual (const xmlChar *pref, ! 82: const xmlChar *name, ! 83: const xmlChar *str); ! 84: XMLPUBFUN int XMLCALL ! 85: xmlStrlen (const xmlChar *str); ! 86: XMLPUBFUN xmlChar * XMLCALL ! 87: xmlStrcat (xmlChar *cur, ! 88: const xmlChar *add); ! 89: XMLPUBFUN xmlChar * XMLCALL ! 90: xmlStrncat (xmlChar *cur, ! 91: const xmlChar *add, ! 92: int len); ! 93: XMLPUBFUN xmlChar * XMLCALL ! 94: xmlStrncatNew (const xmlChar *str1, ! 95: const xmlChar *str2, ! 96: int len); ! 97: XMLPUBFUN int XMLCALL ! 98: xmlStrPrintf (xmlChar *buf, ! 99: int len, ! 100: const xmlChar *msg, ! 101: ...); ! 102: XMLPUBFUN int XMLCALL ! 103: xmlStrVPrintf (xmlChar *buf, ! 104: int len, ! 105: const xmlChar *msg, ! 106: va_list ap); ! 107: ! 108: XMLPUBFUN int XMLCALL ! 109: xmlGetUTF8Char (const unsigned char *utf, ! 110: int *len); ! 111: XMLPUBFUN int XMLCALL ! 112: xmlCheckUTF8 (const unsigned char *utf); ! 113: XMLPUBFUN int XMLCALL ! 114: xmlUTF8Strsize (const xmlChar *utf, ! 115: int len); ! 116: XMLPUBFUN xmlChar * XMLCALL ! 117: xmlUTF8Strndup (const xmlChar *utf, ! 118: int len); ! 119: XMLPUBFUN const xmlChar * XMLCALL ! 120: xmlUTF8Strpos (const xmlChar *utf, ! 121: int pos); ! 122: XMLPUBFUN int XMLCALL ! 123: xmlUTF8Strloc (const xmlChar *utf, ! 124: const xmlChar *utfchar); ! 125: XMLPUBFUN xmlChar * XMLCALL ! 126: xmlUTF8Strsub (const xmlChar *utf, ! 127: int start, ! 128: int len); ! 129: XMLPUBFUN int XMLCALL ! 130: xmlUTF8Strlen (const xmlChar *utf); ! 131: XMLPUBFUN int XMLCALL ! 132: xmlUTF8Size (const xmlChar *utf); ! 133: XMLPUBFUN int XMLCALL ! 134: xmlUTF8Charcmp (const xmlChar *utf1, ! 135: const xmlChar *utf2); ! 136: ! 137: #ifdef __cplusplus ! 138: } ! 139: #endif ! 140: #endif /* __XML_STRING_H__ */