You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

82 lines
2.7 KiB

  1. /* GIO - GLib Input, Output and Streaming Library
  2. *
  3. * Copyright (C) 2006-2007 Red Hat, Inc.
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General
  16. * Public License along with this library; if not, write to the
  17. * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  18. * Boston, MA 02111-1307, USA.
  19. *
  20. * Author: Alexander Larsson <alexl@redhat.com>
  21. */
  22. #if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
  23. #error "Only <glib.h> can be included directly."
  24. #endif
  25. #ifndef __G_URI_FUNCS_H__
  26. #define __G_URI_FUNCS_H__
  27. #include <glib/gtypes.h>
  28. G_BEGIN_DECLS
  29. /**
  30. * G_URI_RESERVED_CHARS_GENERIC_DELIMITERS:
  31. *
  32. * Generic delimiters characters as defined in RFC 3986. Includes ":/?#[]@".
  33. **/
  34. #define G_URI_RESERVED_CHARS_GENERIC_DELIMITERS ":/?#[]@"
  35. /**
  36. * G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS
  37. *
  38. * Subcomponent delimiter characters as defined in RFC 3986. Includes "!$&'()*+,;=".
  39. **/
  40. #define G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS "!$&'()*+,;="
  41. /**
  42. * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT:
  43. *
  44. * Allowed characters in path elements. Includes "!$&'()*+,;=:@".
  45. **/
  46. #define G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ":@"
  47. /**
  48. * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH:
  49. *
  50. * Allowed characters in a path. Includes "!$&'()*+,;=:@/".
  51. **/
  52. #define G_URI_RESERVED_CHARS_ALLOWED_IN_PATH G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT "/"
  53. /**
  54. * G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO:
  55. *
  56. * Allowed characters in userinfo as defined in RFC 3986. Includes "!$&'()*+,;=:".
  57. **/
  58. #define G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ":"
  59. char * g_uri_unescape_string (const char *escaped_string,
  60. const char *illegal_characters);
  61. char * g_uri_unescape_segment (const char *escaped_string,
  62. const char *escaped_string_end,
  63. const char *illegal_characters);
  64. char * g_uri_parse_scheme (const char *uri);
  65. char * g_uri_escape_string (const char *unescaped,
  66. const char *reserved_chars_allowed,
  67. gboolean allow_utf8);
  68. G_END_DECLS
  69. #endif /* __G_URI_FUNCS_H__ */