diff options
Diffstat (limited to 'os400/libxmlrpg/xmlstring.rpgle')
-rw-r--r-- | os400/libxmlrpg/xmlstring.rpgle | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/os400/libxmlrpg/xmlstring.rpgle b/os400/libxmlrpg/xmlstring.rpgle new file mode 100644 index 0000000..41e9eb5 --- /dev/null +++ b/os400/libxmlrpg/xmlstring.rpgle @@ -0,0 +1,162 @@ + * 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 <pm@datasphere.ch>, DATASPHERE S.A. + + /if not defined(XML_STRING_H__) + /define XML_STRING_H__ + + /include "libxmlrpg/xmlversion" + /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 3u 0 based(######typedef######) + + * 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 10i 0 value + + d xmlCharStrndup pr * extproc('xmlCharStrndup') xmlChar * + d cur * value options(*string) const char * + d len 10i 0 value + + 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 10i 0 value + d len 10i 0 value + + 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 10i 0 extproc('xmlStrcmp') + d str1 * value options(*string) const xmlChar * + d str2 * value options(*string) const xmlChar * + + d xmlStrncmp pr 10i 0 extproc('xmlStrncmp') + d str1 * value options(*string) const xmlChar * + d str2 * value options(*string) const xmlChar * + d len 10i 0 value + + d xmlStrcasecmp pr 10i 0 extproc('xmlStrcasecmp') + d str1 * value options(*string) const xmlChar * + d str2 * value options(*string) const xmlChar * + + d xmlStrncasecmp pr 10i 0 extproc('xmlStrncasecmp') + d str1 * value options(*string) const xmlChar * + d str2 * value options(*string) const xmlChar * + d len 10i 0 value + + d xmlStrEqual pr 10i 0 extproc('xmlStrEqual') + d str1 * value options(*string) const xmlChar * + d str2 * value options(*string) const xmlChar * + + d xmlStrQEqual pr 10i 0 extproc('xmlStrQEqual') + d pref * value options(*string) const xmlChar * + d name * value options(*string) const xmlChar * + d stre * value options(*string) const xmlChar * + + d xmlStrlen pr 10i 0 extproc('xmlStrlen') + 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 10i 0 value + + d xmlStrncatNew pr * extproc('xmlStrncatNew') xmlChar * + d str1 * value options(*string) const xmlChar * + d str2 * value options(*string) const xmlChar * + d len 10i 0 value + + * 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 10i 0 extproc('xmlStrPrintf') + d buf * value options(*string) xmlChar * + d len 10i 0 value + d msg * value options(*string) const xmlChar * + 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 10i 0 extproc('xmlStrVPrintf') + d buf * value options(*string) xmlChar * + d len 10i 0 value + d msg * value options(*string) const xmlChar * + d ap likeds(xmlVaList) + + d xmlGetUTF8Char pr 10i 0 extproc('xmlGetUTF8Char') + d utf * value options(*string) const uns. char * + d len 10i 0 + + d xmlCheckUTF8 pr 10i 0 extproc('xmlCheckUTF8') + d utf * value options(*string) const uns. char * + + d xmlUTF8Strsize pr 10i 0 extproc('xmlUTF8Strsize') + d utf * value options(*string) const xmlChar * + d len 10i 0 value + + d xmlUTF8Strndup pr * extproc('xmlUTF8Strndup') xmlChar * + d utf * value options(*string) const xmlChar * + d len 10i 0 value + + d xmlUTF8Strpos pr * extproc('xmlUTF8Strpos') const xmlChar * + d utf * value options(*string) const xmlChar * + d pos 10i 0 value + + d xmlUTF8Strloc pr 10i 0 extproc('xmlUTF8Strloc') + 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 10i 0 value + d len 10i 0 value + + d xmlUTF8Strlen pr 10i 0 extproc('xmlUTF8Strlen') + d utf * value options(*string) const xmlChar * + + d xmlUTF8Size pr 10i 0 extproc('xmlUTF8Size') + d utf * value options(*string) const xmlChar * + + d xmlUTF8Charcmp pr 10i 0 extproc('xmlUTF8Charcmp') + d utf1 * value options(*string) const xmlChar * + d utf2 * value options(*string) const xmlChar * + + /endif XML_STRING_H__ |