xref: /aosp_15_r20/external/libxml2/include/libxml/chvalid.h (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker /*
2*7c568831SAndroid Build Coastguard Worker  * Summary: Unicode character range checking
3*7c568831SAndroid Build Coastguard Worker  * Description: this module exports interfaces for the character
4*7c568831SAndroid Build Coastguard Worker  *               range validation APIs
5*7c568831SAndroid Build Coastguard Worker  *
6*7c568831SAndroid Build Coastguard Worker  * This file is automatically generated from the cvs source
7*7c568831SAndroid Build Coastguard Worker  * definition files using the genChRanges.py Python script
8*7c568831SAndroid Build Coastguard Worker  *
9*7c568831SAndroid Build Coastguard Worker  * Generation date: Mon Mar 27 11:09:48 2006
10*7c568831SAndroid Build Coastguard Worker  * Sources: chvalid.def
11*7c568831SAndroid Build Coastguard Worker  * Author: William Brack <[email protected]>
12*7c568831SAndroid Build Coastguard Worker  */
13*7c568831SAndroid Build Coastguard Worker 
14*7c568831SAndroid Build Coastguard Worker #ifndef __XML_CHVALID_H__
15*7c568831SAndroid Build Coastguard Worker #define __XML_CHVALID_H__
16*7c568831SAndroid Build Coastguard Worker 
17*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h>
18*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlstring.h>
19*7c568831SAndroid Build Coastguard Worker 
20*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
21*7c568831SAndroid Build Coastguard Worker extern "C" {
22*7c568831SAndroid Build Coastguard Worker #endif
23*7c568831SAndroid Build Coastguard Worker 
24*7c568831SAndroid Build Coastguard Worker /*
25*7c568831SAndroid Build Coastguard Worker  * Define our typedefs and structures
26*7c568831SAndroid Build Coastguard Worker  *
27*7c568831SAndroid Build Coastguard Worker  */
28*7c568831SAndroid Build Coastguard Worker typedef struct _xmlChSRange xmlChSRange;
29*7c568831SAndroid Build Coastguard Worker typedef xmlChSRange *xmlChSRangePtr;
30*7c568831SAndroid Build Coastguard Worker struct _xmlChSRange {
31*7c568831SAndroid Build Coastguard Worker     unsigned short	low;
32*7c568831SAndroid Build Coastguard Worker     unsigned short	high;
33*7c568831SAndroid Build Coastguard Worker };
34*7c568831SAndroid Build Coastguard Worker 
35*7c568831SAndroid Build Coastguard Worker typedef struct _xmlChLRange xmlChLRange;
36*7c568831SAndroid Build Coastguard Worker typedef xmlChLRange *xmlChLRangePtr;
37*7c568831SAndroid Build Coastguard Worker struct _xmlChLRange {
38*7c568831SAndroid Build Coastguard Worker     unsigned int	low;
39*7c568831SAndroid Build Coastguard Worker     unsigned int	high;
40*7c568831SAndroid Build Coastguard Worker };
41*7c568831SAndroid Build Coastguard Worker 
42*7c568831SAndroid Build Coastguard Worker typedef struct _xmlChRangeGroup xmlChRangeGroup;
43*7c568831SAndroid Build Coastguard Worker typedef xmlChRangeGroup *xmlChRangeGroupPtr;
44*7c568831SAndroid Build Coastguard Worker struct _xmlChRangeGroup {
45*7c568831SAndroid Build Coastguard Worker     int			nbShortRange;
46*7c568831SAndroid Build Coastguard Worker     int			nbLongRange;
47*7c568831SAndroid Build Coastguard Worker     const xmlChSRange	*shortRange;	/* points to an array of ranges */
48*7c568831SAndroid Build Coastguard Worker     const xmlChLRange	*longRange;
49*7c568831SAndroid Build Coastguard Worker };
50*7c568831SAndroid Build Coastguard Worker 
51*7c568831SAndroid Build Coastguard Worker /**
52*7c568831SAndroid Build Coastguard Worker  * Range checking routine
53*7c568831SAndroid Build Coastguard Worker  */
54*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
55*7c568831SAndroid Build Coastguard Worker 		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
56*7c568831SAndroid Build Coastguard Worker 
57*7c568831SAndroid Build Coastguard Worker 
58*7c568831SAndroid Build Coastguard Worker /**
59*7c568831SAndroid Build Coastguard Worker  * xmlIsBaseChar_ch:
60*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
61*7c568831SAndroid Build Coastguard Worker  *
62*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
63*7c568831SAndroid Build Coastguard Worker  */
64*7c568831SAndroid Build Coastguard Worker #define xmlIsBaseChar_ch(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
65*7c568831SAndroid Build Coastguard Worker 				 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
66*7c568831SAndroid Build Coastguard Worker 				 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
67*7c568831SAndroid Build Coastguard Worker 				 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
68*7c568831SAndroid Build Coastguard Worker 				  (0xf8 <= (c)))
69*7c568831SAndroid Build Coastguard Worker 
70*7c568831SAndroid Build Coastguard Worker /**
71*7c568831SAndroid Build Coastguard Worker  * xmlIsBaseCharQ:
72*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
73*7c568831SAndroid Build Coastguard Worker  *
74*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
75*7c568831SAndroid Build Coastguard Worker  */
76*7c568831SAndroid Build Coastguard Worker #define xmlIsBaseCharQ(c)	(((c) < 0x100) ? \
77*7c568831SAndroid Build Coastguard Worker 				 xmlIsBaseChar_ch((c)) : \
78*7c568831SAndroid Build Coastguard Worker 				 xmlCharInRange((c), &xmlIsBaseCharGroup))
79*7c568831SAndroid Build Coastguard Worker 
80*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;
81*7c568831SAndroid Build Coastguard Worker 
82*7c568831SAndroid Build Coastguard Worker /**
83*7c568831SAndroid Build Coastguard Worker  * xmlIsBlank_ch:
84*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
85*7c568831SAndroid Build Coastguard Worker  *
86*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
87*7c568831SAndroid Build Coastguard Worker  */
88*7c568831SAndroid Build Coastguard Worker #define xmlIsBlank_ch(c)	(((c) == 0x20) || \
89*7c568831SAndroid Build Coastguard Worker 				 ((0x9 <= (c)) && ((c) <= 0xa)) || \
90*7c568831SAndroid Build Coastguard Worker 				 ((c) == 0xd))
91*7c568831SAndroid Build Coastguard Worker 
92*7c568831SAndroid Build Coastguard Worker /**
93*7c568831SAndroid Build Coastguard Worker  * xmlIsBlankQ:
94*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
95*7c568831SAndroid Build Coastguard Worker  *
96*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
97*7c568831SAndroid Build Coastguard Worker  */
98*7c568831SAndroid Build Coastguard Worker #define xmlIsBlankQ(c)		(((c) < 0x100) ? \
99*7c568831SAndroid Build Coastguard Worker 				 xmlIsBlank_ch((c)) : 0)
100*7c568831SAndroid Build Coastguard Worker 
101*7c568831SAndroid Build Coastguard Worker 
102*7c568831SAndroid Build Coastguard Worker /**
103*7c568831SAndroid Build Coastguard Worker  * xmlIsChar_ch:
104*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
105*7c568831SAndroid Build Coastguard Worker  *
106*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
107*7c568831SAndroid Build Coastguard Worker  */
108*7c568831SAndroid Build Coastguard Worker #define xmlIsChar_ch(c)		(((0x9 <= (c)) && ((c) <= 0xa)) || \
109*7c568831SAndroid Build Coastguard Worker 				 ((c) == 0xd) || \
110*7c568831SAndroid Build Coastguard Worker 				  (0x20 <= (c)))
111*7c568831SAndroid Build Coastguard Worker 
112*7c568831SAndroid Build Coastguard Worker /**
113*7c568831SAndroid Build Coastguard Worker  * xmlIsCharQ:
114*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
115*7c568831SAndroid Build Coastguard Worker  *
116*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
117*7c568831SAndroid Build Coastguard Worker  */
118*7c568831SAndroid Build Coastguard Worker #define xmlIsCharQ(c)		(((c) < 0x100) ? \
119*7c568831SAndroid Build Coastguard Worker 				 xmlIsChar_ch((c)) :\
120*7c568831SAndroid Build Coastguard Worker 				(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
121*7c568831SAndroid Build Coastguard Worker 				 ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
122*7c568831SAndroid Build Coastguard Worker 				 ((0x10000 <= (c)) && ((c) <= 0x10ffff))))
123*7c568831SAndroid Build Coastguard Worker 
124*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;
125*7c568831SAndroid Build Coastguard Worker 
126*7c568831SAndroid Build Coastguard Worker /**
127*7c568831SAndroid Build Coastguard Worker  * xmlIsCombiningQ:
128*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
129*7c568831SAndroid Build Coastguard Worker  *
130*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
131*7c568831SAndroid Build Coastguard Worker  */
132*7c568831SAndroid Build Coastguard Worker #define xmlIsCombiningQ(c)	(((c) < 0x100) ? \
133*7c568831SAndroid Build Coastguard Worker 				 0 : \
134*7c568831SAndroid Build Coastguard Worker 				 xmlCharInRange((c), &xmlIsCombiningGroup))
135*7c568831SAndroid Build Coastguard Worker 
136*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;
137*7c568831SAndroid Build Coastguard Worker 
138*7c568831SAndroid Build Coastguard Worker /**
139*7c568831SAndroid Build Coastguard Worker  * xmlIsDigit_ch:
140*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
141*7c568831SAndroid Build Coastguard Worker  *
142*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
143*7c568831SAndroid Build Coastguard Worker  */
144*7c568831SAndroid Build Coastguard Worker #define xmlIsDigit_ch(c)	(((0x30 <= (c)) && ((c) <= 0x39)))
145*7c568831SAndroid Build Coastguard Worker 
146*7c568831SAndroid Build Coastguard Worker /**
147*7c568831SAndroid Build Coastguard Worker  * xmlIsDigitQ:
148*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
149*7c568831SAndroid Build Coastguard Worker  *
150*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
151*7c568831SAndroid Build Coastguard Worker  */
152*7c568831SAndroid Build Coastguard Worker #define xmlIsDigitQ(c)		(((c) < 0x100) ? \
153*7c568831SAndroid Build Coastguard Worker 				 xmlIsDigit_ch((c)) : \
154*7c568831SAndroid Build Coastguard Worker 				 xmlCharInRange((c), &xmlIsDigitGroup))
155*7c568831SAndroid Build Coastguard Worker 
156*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;
157*7c568831SAndroid Build Coastguard Worker 
158*7c568831SAndroid Build Coastguard Worker /**
159*7c568831SAndroid Build Coastguard Worker  * xmlIsExtender_ch:
160*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
161*7c568831SAndroid Build Coastguard Worker  *
162*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
163*7c568831SAndroid Build Coastguard Worker  */
164*7c568831SAndroid Build Coastguard Worker #define xmlIsExtender_ch(c)	(((c) == 0xb7))
165*7c568831SAndroid Build Coastguard Worker 
166*7c568831SAndroid Build Coastguard Worker /**
167*7c568831SAndroid Build Coastguard Worker  * xmlIsExtenderQ:
168*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
169*7c568831SAndroid Build Coastguard Worker  *
170*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
171*7c568831SAndroid Build Coastguard Worker  */
172*7c568831SAndroid Build Coastguard Worker #define xmlIsExtenderQ(c)	(((c) < 0x100) ? \
173*7c568831SAndroid Build Coastguard Worker 				 xmlIsExtender_ch((c)) : \
174*7c568831SAndroid Build Coastguard Worker 				 xmlCharInRange((c), &xmlIsExtenderGroup))
175*7c568831SAndroid Build Coastguard Worker 
176*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;
177*7c568831SAndroid Build Coastguard Worker 
178*7c568831SAndroid Build Coastguard Worker /**
179*7c568831SAndroid Build Coastguard Worker  * xmlIsIdeographicQ:
180*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
181*7c568831SAndroid Build Coastguard Worker  *
182*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
183*7c568831SAndroid Build Coastguard Worker  */
184*7c568831SAndroid Build Coastguard Worker #define xmlIsIdeographicQ(c)	(((c) < 0x100) ? \
185*7c568831SAndroid Build Coastguard Worker 				 0 :\
186*7c568831SAndroid Build Coastguard Worker 				(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
187*7c568831SAndroid Build Coastguard Worker 				 ((c) == 0x3007) || \
188*7c568831SAndroid Build Coastguard Worker 				 ((0x3021 <= (c)) && ((c) <= 0x3029))))
189*7c568831SAndroid Build Coastguard Worker 
190*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
191*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];
192*7c568831SAndroid Build Coastguard Worker 
193*7c568831SAndroid Build Coastguard Worker /**
194*7c568831SAndroid Build Coastguard Worker  * xmlIsPubidChar_ch:
195*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
196*7c568831SAndroid Build Coastguard Worker  *
197*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
198*7c568831SAndroid Build Coastguard Worker  */
199*7c568831SAndroid Build Coastguard Worker #define xmlIsPubidChar_ch(c)	(xmlIsPubidChar_tab[(c)])
200*7c568831SAndroid Build Coastguard Worker 
201*7c568831SAndroid Build Coastguard Worker /**
202*7c568831SAndroid Build Coastguard Worker  * xmlIsPubidCharQ:
203*7c568831SAndroid Build Coastguard Worker  * @c: char to validate
204*7c568831SAndroid Build Coastguard Worker  *
205*7c568831SAndroid Build Coastguard Worker  * Automatically generated by genChRanges.py
206*7c568831SAndroid Build Coastguard Worker  */
207*7c568831SAndroid Build Coastguard Worker #define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
208*7c568831SAndroid Build Coastguard Worker 				 xmlIsPubidChar_ch((c)) : 0)
209*7c568831SAndroid Build Coastguard Worker 
210*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
211*7c568831SAndroid Build Coastguard Worker 		xmlIsBaseChar(unsigned int ch);
212*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
213*7c568831SAndroid Build Coastguard Worker 		xmlIsBlank(unsigned int ch);
214*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
215*7c568831SAndroid Build Coastguard Worker 		xmlIsChar(unsigned int ch);
216*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
217*7c568831SAndroid Build Coastguard Worker 		xmlIsCombining(unsigned int ch);
218*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
219*7c568831SAndroid Build Coastguard Worker 		xmlIsDigit(unsigned int ch);
220*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
221*7c568831SAndroid Build Coastguard Worker 		xmlIsExtender(unsigned int ch);
222*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
223*7c568831SAndroid Build Coastguard Worker 		xmlIsIdeographic(unsigned int ch);
224*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
225*7c568831SAndroid Build Coastguard Worker 		xmlIsPubidChar(unsigned int ch);
226*7c568831SAndroid Build Coastguard Worker 
227*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
228*7c568831SAndroid Build Coastguard Worker }
229*7c568831SAndroid Build Coastguard Worker #endif
230*7c568831SAndroid Build Coastguard Worker #endif /* __XML_CHVALID_H__ */
231