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                          10i 0 value
     33 
     34      d xmlCharStrndup  pr              *   extproc('xmlCharStrndup')            xmlChar *
     35      d  cur                            *   value options(*string)               const char *
     36      d  len                          10i 0 value
     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                        10i 0 value
     44      d  len                          10i 0 value
     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            10i 0 extproc('xmlStrcmp')
     59      d  str1                           *   value options(*string)               const xmlChar *
     60      d  str2                           *   value options(*string)               const xmlChar *
     61 
     62      d xmlStrncmp      pr            10i 0 extproc('xmlStrncmp')
     63      d  str1                           *   value options(*string)               const xmlChar *
     64      d  str2                           *   value options(*string)               const xmlChar *
     65      d  len                          10i 0 value
     66 
     67      d xmlStrcasecmp   pr            10i 0 extproc('xmlStrcasecmp')
     68      d  str1                           *   value options(*string)               const xmlChar *
     69      d  str2                           *   value options(*string)               const xmlChar *
     70 
     71      d xmlStrncasecmp  pr            10i 0 extproc('xmlStrncasecmp')
     72      d  str1                           *   value options(*string)               const xmlChar *
     73      d  str2                           *   value options(*string)               const xmlChar *
     74      d  len                          10i 0 value
     75 
     76      d xmlStrEqual     pr            10i 0 extproc('xmlStrEqual')
     77      d  str1                           *   value options(*string)               const xmlChar *
     78      d  str2                           *   value options(*string)               const xmlChar *
     79 
     80      d xmlStrQEqual    pr            10i 0 extproc('xmlStrQEqual')
     81      d  pref                           *   value options(*string)               const xmlChar *
     82      d  name                           *   value options(*string)               const xmlChar *
     83      d  stre                           *   value options(*string)               const xmlChar *
     84 
     85      d xmlStrlen       pr            10i 0 extproc('xmlStrlen')
     86      d  str                            *   value options(*string)               const xmlChar *
     87 
     88      d xmlStrcat       pr              *   extproc('xmlStrcat')                 xmlChar *
     89      d  cur                            *   value options(*string)               xmlChar *
     90      d  add                            *   value options(*string)               const xmlChar *
     91 
     92      d xmlStrncat      pr              *   extproc('xmlStrncat')                xmlChar *
     93      d  cur                            *   value options(*string)               xmlChar *
     94      d  add                            *   value options(*string)               const xmlChar *
     95      d  len                          10i 0 value
     96 
     97      d xmlStrncatNew   pr              *   extproc('xmlStrncatNew')             xmlChar *
     98      d  str1                           *   value options(*string)               const xmlChar *
     99      d  str2                           *   value options(*string)               const xmlChar *
    100      d  len                          10i 0 value
    101 
    102       * xmlStrPrintf() is a vararg function.
    103       * The following prototype supports up to 8 pointer arguments.
    104       * Other argument signature can be achieved by defining alternate
    105       *   prototypes redirected to the same function.
    106 
    107      d xmlStrPrintf    pr            10i 0 extproc('xmlStrPrintf')
    108      d  buf                            *   value options(*string)               xmlChar *
    109      d  len                          10i 0 value
    110      d  msg                            *   value options(*string)               const xmlChar *
    111      d  arg1                           *   value options(*string: *nopass)
    112      d  arg2                           *   value options(*string: *nopass)
    113      d  arg3                           *   value options(*string: *nopass)
    114      d  arg4                           *   value options(*string: *nopass)
    115      d  arg5                           *   value options(*string: *nopass)
    116      d  arg6                           *   value options(*string: *nopass)
    117      d  arg7                           *   value options(*string: *nopass)
    118      d  arg8                           *   value options(*string: *nopass)
    119 
    120      d xmlStrVPrintf   pr            10i 0 extproc('xmlStrVPrintf')
    121      d  buf                            *   value options(*string)               xmlChar *
    122      d  len                          10i 0 value
    123      d  msg                            *   value options(*string)               const xmlChar *
    124      d  ap                                 likeds(xmlVaList)
    125 
    126      d xmlGetUTF8Char  pr            10i 0 extproc('xmlGetUTF8Char')
    127      d  utf                            *   value options(*string)               const uns. char *
    128      d  len                          10i 0
    129 
    130      d xmlCheckUTF8    pr            10i 0 extproc('xmlCheckUTF8')
    131      d  utf                            *   value options(*string)               const uns. char *
    132 
    133      d xmlUTF8Strsize  pr            10i 0 extproc('xmlUTF8Strsize')
    134      d  utf                            *   value options(*string)               const xmlChar *
    135      d  len                          10i 0 value
    136 
    137      d xmlUTF8Strndup  pr              *   extproc('xmlUTF8Strndup')            xmlChar *
    138      d  utf                            *   value options(*string)               const xmlChar *
    139      d  len                          10i 0 value
    140 
    141      d xmlUTF8Strpos   pr              *   extproc('xmlUTF8Strpos')             const xmlChar *
    142      d  utf                            *   value options(*string)               const xmlChar *
    143      d  pos                          10i 0 value
    144 
    145      d xmlUTF8Strloc   pr            10i 0 extproc('xmlUTF8Strloc')
    146      d  utf                            *   value options(*string)               const xmlChar *
    147      d  utfchar                        *   value options(*string)               const xmlChar *
    148 
    149      d xmlUTF8Strsub   pr              *   extproc('xmlUTF8Strsub')             xmlChar *
    150      d  utf                            *   value options(*string)               const xmlChar *
    151      d  start                        10i 0 value
    152      d  len                          10i 0 value
    153 
    154      d xmlUTF8Strlen   pr            10i 0 extproc('xmlUTF8Strlen')
    155      d  utf                            *   value options(*string)               const xmlChar *
    156 
    157      d xmlUTF8Size     pr            10i 0 extproc('xmlUTF8Size')
    158      d  utf                            *   value options(*string)               const xmlChar *
    159 
    160      d xmlUTF8Charcmp  pr            10i 0 extproc('xmlUTF8Charcmp')
    161      d  utf1                           *   value options(*string)               const xmlChar *
    162      d  utf2                           *   value options(*string)               const xmlChar *
    163 
    164       /endif                                                                    XML_STRING_H__
    165