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