(root)/
libxml2-2.12.3/
include/
libxml/
xmlstring.h
       1  /*
       2   * Summary: set of routines to process strings
       3   * Description: type and interfaces needed for the internal string handling
       4   *              of the library, especially UTF8 processing.
       5   *
       6   * Copy: See Copyright for the status of this software.
       7   *
       8   * Author: Daniel Veillard
       9   */
      10  
      11  #ifndef __XML_STRING_H__
      12  #define __XML_STRING_H__
      13  
      14  #include <stdarg.h>
      15  #include <libxml/xmlversion.h>
      16  
      17  #ifdef __cplusplus
      18  extern "C" {
      19  #endif
      20  
      21  /**
      22   * xmlChar:
      23   *
      24   * This is a basic byte in an UTF-8 encoded string.
      25   * It's unsigned allowing to pinpoint case where char * are assigned
      26   * to xmlChar * (possibly making serialization back impossible).
      27   */
      28  typedef unsigned char xmlChar;
      29  
      30  /**
      31   * BAD_CAST:
      32   *
      33   * Macro to cast a string to an xmlChar * when one know its safe.
      34   */
      35  #define BAD_CAST (xmlChar *)
      36  
      37  /*
      38   * xmlChar handling
      39   */
      40  XMLPUBFUN xmlChar *
      41                  xmlStrdup                (const xmlChar *cur);
      42  XMLPUBFUN xmlChar *
      43                  xmlStrndup               (const xmlChar *cur,
      44                                           int len);
      45  XMLPUBFUN xmlChar *
      46                  xmlCharStrndup           (const char *cur,
      47                                           int len);
      48  XMLPUBFUN xmlChar *
      49                  xmlCharStrdup            (const char *cur);
      50  XMLPUBFUN xmlChar *
      51                  xmlStrsub                (const xmlChar *str,
      52                                           int start,
      53                                           int len);
      54  XMLPUBFUN const xmlChar *
      55                  xmlStrchr                (const xmlChar *str,
      56                                           xmlChar val);
      57  XMLPUBFUN const xmlChar *
      58                  xmlStrstr                (const xmlChar *str,
      59                                           const xmlChar *val);
      60  XMLPUBFUN const xmlChar *
      61                  xmlStrcasestr            (const xmlChar *str,
      62                                           const xmlChar *val);
      63  XMLPUBFUN int
      64                  xmlStrcmp                (const xmlChar *str1,
      65                                           const xmlChar *str2);
      66  XMLPUBFUN int
      67                  xmlStrncmp               (const xmlChar *str1,
      68                                           const xmlChar *str2,
      69                                           int len);
      70  XMLPUBFUN int
      71                  xmlStrcasecmp            (const xmlChar *str1,
      72                                           const xmlChar *str2);
      73  XMLPUBFUN int
      74                  xmlStrncasecmp           (const xmlChar *str1,
      75                                           const xmlChar *str2,
      76                                           int len);
      77  XMLPUBFUN int
      78                  xmlStrEqual              (const xmlChar *str1,
      79                                           const xmlChar *str2);
      80  XMLPUBFUN int
      81                  xmlStrQEqual             (const xmlChar *pref,
      82                                           const xmlChar *name,
      83                                           const xmlChar *str);
      84  XMLPUBFUN int
      85                  xmlStrlen                (const xmlChar *str);
      86  XMLPUBFUN xmlChar *
      87                  xmlStrcat                (xmlChar *cur,
      88                                           const xmlChar *add);
      89  XMLPUBFUN xmlChar *
      90                  xmlStrncat               (xmlChar *cur,
      91                                           const xmlChar *add,
      92                                           int len);
      93  XMLPUBFUN xmlChar *
      94                  xmlStrncatNew            (const xmlChar *str1,
      95                                           const xmlChar *str2,
      96                                           int len);
      97  XMLPUBFUN int
      98                  xmlStrPrintf             (xmlChar *buf,
      99                                           int len,
     100                                           const char *msg,
     101                                           ...) LIBXML_ATTR_FORMAT(3,4);
     102  XMLPUBFUN int
     103                  xmlStrVPrintf                (xmlChar *buf,
     104                                           int len,
     105                                           const char *msg,
     106                                           va_list ap) LIBXML_ATTR_FORMAT(3,0);
     107  
     108  XMLPUBFUN int
     109          xmlGetUTF8Char                   (const unsigned char *utf,
     110                                           int *len);
     111  XMLPUBFUN int
     112          xmlCheckUTF8                     (const unsigned char *utf);
     113  XMLPUBFUN int
     114          xmlUTF8Strsize                   (const xmlChar *utf,
     115                                           int len);
     116  XMLPUBFUN xmlChar *
     117          xmlUTF8Strndup                   (const xmlChar *utf,
     118                                           int len);
     119  XMLPUBFUN const xmlChar *
     120          xmlUTF8Strpos                    (const xmlChar *utf,
     121                                           int pos);
     122  XMLPUBFUN int
     123          xmlUTF8Strloc                    (const xmlChar *utf,
     124                                           const xmlChar *utfchar);
     125  XMLPUBFUN xmlChar *
     126          xmlUTF8Strsub                    (const xmlChar *utf,
     127                                           int start,
     128                                           int len);
     129  XMLPUBFUN int
     130          xmlUTF8Strlen                    (const xmlChar *utf);
     131  XMLPUBFUN int
     132          xmlUTF8Size                      (const xmlChar *utf);
     133  XMLPUBFUN int
     134          xmlUTF8Charcmp                   (const xmlChar *utf1,
     135                                           const xmlChar *utf2);
     136  
     137  #ifdef __cplusplus
     138  }
     139  #endif
     140  #endif /* __XML_STRING_H__ */