xmlstring.inc 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. {$IFDEF POINTER}
  11. xmlCharPtr = PAnsiChar;
  12. xmlCharPtrPtr = PPAnsiChar;
  13. {$ENDIF}
  14. {$IFDEF TYPE}
  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 AnsiChar * are assigned
  20. * to xmlChar * (possibly making serialization back impossible).
  21. *)
  22. xmlChar = AnsiChar;
  23. {$ENDIF}
  24. {$IFDEF FUNCTION}
  25. (**
  26. * BAD_CAST:
  27. *
  28. * Macro to cast a string to an xmlChar * when one know its safe.
  29. *)
  30. //function BAD_CAST(str: string): xmlCharPtr; inline;
  31. (*
  32. * xmlChar handling
  33. *)
  34. function xmlStrdup(cur: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  35. function xmlStrndup(cur: xmlCharPtr; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  36. function xmlCharStrndup(cur: PAnsiChar; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  37. function xmlCharStrdup(cur: PAnsiChar): xmlCharPtr; EXTDECL; external xml2lib;
  38. function xmlStrsub(str: xmlCharPtr; start: cint; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  39. function xmlStrchr(str: xmlCharPtr; val: xmlChar): xmlCharPtr; EXTDECL; external xml2lib;
  40. function xmlStrstr(str: xmlCharPtr; val: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  41. function xmlStrcasestr(str: xmlCharPtr; val: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  42. function xmlStrcmp(str1: xmlCharPtr; str2: xmlCharPtr): cint; EXTDECL; external xml2lib;
  43. function xmlStrncmp(str1: xmlCharPtr; str2: xmlCharPtr; len: cint): cint; EXTDECL; external xml2lib;
  44. function xmlStrcasecmp(str1: xmlCharPtr; str2: xmlCharPtr): cint; EXTDECL; external xml2lib;
  45. function xmlStrncasecmp(str1: xmlCharPtr; str2: xmlCharPtr; len: cint): cint; EXTDECL; external xml2lib;
  46. function xmlStrEqual(str1: xmlCharPtr; str2: xmlCharPtr): cint; EXTDECL; external xml2lib;
  47. function xmlStrQEqual(pref: xmlCharPtr; name: xmlCharPtr; str: xmlCharPtr): cint; EXTDECL; external xml2lib;
  48. function xmlStrlen(str: xmlCharPtr): cint; EXTDECL; external xml2lib;
  49. function xmlStrcat(cur: xmlCharPtr; add: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  50. function xmlStrncat(cur: xmlCharPtr; add: xmlCharPtr; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  51. function xmlStrncatNew(str1: xmlCharPtr; str2: xmlCharPtr; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  52. function xmlStrPrintf(buf: xmlCharPtr; len: cint; msg: xmlCharPtr; args: array of const): cint; cdecl; external xml2lib;
  53. function xmlStrVPrintf(buf: xmlCharPtr; len: cint; msg: xmlCharPtr; ap: va_list): cint; EXTDECL; external xml2lib;
  54. function xmlGetUTF8Char(utf: PAnsiChar; len: pcint): cint; EXTDECL; external xml2lib;
  55. function xmlCheckUTF8(utf: PAnsiChar): cint; EXTDECL; external xml2lib;
  56. function xmlUTF8Strsize(utf: xmlCharPtr; len: cint): cint; EXTDECL; external xml2lib;
  57. function xmlUTF8Strndup(utf: xmlCharPtr; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  58. function xmlUTF8Strpos(utf: xmlCharPtr; pos: cint): xmlCharPtr; EXTDECL; external xml2lib;
  59. function xmlUTF8Strloc(utf: xmlCharPtr; utfchar: xmlCharPtr): cint; EXTDECL; external xml2lib;
  60. function xmlUTF8Strsub(str: xmlCharPtr; start: cint; len: cint): xmlCharPtr; EXTDECL; external xml2lib;
  61. function xmlUTF8Strlen(utf: xmlCharPtr): cint; EXTDECL; external xml2lib;
  62. function xmlUTF8Size(utf: xmlCharPtr): cint; EXTDECL; external xml2lib;
  63. function xmlUTF8Charcmp(utf1: xmlCharPtr; utf2: xmlCharPtr): cint; EXTDECL; external xml2lib;
  64. {$ENDIF}