Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/xml2/include/libxml/xmlstring.h
4394 views
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 *
41
xmlStrdup (const xmlChar *cur);
42
XMLPUBFUN xmlChar *
43
xmlStrndup (const xmlChar *cur,
44
int len);
45
XMLPUBFUN xmlChar *
46
xmlCharStrndup (const char *cur,
47
int len);
48
XMLPUBFUN xmlChar *
49
xmlCharStrdup (const char *cur);
50
XMLPUBFUN xmlChar *
51
xmlStrsub (const xmlChar *str,
52
int start,
53
int len);
54
XMLPUBFUN const xmlChar *
55
xmlStrchr (const xmlChar *str,
56
xmlChar val);
57
XMLPUBFUN const xmlChar *
58
xmlStrstr (const xmlChar *str,
59
const xmlChar *val);
60
XMLPUBFUN const xmlChar *
61
xmlStrcasestr (const xmlChar *str,
62
const xmlChar *val);
63
XMLPUBFUN int
64
xmlStrcmp (const xmlChar *str1,
65
const xmlChar *str2);
66
XMLPUBFUN int
67
xmlStrncmp (const xmlChar *str1,
68
const xmlChar *str2,
69
int len);
70
XMLPUBFUN int
71
xmlStrcasecmp (const xmlChar *str1,
72
const xmlChar *str2);
73
XMLPUBFUN int
74
xmlStrncasecmp (const xmlChar *str1,
75
const xmlChar *str2,
76
int len);
77
XMLPUBFUN int
78
xmlStrEqual (const xmlChar *str1,
79
const xmlChar *str2);
80
XMLPUBFUN int
81
xmlStrQEqual (const xmlChar *pref,
82
const xmlChar *name,
83
const xmlChar *str);
84
XMLPUBFUN int
85
xmlStrlen (const xmlChar *str);
86
XMLPUBFUN xmlChar *
87
xmlStrcat (xmlChar *cur,
88
const xmlChar *add);
89
XMLPUBFUN xmlChar *
90
xmlStrncat (xmlChar *cur,
91
const xmlChar *add,
92
int len);
93
XMLPUBFUN xmlChar *
94
xmlStrncatNew (const xmlChar *str1,
95
const xmlChar *str2,
96
int len);
97
XMLPUBFUN int
98
xmlStrPrintf (xmlChar *buf,
99
int len,
100
const char *msg,
101
...) LIBXML_ATTR_FORMAT(3,4);
102
XMLPUBFUN int
103
xmlStrVPrintf (xmlChar *buf,
104
int len,
105
const char *msg,
106
va_list ap) LIBXML_ATTR_FORMAT(3,0);
107
108
XMLPUBFUN int
109
xmlGetUTF8Char (const unsigned char *utf,
110
int *len);
111
XMLPUBFUN int
112
xmlCheckUTF8 (const unsigned char *utf);
113
XMLPUBFUN int
114
xmlUTF8Strsize (const xmlChar *utf,
115
int len);
116
XMLPUBFUN xmlChar *
117
xmlUTF8Strndup (const xmlChar *utf,
118
int len);
119
XMLPUBFUN const xmlChar *
120
xmlUTF8Strpos (const xmlChar *utf,
121
int pos);
122
XMLPUBFUN int
123
xmlUTF8Strloc (const xmlChar *utf,
124
const xmlChar *utfchar);
125
XMLPUBFUN xmlChar *
126
xmlUTF8Strsub (const xmlChar *utf,
127
int start,
128
int len);
129
XMLPUBFUN int
130
xmlUTF8Strlen (const xmlChar *utf);
131
XMLPUBFUN int
132
xmlUTF8Size (const xmlChar *utf);
133
XMLPUBFUN int
134
xmlUTF8Charcmp (const xmlChar *utf1,
135
const xmlChar *utf2);
136
137
#ifdef __cplusplus
138
}
139
#endif
140
#endif /* __XML_STRING_H__ */
141
142