* Summary: set of routines to process strings * Description: type and interfaces needed for the internal string * handling of the library, especially UTF8 processing. * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat , DATASPHERE S.A. /if not defined(XML_STRING_H__) /define XML_STRING_H__ /include "libxmlrpg/xmlversion" /include "libxmlrpg/xmlTypesC" /include "libxmlrpg/xmlstdarg" * xmlChar: * * This is a basic byte in an UTF-8 encoded string. * It's unsigned allowing to pinpoint case where char * are assigned * to xmlChar * (possibly making serialization back impossible). d xmlChar s based(######typedef######) d like(xmlCuchar) * xmlChar handling d xmlStrdup pr * extproc('xmlStrdup') xmlChar * d cur * value options(*string) const xmlChar * d xmlStrndup pr * extproc('xmlStrndup') xmlChar * d cur * value options(*string) const xmlChar * d len value like(xmlCint) d xmlCharStrndup pr * extproc('xmlCharStrndup') xmlChar * d cur * value options(*string) const char * d len value like(xmlCint) d xmlCharStrdup pr * extproc('xmlCharStrdup') xmlChar * d cur * value options(*string) const char * d xmlStrsub pr * extproc('xmlStrsub') const xmlChar * d str * value options(*string) const xmlChar * d start value like(xmlCint) d len value like(xmlCint) d xmlStrchr pr * extproc('xmlStrchr') const xmlChar * d str * value options(*string) const xmlChar * d val value like(xmlChar) d xmlStrstr pr * extproc('xmlStrstr') const xmlChar * d str * value options(*string) const xmlChar * d val * value options(*string) const xmlChar * d xmlStrcasestr pr * extproc('xmlStrcasestr') const xmlChar * d str * value options(*string) const xmlChar * d val * value options(*string) const xmlChar * d xmlStrcmp pr extproc('xmlStrcmp') d like(xmlCint) d str1 * value options(*string) const xmlChar * d str2 * value options(*string) const xmlChar * d xmlStrncmp pr extproc('xmlStrncmp') d like(xmlCint) d str1 * value options(*string) const xmlChar * d str2 * value options(*string) const xmlChar * d len value like(xmlCint) d xmlStrcasecmp pr extproc('xmlStrcasecmp') d like(xmlCint) d str1 * value options(*string) const xmlChar * d str2 * value options(*string) const xmlChar * d xmlStrncasecmp pr extproc('xmlStrncasecmp') d like(xmlCint) d str1 * value options(*string) const xmlChar * d str2 * value options(*string) const xmlChar * d len value like(xmlCint) d xmlStrEqual pr extproc('xmlStrEqual') d like(xmlCint) d str1 * value options(*string) const xmlChar * d str2 * value options(*string) const xmlChar * d xmlStrQEqual pr extproc('xmlStrQEqual') d like(xmlCint) d pref * value options(*string) const xmlChar * d name * value options(*string) const xmlChar * d stre * value options(*string) const xmlChar * d xmlStrlen pr extproc('xmlStrlen') d like(xmlCint) d str * value options(*string) const xmlChar * d xmlStrcat pr * extproc('xmlStrcat') xmlChar * d cur * value options(*string) xmlChar * d add * value options(*string) const xmlChar * d xmlStrncat pr * extproc('xmlStrncat') xmlChar * d cur * value options(*string) xmlChar * d add * value options(*string) const xmlChar * d len value like(xmlCint) d xmlStrncatNew pr * extproc('xmlStrncatNew') xmlChar * d str1 * value options(*string) const xmlChar * d str2 * value options(*string) const xmlChar * d len value like(xmlCint) * xmlStrPrintf() is a vararg function. * The following prototype supports up to 8 pointer arguments. * Other argument signature can be achieved by defining alternate * prototypes redirected to the same function. d xmlStrPrintf pr extproc('xmlStrPrintf') d like(xmlCint) d buf * value options(*string) xmlChar * d len value like(xmlCint) d msg * value options(*string) const char * d arg1 * value options(*string: *nopass) d arg2 * value options(*string: *nopass) d arg3 * value options(*string: *nopass) d arg4 * value options(*string: *nopass) d arg5 * value options(*string: *nopass) d arg6 * value options(*string: *nopass) d arg7 * value options(*string: *nopass) d arg8 * value options(*string: *nopass) d xmlStrVPrintf pr extproc('xmlStrVPrintf') d like(xmlCint) d buf * value options(*string) xmlChar * d len value like(xmlCint) d msg * value options(*string) const char * d ap likeds(xmlVaList) d xmlGetUTF8Char pr extproc('xmlGetUTF8Char') d like(xmlCint) d utf * value options(*string) const uns. char * d len like(xmlCint) d xmlCheckUTF8 pr extproc('xmlCheckUTF8') d like(xmlCint) d utf * value options(*string) const uns. char * d xmlUTF8Strsize pr extproc('xmlUTF8Strsize') d like(xmlCint) d utf * value options(*string) const xmlChar * d len value like(xmlCint) d xmlUTF8Strndup pr * extproc('xmlUTF8Strndup') xmlChar * d utf * value options(*string) const xmlChar * d len value like(xmlCint) d xmlUTF8Strpos pr * extproc('xmlUTF8Strpos') const xmlChar * d utf * value options(*string) const xmlChar * d pos value like(xmlCint) d xmlUTF8Strloc pr extproc('xmlUTF8Strloc') d like(xmlCint) d utf * value options(*string) const xmlChar * d utfchar * value options(*string) const xmlChar * d xmlUTF8Strsub pr * extproc('xmlUTF8Strsub') xmlChar * d utf * value options(*string) const xmlChar * d start value like(xmlCint) d len value like(xmlCint) d xmlUTF8Strlen pr extproc('xmlUTF8Strlen') d like(xmlCint) d utf * value options(*string) const xmlChar * d xmlUTF8Size pr extproc('xmlUTF8Size') d like(xmlCint) d utf * value options(*string) const xmlChar * d xmlUTF8Charcmp pr extproc('xmlUTF8Charcmp') d like(xmlCint) d utf1 * value options(*string) const xmlChar * d utf2 * value options(*string) const xmlChar * /endif XML_STRING_H__