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