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