/
usr
/
include
/
glib-2.0
/
glib
/
/usr/include/glib-2.0/glib
mkdir
upload
Name
Size
Mode
Actions
deprecated/
-
0755
rm
galloca.h
3912
0644
edit
dl
rm
garray.h
11385
0644
edit
dl
rm
gasyncqueue.h
5726
0644
edit
dl
rm
gatomic.h
27210
0644
edit
dl
rm
gbacktrace.h
2793
0644
edit
dl
rm
gbase64.h
2323
0644
edit
dl
rm
gbitlock.h
2902
0644
edit
dl
rm
gbookmarkfile.h
12625
0644
edit
dl
rm
gbytes.h
3334
0644
edit
dl
rm
gcharset.h
1578
0644
edit
dl
rm
gchecksum.h
3864
0644
edit
dl
rm
gconvert.h
5923
0644
edit
dl
rm
gdataset.h
6245
0644
edit
dl
rm
gdate.h
12420
0644
edit
dl
rm
gdatetime.h
12738
0644
edit
dl
rm
gdir.h
1641
0644
edit
dl
rm
genviron.h
2364
0644
edit
dl
rm
gerror.h
11140
0644
edit
dl
rm
gfileutils.h
7866
0644
edit
dl
rm
ggettext.h
2424
0644
edit
dl
rm
ghash.h
7886
0644
edit
dl
rm
ghmac.h
3469
0644
edit
dl
rm
ghook.h
6358
0644
edit
dl
rm
ghostutils.h
1456
0644
edit
dl
rm
gi18n-lib.h
1370
0644
edit
dl
rm
gi18n.h
1167
0644
edit
dl
rm
giochannel.h
13954
0644
edit
dl
rm
gkeyfile.h
14913
0644
edit
dl
rm
glib-autocleanups.h
4903
0644
edit
dl
rm
glist.h
6930
0644
edit
dl
rm
gmacros.h
46201
0644
edit
dl
rm
gmain.h
28212
0644
edit
dl
rm
gmappedfile.h
1986
0644
edit
dl
rm
gmarkup.h
10876
0644
edit
dl
rm
gmem.h
14857
0644
edit
dl
rm
gmessages.h
27193
0644
edit
dl
rm
gnode.h
8700
0644
edit
dl
rm
goption.h
16099
0644
edit
dl
rm
gpattern.h
1782
0644
edit
dl
rm
gpoll.h
4125
0644
edit
dl
rm
gprimes.h
1694
0644
edit
dl
rm
gprintf.h
1984
0644
edit
dl
rm
gqsort.h
1499
0644
edit
dl
rm
gquark.h
2688
0644
edit
dl
rm
gqueue.h
7750
0644
edit
dl
rm
grand.h
3181
0644
edit
dl
rm
grcbox.h
3992
0644
edit
dl
rm
grefcount.h
3988
0644
edit
dl
rm
grefstring.h
1868
0644
edit
dl
rm
gregex.h
28095
0644
edit
dl
rm
gscanner.h
8861
0644
edit
dl
rm
gsequence.h
8811
0644
edit
dl
rm
gshell.h
1752
0644
edit
dl
rm
gslice.h
4585
0644
edit
dl
rm
gslist.h
6551
0644
edit
dl
rm
gspawn.h
13202
0644
edit
dl
rm
gstdio.h
5109
0644
edit
dl
rm
gstrfuncs.h
13457
0644
edit
dl
rm
gstring.h
8331
0644
edit
dl
rm
gstringchunk.h
2130
0644
edit
dl
rm
gstrvbuilder.h
1613
0644
edit
dl
rm
gtestutils.h
35138
0644
edit
dl
rm
gthread.h
18758
0644
edit
dl
rm
gthreadpool.h
3824
0644
edit
dl
rm
gtimer.h
2576
0644
edit
dl
rm
gtimezone.h
3905
0644
edit
dl
rm
gtrashstack.h
1906
0644
edit
dl
rm
gtree.h
6456
0644
edit
dl
rm
gtypes.h
20516
0644
edit
dl
rm
gunicode.h
41212
0644
edit
dl
rm
guri.h
16446
0644
edit
dl
rm
gutils.h
14559
0644
edit
dl
rm
guuid.h
1291
0644
edit
dl
rm
gvariant.h
29560
0644
edit
dl
rm
gvarianttype.h
13244
0644
edit
dl
rm
gversion.h
1981
0644
edit
dl
rm
gversionmacros.h
47677
0644
edit
dl
rm
gwin32.h
4667
0644
edit
dl
rm
Edit:
/usr/include/glib-2.0/glib/guri.h
(16446B)
/* GLIB - Library of useful routines for C programming * Copyright © 2020 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General * Public License along with this library; if not, see * <http://www.gnu.org/licenses/>. */ #pragma once #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only <glib.h> can be included directly." #endif #include <glib/gtypes.h> G_BEGIN_DECLS G_GNUC_BEGIN_IGNORE_DEPRECATIONS typedef struct _GUri GUri; GLIB_AVAILABLE_IN_2_66 GUri * g_uri_ref (GUri *uri); GLIB_AVAILABLE_IN_2_66 void g_uri_unref (GUri *uri); /** * GUriFlags: * @G_URI_FLAGS_NONE: No flags set. * @G_URI_FLAGS_PARSE_RELAXED: Parse the URI more relaxedly than the * [RFC 3986](https://tools.ietf.org/html/rfc3986) grammar specifies, * fixing up or ignoring common mistakes in URIs coming from external * sources. This is also needed for some obscure URI schemes where `;` * separates the host from the path. Don’t use this flag unless you need to. * @G_URI_FLAGS_HAS_PASSWORD: The userinfo field may contain a password, * which will be separated from the username by `:`. * @G_URI_FLAGS_HAS_AUTH_PARAMS: The userinfo may contain additional * authentication-related parameters, which will be separated from * the username and/or password by `;`. * @G_URI_FLAGS_NON_DNS: The host component should not be assumed to be a * DNS hostname or IP address (for example, for `smb` URIs with NetBIOS * hostnames). * @G_URI_FLAGS_ENCODED: When parsing a URI, this indicates that `%`-encoded * characters in the userinfo, path, query, and fragment fields * should not be decoded. (And likewise the host field if * %G_URI_FLAGS_NON_DNS is also set.) When building a URI, it indicates * that you have already `%`-encoded the components, and so #GUri * should not do any encoding itself. * @G_URI_FLAGS_ENCODED_QUERY: Same as %G_URI_FLAGS_ENCODED, for the query * field only. * @G_URI_FLAGS_ENCODED_PATH: Same as %G_URI_FLAGS_ENCODED, for the path only. * @G_URI_FLAGS_ENCODED_FRAGMENT: Same as %G_URI_FLAGS_ENCODED, for the * fragment only. * @G_URI_FLAGS_SCHEME_NORMALIZE: A scheme-based normalization will be applied. * For example, when parsing an HTTP URI changing omitted path to `/` and * omitted port to `80`; and when building a URI, changing empty path to `/` * and default port `80`). This only supports a subset of known schemes. (Since: 2.68) * * Flags that describe a URI. * * When parsing a URI, if you need to choose different flags based on * the type of URI, you can use g_uri_peek_scheme() on the URI string * to check the scheme first, and use that to decide what flags to * parse it with. * * Since: 2.66 */ GLIB_AVAILABLE_TYPE_IN_2_66 typedef enum { G_URI_FLAGS_NONE = 0, G_URI_FLAGS_PARSE_RELAXED = 1 << 0, G_URI_FLAGS_HAS_PASSWORD = 1 << 1, G_URI_FLAGS_HAS_AUTH_PARAMS = 1 << 2, G_URI_FLAGS_ENCODED = 1 << 3, G_URI_FLAGS_NON_DNS = 1 << 4, G_URI_FLAGS_ENCODED_QUERY = 1 << 5, G_URI_FLAGS_ENCODED_PATH = 1 << 6, G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7, G_URI_FLAGS_SCHEME_NORMALIZE GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = 1 << 8, } GUriFlags; GLIB_AVAILABLE_IN_2_66 gboolean g_uri_split (const gchar *uri_ref, GUriFlags flags, gchar **scheme, gchar **userinfo, gchar **host, gint *port, gchar **path, gchar **query, gchar **fragment, GError **error); GLIB_AVAILABLE_IN_2_66 gboolean g_uri_split_with_user (const gchar *uri_ref, GUriFlags flags, gchar **scheme, gchar **user, gchar **password, gchar **auth_params, gchar **host, gint *port, gchar **path, gchar **query, gchar **fragment, GError **error); GLIB_AVAILABLE_IN_2_66 gboolean g_uri_split_network (const gchar *uri_string, GUriFlags flags, gchar **scheme, gchar **host, gint *port, GError **error); GLIB_AVAILABLE_IN_2_66 gboolean g_uri_is_valid (const gchar *uri_string, GUriFlags flags, GError **error); GLIB_AVAILABLE_IN_2_66 gchar * g_uri_join (GUriFlags flags, const gchar *scheme, const gchar *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment); GLIB_AVAILABLE_IN_2_66 gchar * g_uri_join_with_user (GUriFlags flags, const gchar *scheme, const gchar *user, const gchar *password, const gchar *auth_params, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment); GLIB_AVAILABLE_IN_2_66 GUri * g_uri_parse (const gchar *uri_string, GUriFlags flags, GError **error); GLIB_AVAILABLE_IN_2_66 GUri * g_uri_parse_relative (GUri *base_uri, const gchar *uri_ref, GUriFlags flags, GError **error); GLIB_AVAILABLE_IN_2_66 gchar * g_uri_resolve_relative (const gchar *base_uri_string, const gchar *uri_ref, GUriFlags flags, GError **error); GLIB_AVAILABLE_IN_2_66 GUri * g_uri_build (GUriFlags flags, const gchar *scheme, const gchar *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment); GLIB_AVAILABLE_IN_2_66 GUri * g_uri_build_with_user (GUriFlags flags, const gchar *scheme, const gchar *user, const gchar *password, const gchar *auth_params, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment); /** * GUriHideFlags: * @G_URI_HIDE_NONE: No flags set. * @G_URI_HIDE_USERINFO: Hide the userinfo. * @G_URI_HIDE_PASSWORD: Hide the password. * @G_URI_HIDE_AUTH_PARAMS: Hide the auth_params. * @G_URI_HIDE_QUERY: Hide the query. * @G_URI_HIDE_FRAGMENT: Hide the fragment. * * Flags describing what parts of the URI to hide in * g_uri_to_string_partial(). Note that %G_URI_HIDE_PASSWORD and * %G_URI_HIDE_AUTH_PARAMS will only work if the #GUri was parsed with * the corresponding flags. * * Since: 2.66 */ GLIB_AVAILABLE_TYPE_IN_2_66 typedef enum { G_URI_HIDE_NONE = 0, G_URI_HIDE_USERINFO = 1 << 0, G_URI_HIDE_PASSWORD = 1 << 1, G_URI_HIDE_AUTH_PARAMS = 1 << 2, G_URI_HIDE_QUERY = 1 << 3, G_URI_HIDE_FRAGMENT = 1 << 4, } GUriHideFlags; GLIB_AVAILABLE_IN_2_66 char * g_uri_to_string (GUri *uri); GLIB_AVAILABLE_IN_2_66 char * g_uri_to_string_partial (GUri *uri, GUriHideFlags flags); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_scheme (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_userinfo (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_user (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_password (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_auth_params (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_host (GUri *uri); GLIB_AVAILABLE_IN_2_66 gint g_uri_get_port (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_path (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_query (GUri *uri); GLIB_AVAILABLE_IN_2_66 const gchar *g_uri_get_fragment (GUri *uri); GLIB_AVAILABLE_IN_2_66 GUriFlags g_uri_get_flags (GUri *uri); /** * GUriParamsFlags: * @G_URI_PARAMS_NONE: No flags set. * @G_URI_PARAMS_CASE_INSENSITIVE: Parameter names are case insensitive. * @G_URI_PARAMS_WWW_FORM: Replace `+` with space character. Only useful for * URLs on the web, using the `https` or `http` schemas. * @G_URI_PARAMS_PARSE_RELAXED: See %G_URI_FLAGS_PARSE_RELAXED. * * Flags modifying the way parameters are handled by g_uri_parse_params() and * #GUriParamsIter. * * Since: 2.66 */ GLIB_AVAILABLE_TYPE_IN_2_66 typedef enum { G_URI_PARAMS_NONE = 0, G_URI_PARAMS_CASE_INSENSITIVE = 1 << 0, G_URI_PARAMS_WWW_FORM = 1 << 1, G_URI_PARAMS_PARSE_RELAXED = 1 << 2, } GUriParamsFlags; GLIB_AVAILABLE_IN_2_66 GHashTable *g_uri_parse_params (const gchar *params, gssize length, const gchar *separators, GUriParamsFlags flags, GError **error); typedef struct _GUriParamsIter GUriParamsIter; struct _GUriParamsIter { /*< private >*/ gint dummy0; gpointer dummy1; gpointer dummy2; guint8 dummy3[256]; }; GLIB_AVAILABLE_IN_2_66 void g_uri_params_iter_init (GUriParamsIter *iter, const gchar *params, gssize length, const gchar *separators, GUriParamsFlags flags); GLIB_AVAILABLE_IN_2_66 gboolean g_uri_params_iter_next (GUriParamsIter *iter, gchar **attribute, gchar **value, GError **error); /** * G_URI_ERROR: * * Error domain for URI methods. Errors in this domain will be from * the #GUriError enumeration. See #GError for information on error * domains. * * Since: 2.66 */ #define G_URI_ERROR (g_uri_error_quark ()) GLIB_AVAILABLE_MACRO_IN_2_66 GLIB_AVAILABLE_IN_2_66 GQuark g_uri_error_quark (void); /** * GUriError: * @G_URI_ERROR_FAILED: Generic error if no more specific error is available. * See the error message for details. * @G_URI_ERROR_BAD_SCHEME: The scheme of a URI could not be parsed. * @G_URI_ERROR_BAD_USER: The user/userinfo of a URI could not be parsed. * @G_URI_ERROR_BAD_PASSWORD: The password of a URI could not be parsed. * @G_URI_ERROR_BAD_AUTH_PARAMS: The authentication parameters of a URI could not be parsed. * @G_URI_ERROR_BAD_HOST: The host of a URI could not be parsed. * @G_URI_ERROR_BAD_PORT: The port of a URI could not be parsed. * @G_URI_ERROR_BAD_PATH: The path of a URI could not be parsed. * @G_URI_ERROR_BAD_QUERY: The query of a URI could not be parsed. * @G_URI_ERROR_BAD_FRAGMENT: The fragment of a URI could not be parsed. * * Error codes returned by #GUri methods. * * Since: 2.66 */ typedef enum { G_URI_ERROR_FAILED, G_URI_ERROR_BAD_SCHEME, G_URI_ERROR_BAD_USER, G_URI_ERROR_BAD_PASSWORD, G_URI_ERROR_BAD_AUTH_PARAMS, G_URI_ERROR_BAD_HOST, G_URI_ERROR_BAD_PORT, G_URI_ERROR_BAD_PATH, G_URI_ERROR_BAD_QUERY, G_URI_ERROR_BAD_FRAGMENT, } GUriError; /** * G_URI_RESERVED_CHARS_GENERIC_DELIMITERS: * * Generic delimiters characters as defined in * [RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `:/?#[]@`. * * Since: 2.16 **/ #define G_URI_RESERVED_CHARS_GENERIC_DELIMITERS ":/?#[]@" /** * G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS: * * Subcomponent delimiter characters as defined in * [RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `!$&'()*+,;=`. * * Since: 2.16 **/ #define G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS "!$&'()*+,;=" /** * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT: * * Allowed characters in path elements. Includes `!$&'()*+,;=:@`. * * Since: 2.16 **/ #define G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ":@" /** * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH: * * Allowed characters in a path. Includes `!$&'()*+,;=:@/`. * * Since: 2.16 **/ #define G_URI_RESERVED_CHARS_ALLOWED_IN_PATH G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT "/" /** * G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO: * * Allowed characters in userinfo as defined in * [RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `!$&'()*+,;=:`. * * Since: 2.16 **/ #define G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ":" GLIB_AVAILABLE_IN_ALL char * g_uri_unescape_string (const char *escaped_string, const char *illegal_characters); GLIB_AVAILABLE_IN_ALL char * g_uri_unescape_segment (const char *escaped_string, const char *escaped_string_end, const char *illegal_characters); GLIB_AVAILABLE_IN_ALL char * g_uri_parse_scheme (const char *uri); GLIB_AVAILABLE_IN_2_66 const char *g_uri_peek_scheme (const char *uri); GLIB_AVAILABLE_IN_ALL char * g_uri_escape_string (const char *unescaped, const char *reserved_chars_allowed, gboolean allow_utf8); GLIB_AVAILABLE_IN_2_66 GBytes * g_uri_unescape_bytes (const char *escaped_string, gssize length, const char *illegal_characters, GError **error); GLIB_AVAILABLE_IN_2_66 char * g_uri_escape_bytes (const guint8 *unescaped, gsize length, const char *reserved_chars_allowed); G_GNUC_END_IGNORE_DEPRECATIONS G_END_DECLS
Save
cmd:
run