gstrfuncs.inc 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. // included by glib2.pas
  2. { Functions like the ones in <ctype.h> that are not affected by locale. }
  3. type
  4. PGAsciiType = ^TGAsciiType;
  5. TGAsciiType = longint;
  6. const
  7. G_ASCII_ALNUM = 1 shl 0;
  8. G_ASCII_ALPHA = 1 shl 1;
  9. G_ASCII_CNTRL = 1 shl 2;
  10. G_ASCII_DIGIT = 1 shl 3;
  11. G_ASCII_GRAPH = 1 shl 4;
  12. G_ASCII_LOWER = 1 shl 5;
  13. G_ASCII_PRINT = 1 shl 6;
  14. G_ASCII_PUNCT = 1 shl 7;
  15. G_ASCII_SPACE = 1 shl 8;
  16. G_ASCII_UPPER = 1 shl 9;
  17. G_ASCII_XDIGIT= 1 shl 10;
  18. {$IFNDEF KYLIX}
  19. var
  20. g_ascii_table : Pguint16; external gliblib name 'g_ascii_table';
  21. {$ENDIF}
  22. function g_ascii_isalnum(c : gchar) : boolean;
  23. function g_ascii_isalpha(c : gchar) : boolean;
  24. function g_ascii_iscntrl(c : gchar) : boolean;
  25. function g_ascii_isdigit(c : gchar) : boolean;
  26. function g_ascii_isgraph(c : gchar) : boolean;
  27. function g_ascii_islower(c : gchar) : boolean;
  28. function g_ascii_isprint(c : gchar) : boolean;
  29. function g_ascii_ispunct(c : gchar) : boolean;
  30. function g_ascii_isspace(c : gchar) : boolean;
  31. function g_ascii_isupper(c : gchar) : boolean;
  32. function g_ascii_isxdigit(c : gchar) : boolean;
  33. function g_ascii_tolower(c:gchar):gchar; cdecl; external gliblib;
  34. function g_ascii_toupper(c:gchar):gchar; cdecl; external gliblib;
  35. function g_ascii_digit_value(c:gchar):gint; cdecl; external gliblib;
  36. function g_ascii_xdigit_value(c:gchar):gint; cdecl; external gliblib;
  37. { String utility functions that modify a string argument or
  38. return a constant string that must not be freed. }
  39. const
  40. G_STR_DELIMITERS = '_-|> <.';
  41. function g_strdelimit(_string:Pgchar; delimiters:Pgchar; new_delimiter:gchar):Pgchar; cdecl; external gliblib;
  42. function g_strcanon(_string:Pgchar; valid_chars:Pgchar; substitutor:gchar):Pgchar; cdecl; external gliblib;
  43. function g_strerror(errnum:gint):Pgchar; cdecl; external gliblib;
  44. function g_strsignal(signum:gint):Pgchar; cdecl; external gliblib;
  45. function g_strreverse(_string:Pgchar):Pgchar; cdecl; external gliblib;
  46. function g_strlcpy(dest:Pgchar; src:Pgchar; dest_size:gsize):gsize; cdecl; external gliblib;
  47. function g_strlcat(dest:Pgchar; src:Pgchar; dest_size:gsize):gsize; cdecl; external gliblib;
  48. function g_strstr_len(haystack:Pgchar; haystack_len:gssize; needle:Pgchar):Pgchar; cdecl; external gliblib;
  49. function g_strrstr(haystack:Pgchar; needle:Pgchar):Pgchar; cdecl; external gliblib;
  50. function g_strrstr_len(haystack:Pgchar; haystack_len:gssize; needle:Pgchar):Pgchar; cdecl; external gliblib;
  51. function g_str_has_suffix(str:Pgchar; suffix:Pgchar):gboolean; cdecl; external gliblib;
  52. function g_str_has_prefix(str:Pgchar; prefix:Pgchar):gboolean; cdecl; external gliblib;
  53. { String to/from double conversion functions }
  54. function g_strtod(nptr:Pgchar; endptr:PPgchar):gdouble; cdecl; external gliblib;
  55. function g_ascii_strtod(nptr:Pgchar; endptr:PPgchar):gdouble; cdecl; external gliblib;
  56. { 29 bytes should enough for all possible values that
  57. g_ascii_dtostr can produce.
  58. Then add 10 for good measure }
  59. const
  60. G_ASCII_DTOSTR_BUF_SIZE = 29 + 10;
  61. function g_ascii_dtostr(buffer:Pgchar; buf_len:gint; d:gdouble):Pgchar; cdecl; external gliblib;
  62. function g_ascii_formatd(buffer:Pgchar; buf_len:gint; format:Pgchar; d:gdouble):Pgchar; cdecl; external gliblib;
  63. { removes leading spaces }
  64. function g_strchug(_string:Pgchar):Pgchar; cdecl; external gliblib;
  65. { removes trailing spaces }
  66. function g_strchomp(_string:Pgchar):Pgchar; cdecl; external gliblib;
  67. { removes leading & trailing spaces }
  68. { was #define dname(params) para_def_expr }
  69. { argument types are unknown }
  70. { return type might be wrong }
  71. function g_strstrip(_string : PGChar) : PGChar;
  72. function g_ascii_strcasecmp(s1:Pgchar; s2:Pgchar):gint; cdecl; external gliblib;
  73. function g_ascii_strncasecmp(s1:Pgchar; s2:Pgchar; n:gsize):gint; cdecl; external gliblib;
  74. function g_ascii_strdown(str:Pgchar; len:gssize):Pgchar; cdecl; external gliblib;
  75. function g_ascii_strup(str:Pgchar; len:gssize):Pgchar; cdecl; external gliblib;
  76. {$ifndef G_DISABLE_DEPRECATED}
  77. { The following four functions are deprecated and will be removed in
  78. the next major release. They use the locale-specific tolower and
  79. toupper, which is almost never the right thing.
  80. }
  81. function g_strcasecmp(s1:Pgchar; s2:Pgchar):gint; cdecl; external gliblib;
  82. function g_strncasecmp(s1:Pgchar; s2:Pgchar; n:guint):gint; cdecl; external gliblib;
  83. function g_strdown(_string:Pgchar):Pgchar; cdecl; external gliblib;
  84. function g_strup(_string:Pgchar):Pgchar; cdecl; external gliblib;
  85. {$endif}
  86. { G_DISABLE_DEPRECATED }
  87. { String utility functions that return a newly allocated string which
  88. ought to be freed with g_free from the caller at some point.
  89. }
  90. function g_strdup(str:Pgchar):Pgchar; cdecl; external gliblib;
  91. {$IFNDEF KYLIX}
  92. function g_strdup_printf(format:Pgchar; args:array of const):Pgchar; cdecl; overload; external gliblib;
  93. function g_strdup_printf(format:Pgchar):Pgchar; cdecl; overload; external gliblib;
  94. function g_strdup_vprintf(format:Pgchar; args: array of const):Pgchar; cdecl; external gliblib;
  95. {$ELSE}
  96. function g_strdup_printf(format:Pgchar):Pgchar; varargs; cdecl; external gliblib;
  97. function g_strdup_vprintf(format:Pgchar):Pgchar; varargs; cdecl; external gliblib;
  98. {$ENDIF}
  99. function g_strndup(str:Pgchar; n:gsize):Pgchar; cdecl; external gliblib;
  100. function g_strnfill(length:gsize; fill_char:gchar):Pgchar; cdecl; external gliblib;
  101. {$IFNDEF KYLIX}
  102. function g_strconcat(string1:Pgchar; args:array of const):Pgchar; cdecl; overload; external gliblib;
  103. function g_strconcat(string1:Pgchar):Pgchar; cdecl; overload; external gliblib;
  104. { NULL terminated }
  105. function g_strjoin(separator:Pgchar; args:array of const):Pgchar; cdecl; overload; external gliblib;
  106. function g_strjoin(separator:Pgchar):Pgchar; cdecl; overload; external gliblib;
  107. {$ELSE}
  108. function g_strconcat(string1:Pgchar):Pgchar; varargs; cdecl; external gliblib;
  109. function g_strjoin(separator:Pgchar):Pgchar; varargs; cdecl; external gliblib;
  110. {$ENDIF}
  111. { NULL terminated }
  112. { Make a copy of a string interpreting C string -style escape
  113. sequences. Inverse of g_strescape. The recognized sequences are \b
  114. \f \n \r \t \\ \" and the octal format.
  115. }
  116. function g_strcompress(source:Pgchar):Pgchar; cdecl; external gliblib;
  117. { Copy a string escaping nonprintable characters like in C strings.
  118. Inverse of g_strcompress. The exceptions parameter, if non-NULL, points
  119. to a string containing characters that are not to be escaped.
  120. Deprecated API: gchar g_strescape (const gchar source);
  121. Luckily this function wasn't used much, using NULL as second parameter
  122. provides mostly identical semantics.
  123. }
  124. function g_strescape(source:Pgchar; exceptions:Pgchar):Pgchar; cdecl; external gliblib;
  125. function g_memdup(mem:gconstpointer; byte_size:guint):gpointer; cdecl; external gliblib;
  126. { NULL terminated string arrays.
  127. g_strsplit() splits up string into max_tokens tokens at delim and
  128. returns a newly allocated string array.
  129. g_strjoinv() concatenates all of str_array's strings, sliding in an
  130. optional separator, the returned string is newly allocated.
  131. g_strfreev() frees the array itself and all of its strings.
  132. g_strdupv() copies a NULL-terminated array of strings
  133. }
  134. function g_strsplit(_string:Pgchar; delimiter:Pgchar; max_tokens:gint):PPgchar; cdecl; external gliblib;
  135. function g_strjoinv(separator:Pgchar; str_array:PPgchar):Pgchar; cdecl; external gliblib;
  136. procedure g_strfreev(str_array:PPgchar); cdecl; external gliblib;
  137. function g_strdupv(str_array:PPgchar):PPgchar; cdecl; external gliblib;
  138. function g_stpcpy(dest:Pgchar; src:Pchar):Pgchar; cdecl; external gliblib;
  139. // included by glib2.pas