Coverage Report

Created: 2024-01-20 12:31

/src/libxml2/include/libxml/xmlstring.h
Line
Count
Source
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
510M
#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__ */