xref: /aosp_15_r20/external/libxml2/os400/libxmlrpg/xmlstring.rpgle (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker      * Summary: set of routines to process strings
2*7c568831SAndroid Build Coastguard Worker      * Description: type and interfaces needed for the internal string
3*7c568831SAndroid Build Coastguard Worker      *              handling of the library, especially UTF8 processing.
4*7c568831SAndroid Build Coastguard Worker      *
5*7c568831SAndroid Build Coastguard Worker      * Copy: See Copyright for the status of this software.
6*7c568831SAndroid Build Coastguard Worker      *
7*7c568831SAndroid Build Coastguard Worker      * Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A.
8*7c568831SAndroid Build Coastguard Worker
9*7c568831SAndroid Build Coastguard Worker      /if not defined(XML_STRING_H__)
10*7c568831SAndroid Build Coastguard Worker      /define XML_STRING_H__
11*7c568831SAndroid Build Coastguard Worker
12*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlversion"
13*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlTypesC"
14*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlstdarg"
15*7c568831SAndroid Build Coastguard Worker
16*7c568831SAndroid Build Coastguard Worker      * xmlChar:
17*7c568831SAndroid Build Coastguard Worker      *
18*7c568831SAndroid Build Coastguard Worker      * This is a basic byte in an UTF-8 encoded string.
19*7c568831SAndroid Build Coastguard Worker      * It's unsigned allowing to pinpoint case where char * are assigned
20*7c568831SAndroid Build Coastguard Worker      * to xmlChar * (possibly making serialization back impossible).
21*7c568831SAndroid Build Coastguard Worker
22*7c568831SAndroid Build Coastguard Worker     d xmlChar         s                   based(######typedef######)
23*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCuchar)
24*7c568831SAndroid Build Coastguard Worker
25*7c568831SAndroid Build Coastguard Worker      * xmlChar handling
26*7c568831SAndroid Build Coastguard Worker
27*7c568831SAndroid Build Coastguard Worker     d xmlStrdup       pr              *   extproc('xmlStrdup')                 xmlChar *
28*7c568831SAndroid Build Coastguard Worker     d  cur                            *   value options(*string)               const xmlChar *
29*7c568831SAndroid Build Coastguard Worker
30*7c568831SAndroid Build Coastguard Worker     d xmlStrndup      pr              *   extproc('xmlStrndup')                xmlChar *
31*7c568831SAndroid Build Coastguard Worker     d  cur                            *   value options(*string)               const xmlChar *
32*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
33*7c568831SAndroid Build Coastguard Worker
34*7c568831SAndroid Build Coastguard Worker     d xmlCharStrndup  pr              *   extproc('xmlCharStrndup')            xmlChar *
35*7c568831SAndroid Build Coastguard Worker     d  cur                            *   value options(*string)               const char *
36*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
37*7c568831SAndroid Build Coastguard Worker
38*7c568831SAndroid Build Coastguard Worker     d xmlCharStrdup   pr              *   extproc('xmlCharStrdup')             xmlChar *
39*7c568831SAndroid Build Coastguard Worker     d  cur                            *   value options(*string)               const char *
40*7c568831SAndroid Build Coastguard Worker
41*7c568831SAndroid Build Coastguard Worker     d xmlStrsub       pr              *   extproc('xmlStrsub')                 const xmlChar *
42*7c568831SAndroid Build Coastguard Worker     d  str                            *   value options(*string)               const xmlChar *
43*7c568831SAndroid Build Coastguard Worker     d  start                              value like(xmlCint)
44*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
45*7c568831SAndroid Build Coastguard Worker
46*7c568831SAndroid Build Coastguard Worker     d xmlStrchr       pr              *   extproc('xmlStrchr')                 const xmlChar *
47*7c568831SAndroid Build Coastguard Worker     d  str                            *   value options(*string)               const xmlChar *
48*7c568831SAndroid Build Coastguard Worker     d  val                                value like(xmlChar)
49*7c568831SAndroid Build Coastguard Worker
50*7c568831SAndroid Build Coastguard Worker     d xmlStrstr       pr              *   extproc('xmlStrstr')                 const xmlChar *
51*7c568831SAndroid Build Coastguard Worker     d  str                            *   value options(*string)               const xmlChar *
52*7c568831SAndroid Build Coastguard Worker     d  val                            *   value options(*string)               const xmlChar *
53*7c568831SAndroid Build Coastguard Worker
54*7c568831SAndroid Build Coastguard Worker     d xmlStrcasestr   pr              *   extproc('xmlStrcasestr')             const xmlChar *
55*7c568831SAndroid Build Coastguard Worker     d  str                            *   value options(*string)               const xmlChar *
56*7c568831SAndroid Build Coastguard Worker     d  val                            *   value options(*string)               const xmlChar *
57*7c568831SAndroid Build Coastguard Worker
58*7c568831SAndroid Build Coastguard Worker     d xmlStrcmp       pr                  extproc('xmlStrcmp')
59*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
60*7c568831SAndroid Build Coastguard Worker     d  str1                           *   value options(*string)               const xmlChar *
61*7c568831SAndroid Build Coastguard Worker     d  str2                           *   value options(*string)               const xmlChar *
62*7c568831SAndroid Build Coastguard Worker
63*7c568831SAndroid Build Coastguard Worker     d xmlStrncmp      pr                  extproc('xmlStrncmp')
64*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
65*7c568831SAndroid Build Coastguard Worker     d  str1                           *   value options(*string)               const xmlChar *
66*7c568831SAndroid Build Coastguard Worker     d  str2                           *   value options(*string)               const xmlChar *
67*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
68*7c568831SAndroid Build Coastguard Worker
69*7c568831SAndroid Build Coastguard Worker     d xmlStrcasecmp   pr                  extproc('xmlStrcasecmp')
70*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
71*7c568831SAndroid Build Coastguard Worker     d  str1                           *   value options(*string)               const xmlChar *
72*7c568831SAndroid Build Coastguard Worker     d  str2                           *   value options(*string)               const xmlChar *
73*7c568831SAndroid Build Coastguard Worker
74*7c568831SAndroid Build Coastguard Worker     d xmlStrncasecmp  pr                  extproc('xmlStrncasecmp')
75*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
76*7c568831SAndroid Build Coastguard Worker     d  str1                           *   value options(*string)               const xmlChar *
77*7c568831SAndroid Build Coastguard Worker     d  str2                           *   value options(*string)               const xmlChar *
78*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
79*7c568831SAndroid Build Coastguard Worker
80*7c568831SAndroid Build Coastguard Worker     d xmlStrEqual     pr                  extproc('xmlStrEqual')
81*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
82*7c568831SAndroid Build Coastguard Worker     d  str1                           *   value options(*string)               const xmlChar *
83*7c568831SAndroid Build Coastguard Worker     d  str2                           *   value options(*string)               const xmlChar *
84*7c568831SAndroid Build Coastguard Worker
85*7c568831SAndroid Build Coastguard Worker     d xmlStrQEqual    pr                  extproc('xmlStrQEqual')
86*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
87*7c568831SAndroid Build Coastguard Worker     d  pref                           *   value options(*string)               const xmlChar *
88*7c568831SAndroid Build Coastguard Worker     d  name                           *   value options(*string)               const xmlChar *
89*7c568831SAndroid Build Coastguard Worker     d  stre                           *   value options(*string)               const xmlChar *
90*7c568831SAndroid Build Coastguard Worker
91*7c568831SAndroid Build Coastguard Worker     d xmlStrlen       pr                  extproc('xmlStrlen')
92*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
93*7c568831SAndroid Build Coastguard Worker     d  str                            *   value options(*string)               const xmlChar *
94*7c568831SAndroid Build Coastguard Worker
95*7c568831SAndroid Build Coastguard Worker     d xmlStrcat       pr              *   extproc('xmlStrcat')                 xmlChar *
96*7c568831SAndroid Build Coastguard Worker     d  cur                            *   value options(*string)               xmlChar *
97*7c568831SAndroid Build Coastguard Worker     d  add                            *   value options(*string)               const xmlChar *
98*7c568831SAndroid Build Coastguard Worker
99*7c568831SAndroid Build Coastguard Worker     d xmlStrncat      pr              *   extproc('xmlStrncat')                xmlChar *
100*7c568831SAndroid Build Coastguard Worker     d  cur                            *   value options(*string)               xmlChar *
101*7c568831SAndroid Build Coastguard Worker     d  add                            *   value options(*string)               const xmlChar *
102*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
103*7c568831SAndroid Build Coastguard Worker
104*7c568831SAndroid Build Coastguard Worker     d xmlStrncatNew   pr              *   extproc('xmlStrncatNew')             xmlChar *
105*7c568831SAndroid Build Coastguard Worker     d  str1                           *   value options(*string)               const xmlChar *
106*7c568831SAndroid Build Coastguard Worker     d  str2                           *   value options(*string)               const xmlChar *
107*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
108*7c568831SAndroid Build Coastguard Worker
109*7c568831SAndroid Build Coastguard Worker      * xmlStrPrintf() is a vararg function.
110*7c568831SAndroid Build Coastguard Worker      * The following prototype supports up to 8 pointer arguments.
111*7c568831SAndroid Build Coastguard Worker      * Other argument signature can be achieved by defining alternate
112*7c568831SAndroid Build Coastguard Worker      *   prototypes redirected to the same function.
113*7c568831SAndroid Build Coastguard Worker
114*7c568831SAndroid Build Coastguard Worker     d xmlStrPrintf    pr                  extproc('xmlStrPrintf')
115*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
116*7c568831SAndroid Build Coastguard Worker     d  buf                            *   value options(*string)               xmlChar *
117*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
118*7c568831SAndroid Build Coastguard Worker     d  msg                            *   value options(*string)               const char *
119*7c568831SAndroid Build Coastguard Worker     d  arg1                           *   value options(*string: *nopass)
120*7c568831SAndroid Build Coastguard Worker     d  arg2                           *   value options(*string: *nopass)
121*7c568831SAndroid Build Coastguard Worker     d  arg3                           *   value options(*string: *nopass)
122*7c568831SAndroid Build Coastguard Worker     d  arg4                           *   value options(*string: *nopass)
123*7c568831SAndroid Build Coastguard Worker     d  arg5                           *   value options(*string: *nopass)
124*7c568831SAndroid Build Coastguard Worker     d  arg6                           *   value options(*string: *nopass)
125*7c568831SAndroid Build Coastguard Worker     d  arg7                           *   value options(*string: *nopass)
126*7c568831SAndroid Build Coastguard Worker     d  arg8                           *   value options(*string: *nopass)
127*7c568831SAndroid Build Coastguard Worker
128*7c568831SAndroid Build Coastguard Worker     d xmlStrVPrintf   pr                  extproc('xmlStrVPrintf')
129*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
130*7c568831SAndroid Build Coastguard Worker     d  buf                            *   value options(*string)               xmlChar *
131*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
132*7c568831SAndroid Build Coastguard Worker     d  msg                            *   value options(*string)               const char *
133*7c568831SAndroid Build Coastguard Worker     d  ap                                 likeds(xmlVaList)
134*7c568831SAndroid Build Coastguard Worker
135*7c568831SAndroid Build Coastguard Worker     d xmlGetUTF8Char  pr                  extproc('xmlGetUTF8Char')
136*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
137*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const uns. char *
138*7c568831SAndroid Build Coastguard Worker     d  len                                like(xmlCint)
139*7c568831SAndroid Build Coastguard Worker
140*7c568831SAndroid Build Coastguard Worker     d xmlCheckUTF8    pr                  extproc('xmlCheckUTF8')
141*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
142*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const uns. char *
143*7c568831SAndroid Build Coastguard Worker
144*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Strsize  pr                  extproc('xmlUTF8Strsize')
145*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
146*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
147*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
148*7c568831SAndroid Build Coastguard Worker
149*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Strndup  pr              *   extproc('xmlUTF8Strndup')            xmlChar *
150*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
151*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
152*7c568831SAndroid Build Coastguard Worker
153*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Strpos   pr              *   extproc('xmlUTF8Strpos')             const xmlChar *
154*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
155*7c568831SAndroid Build Coastguard Worker     d  pos                                value like(xmlCint)
156*7c568831SAndroid Build Coastguard Worker
157*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Strloc   pr                  extproc('xmlUTF8Strloc')
158*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
159*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
160*7c568831SAndroid Build Coastguard Worker     d  utfchar                        *   value options(*string)               const xmlChar *
161*7c568831SAndroid Build Coastguard Worker
162*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Strsub   pr              *   extproc('xmlUTF8Strsub')             xmlChar *
163*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
164*7c568831SAndroid Build Coastguard Worker     d  start                              value like(xmlCint)
165*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
166*7c568831SAndroid Build Coastguard Worker
167*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Strlen   pr                  extproc('xmlUTF8Strlen')
168*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
169*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
170*7c568831SAndroid Build Coastguard Worker
171*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Size     pr                  extproc('xmlUTF8Size')
172*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
173*7c568831SAndroid Build Coastguard Worker     d  utf                            *   value options(*string)               const xmlChar *
174*7c568831SAndroid Build Coastguard Worker
175*7c568831SAndroid Build Coastguard Worker     d xmlUTF8Charcmp  pr                  extproc('xmlUTF8Charcmp')
176*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
177*7c568831SAndroid Build Coastguard Worker     d  utf1                           *   value options(*string)               const xmlChar *
178*7c568831SAndroid Build Coastguard Worker     d  utf2                           *   value options(*string)               const xmlChar *
179*7c568831SAndroid Build Coastguard Worker
180*7c568831SAndroid Build Coastguard Worker      /endif                                                                    XML_STRING_H__
181