|
Packit |
21b7a2 |
/*
|
|
Packit |
21b7a2 |
* Summary: set of routines to process strings
|
|
Packit |
21b7a2 |
* Description: type and interfaces needed for the internal string handling
|
|
Packit |
21b7a2 |
* of the library, especially UTF8 processing.
|
|
Packit |
21b7a2 |
*
|
|
Packit |
21b7a2 |
* Copy: See Copyright for the status of this software.
|
|
Packit |
21b7a2 |
*
|
|
Packit |
21b7a2 |
* Author: Daniel Veillard
|
|
Packit |
21b7a2 |
*/
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
#ifndef __XML_STRING_H__
|
|
Packit |
21b7a2 |
#define __XML_STRING_H__
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
#include <stdarg.h>
|
|
Packit |
21b7a2 |
#include <libxml/xmlversion.h>
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
#ifdef __cplusplus
|
|
Packit |
21b7a2 |
extern "C" {
|
|
Packit |
21b7a2 |
#endif
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
/**
|
|
Packit |
21b7a2 |
* xmlChar:
|
|
Packit |
21b7a2 |
*
|
|
Packit |
21b7a2 |
* This is a basic byte in an UTF-8 encoded string.
|
|
Packit |
21b7a2 |
* It's unsigned allowing to pinpoint case where char * are assigned
|
|
Packit |
21b7a2 |
* to xmlChar * (possibly making serialization back impossible).
|
|
Packit |
21b7a2 |
*/
|
|
Packit |
21b7a2 |
typedef unsigned char xmlChar;
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
/**
|
|
Packit |
21b7a2 |
* BAD_CAST:
|
|
Packit |
21b7a2 |
*
|
|
Packit |
21b7a2 |
* Macro to cast a string to an xmlChar * when one know its safe.
|
|
Packit |
21b7a2 |
*/
|
|
Packit |
21b7a2 |
#define BAD_CAST (xmlChar *)
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
/*
|
|
Packit |
21b7a2 |
* xmlChar handling
|
|
Packit |
21b7a2 |
*/
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrdup (const xmlChar *cur);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrndup (const xmlChar *cur,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlCharStrndup (const char *cur,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlCharStrdup (const char *cur);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrsub (const xmlChar *str,
|
|
Packit |
21b7a2 |
int start,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN const xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrchr (const xmlChar *str,
|
|
Packit |
21b7a2 |
xmlChar val);
|
|
Packit |
21b7a2 |
XMLPUBFUN const xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrstr (const xmlChar *str,
|
|
Packit |
21b7a2 |
const xmlChar *val);
|
|
Packit |
21b7a2 |
XMLPUBFUN const xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrcasestr (const xmlChar *str,
|
|
Packit |
21b7a2 |
const xmlChar *val);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrcmp (const xmlChar *str1,
|
|
Packit |
21b7a2 |
const xmlChar *str2);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrncmp (const xmlChar *str1,
|
|
Packit |
21b7a2 |
const xmlChar *str2,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrcasecmp (const xmlChar *str1,
|
|
Packit |
21b7a2 |
const xmlChar *str2);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrncasecmp (const xmlChar *str1,
|
|
Packit |
21b7a2 |
const xmlChar *str2,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrEqual (const xmlChar *str1,
|
|
Packit |
21b7a2 |
const xmlChar *str2);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrQEqual (const xmlChar *pref,
|
|
Packit |
21b7a2 |
const xmlChar *name,
|
|
Packit |
21b7a2 |
const xmlChar *str);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrlen (const xmlChar *str);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrcat (xmlChar *cur,
|
|
Packit |
21b7a2 |
const xmlChar *add);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrncat (xmlChar *cur,
|
|
Packit |
21b7a2 |
const xmlChar *add,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlStrncatNew (const xmlChar *str1,
|
|
Packit |
21b7a2 |
const xmlChar *str2,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrPrintf (xmlChar *buf,
|
|
Packit |
21b7a2 |
int len,
|
|
Packit |
21b7a2 |
const xmlChar *msg,
|
|
Packit |
21b7a2 |
...);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlStrVPrintf (xmlChar *buf,
|
|
Packit |
21b7a2 |
int len,
|
|
Packit |
21b7a2 |
const xmlChar *msg,
|
|
Packit |
21b7a2 |
va_list ap);
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlGetUTF8Char (const unsigned char *utf,
|
|
Packit |
21b7a2 |
int *len);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlCheckUTF8 (const unsigned char *utf);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Strsize (const xmlChar *utf,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Strndup (const xmlChar *utf,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN const xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Strpos (const xmlChar *utf,
|
|
Packit |
21b7a2 |
int pos);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Strloc (const xmlChar *utf,
|
|
Packit |
21b7a2 |
const xmlChar *utfchar);
|
|
Packit |
21b7a2 |
XMLPUBFUN xmlChar * XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Strsub (const xmlChar *utf,
|
|
Packit |
21b7a2 |
int start,
|
|
Packit |
21b7a2 |
int len);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Strlen (const xmlChar *utf);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Size (const xmlChar *utf);
|
|
Packit |
21b7a2 |
XMLPUBFUN int XMLCALL
|
|
Packit |
21b7a2 |
xmlUTF8Charcmp (const xmlChar *utf1,
|
|
Packit |
21b7a2 |
const xmlChar *utf2);
|
|
Packit |
21b7a2 |
|
|
Packit |
21b7a2 |
#ifdef __cplusplus
|
|
Packit |
21b7a2 |
}
|
|
Packit |
21b7a2 |
#endif
|
|
Packit |
21b7a2 |
#endif /* __XML_STRING_H__ */
|