Provided by: libglobus-common-doc_14.10-2_all bug

NAME

       URL String Parser -

   Data Structures
       struct globus_url_t

   Enumerations
       enum globus_url_scheme_t { GLOBUS_URL_SCHEME_FTP =0, GLOBUS_URL_SCHEME_GSIFTP, GLOBUS_URL_SCHEME_HTTP,
           GLOBUS_URL_SCHEME_HTTPS, GLOBUS_URL_SCHEME_LDAP, GLOBUS_URL_SCHEME_FILE, GLOBUS_URL_SCHEME_X_NEXUS,
           GLOBUS_URL_SCHEME_X_GASS_CACHE, GLOBUS_URL_SCHEME_UNKNOWN, GLOBUS_URL_NUM_SCHEMES }

   Functions
       int globus_url_parse (const char *url_string, globus_url_t *url)
       int globus_url_parse_rfc1738 (const char *url_string, globus_url_t *url)
       int globus_url_parse_loose (const char *url_string, globus_url_t *url)
       int globus_url_destroy (globus_url_t *url)
       int globus_url_get_scheme (const char *url_string, globus_url_scheme_t *scheme_type)
       int globus_url_copy (globus_url_t *dst, const globus_url_t *src)

Detailed Description

       The Globus URL functions provide a simple mechanism for parsing a URL string into a data structure, and
       for determining the scheme of an URL string.

       These functions are part of the Globus common library. The GLOBUS_COMMON module must be activated in
       order to use them.

Enumeration Type Documentation

   enum globus_url_scheme_t
       URL Schemes. The Globus URL library supports a set of URL schemes (protocols). This enumeration can be
       used to quickly dispatch a parsed URL based on a constant value.

       See Also:
           globus_url_t::scheme_type

       Enumerator

       GLOBUS_URL_SCHEME_FTP
              File Transfer Protocol.

       GLOBUS_URL_SCHEME_GSIFTP
              GSI-enhanced File Transfer Protocol.

       GLOBUS_URL_SCHEME_HTTP
              HyperText Transfer Protocol.

       GLOBUS_URL_SCHEME_HTTPS
              Secure HyperText Transfer Protocol.

       GLOBUS_URL_SCHEME_LDAP
              Lightweight Directory Access Protocol.

       GLOBUS_URL_SCHEME_FILE
              File Location.

       GLOBUS_URL_SCHEME_X_NEXUS
              Nexus endpoint.

       GLOBUS_URL_SCHEME_X_GASS_CACHE
              GASS Cache Entry.

       GLOBUS_URL_SCHEME_UNKNOWN
              Any other URL of the form scheme://something

       GLOBUS_URL_NUM_SCHEMES
              Total number of URL schemes supported.

Function Documentation

   int globus_url_parse (const char *url_string, globus_url_t *url)
       Parse a string containing a URL into a globus_url_t.

       Parameters:
           url_string String to parse
           url Pointer to globus_url_t to be filled with the fields of the url

       Return values:
           GLOBUS_SUCCESS The string was successfully parsed.
           GLOBUS_URL_ERROR_NULL_STRING The url_string was GLOBUS_NULL.
           GLOBUS_URL_ERROR_NULL_URL The URL pointer was GLOBUS_NULL.
           GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme (protocol) contained invalid characters.
           GLOBUS_URL_ERROR_BAD_USER The user part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PASSWORD The password part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_HOST The host part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PORT The port part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PATH The path part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_DN -9 The DN part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_ATTRIBUTES -10 The attributes part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_SCOPE -11 The scope part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_FILTER -12 The filter part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_OUT_OF_MEMORY  -13  The  library  was  unable  to  allocate memory to create the the
           globus_url_t contents.
           GLOBUS_URL_ERROR_INTERNAL_ERROR -14 Some unexpected error occurred parsing the URL.

       References  globus_url_t::attributes,   globus_url_t::dn,   globus_url_t::filter,   globus_url_destroy(),
       GLOBUS_URL_SCHEME_FILE,    GLOBUS_URL_SCHEME_FTP,    GLOBUS_URL_SCHEME_GSIFTP,    GLOBUS_URL_SCHEME_HTTP,
       GLOBUS_URL_SCHEME_HTTPS,             GLOBUS_URL_SCHEME_LDAP,              GLOBUS_URL_SCHEME_X_GASS_CACHE,
       GLOBUS_URL_SCHEME_X_NEXUS,      globus_url_t::host,      globus_url_t::password,      globus_url_t::port,
       globus_url_t::scheme,     globus_url_t::scheme_type,     globus_url_t::scope,     globus_url_t::url_path,
       globus_url_t::url_specific_part, and globus_url_t::user.

   int globus_url_parse_rfc1738 (const char *url_string, globus_url_t *url)
       Parse a string containing a URL into a globus_url_t.

       Parameters:
           url_string String to parse
           url Pointer to globus_url_t to be filled with the fields of the url

       Return values:
           GLOBUS_SUCCESS The string was successfully parsed.
           GLOBUS_URL_ERROR_NULL_STRING The url_string was GLOBUS_NULL.
           GLOBUS_URL_ERROR_NULL_URL The URL pointer was GLOBUS_NULL.
           GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme (protocol) contained invalid characters.
           GLOBUS_URL_ERROR_BAD_USER The user part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PASSWORD The password part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_HOST The host part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PORT The port part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PATH The path part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_DN -9 The DN part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_ATTRIBUTES -10 The attributes part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_SCOPE -11 The scope part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_FILTER -12 The filter part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_OUT_OF_MEMORY  -13  The  library  was  unable  to  allocate memory to create the the
           globus_url_t contents.
           GLOBUS_URL_ERROR_INTERNAL_ERROR -14 Some unexpected error occurred parsing the URL.

       References  globus_url_t::attributes,   globus_url_t::dn,   globus_url_t::filter,   globus_url_destroy(),
       GLOBUS_URL_SCHEME_FILE,    GLOBUS_URL_SCHEME_FTP,    GLOBUS_URL_SCHEME_GSIFTP,    GLOBUS_URL_SCHEME_HTTP,
       GLOBUS_URL_SCHEME_HTTPS,             GLOBUS_URL_SCHEME_LDAP,              GLOBUS_URL_SCHEME_X_GASS_CACHE,
       GLOBUS_URL_SCHEME_X_NEXUS,      globus_url_t::host,      globus_url_t::password,      globus_url_t::port,
       globus_url_t::scheme,     globus_url_t::scheme_type,     globus_url_t::scope,     globus_url_t::url_path,
       globus_url_t::url_specific_part, and globus_url_t::user.

   int globus_url_parse_loose (const char *url_string, globus_url_t *url)
       Parse a string containing a URL into a globus_url_t Looser restrictions on characters allowed in the path
       part of the URL.

       Parameters:
           url_string String to parse
           url Pointer to globus_url_t to be filled with the fields of the url

       Return values:
           GLOBUS_SUCCESS The string was successfully parsed.
           GLOBUS_URL_ERROR_NULL_STRING The url_string was GLOBUS_NULL.
           GLOBUS_URL_ERROR_NULL_URL The URL pointer was GLOBUS_NULL.
           GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme (protocol) contained invalid characters.
           GLOBUS_URL_ERROR_BAD_USER The user part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PASSWORD The password part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_HOST The host part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PORT The port part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_PATH The path part of the URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_DN -9 The DN part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_ATTRIBUTES -10 The attributes part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_SCOPE -11 The scope part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_BAD_FILTER -12 The filter part of an LDAP URL contained invalid characters.
           GLOBUS_URL_ERROR_OUT_OF_MEMORY  -13  The  library  was  unable  to  allocate memory to create the the
           globus_url_t contents.
           GLOBUS_URL_ERROR_INTERNAL_ERROR -14 Some unexpected error occurred parsing the URL.

       References  globus_url_t::attributes,   globus_url_t::dn,   globus_url_t::filter,   globus_url_destroy(),
       GLOBUS_URL_SCHEME_FILE,    GLOBUS_URL_SCHEME_FTP,    GLOBUS_URL_SCHEME_GSIFTP,    GLOBUS_URL_SCHEME_HTTP,
       GLOBUS_URL_SCHEME_HTTPS,             GLOBUS_URL_SCHEME_LDAP,              GLOBUS_URL_SCHEME_X_GASS_CACHE,
       GLOBUS_URL_SCHEME_X_NEXUS,      globus_url_t::host,      globus_url_t::password,      globus_url_t::port,
       globus_url_t::scheme,     globus_url_t::scheme_type,     globus_url_t::scope,     globus_url_t::url_path,
       globus_url_t::url_specific_part, and globus_url_t::user.

   int globus_url_destroy (globus_url_t *url)
       Destroy  a  globus_url_t  structure.  This  function  frees  all  memory  associated  with a globus_url_t
       structure.

       Parameters:
           url The url structure to destroy

       Return values:
           GLOBUS_SUCCESS The URL was successfully destroyed.

       References   globus_url_t::attributes,   globus_url_t::dn,   globus_url_t::filter,    globus_url_t::host,
       globus_url_t::password,      globus_url_t::scheme,      globus_url_t::scope,      globus_url_t::url_path,
       globus_url_t::url_specific_part, and globus_url_t::user.

   int globus_url_get_scheme (const char *url_string, globus_url_scheme_t *scheme_type)
       Get the scheme of an URL. This function determines the scheme type of the url string, and  populates  the
       variable  pointed  to  by  second  parameter with that value. This performs a less expensive parsing than
       globus_url_parse() and is suitable for applications which need only to choose a handler based on the  URL
       scheme.

       Parameters:
           url_string The string containing the URL.
           scheme_type A pointer to a globus_url_scheme_t which will be set to the scheme.

       Return values:
           GLOBUS_SUCCESS The URL scheme was recogized, and scheme_type has been updated.
           GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme was not recogized.

       References         GLOBUS_URL_SCHEME_FILE,        GLOBUS_URL_SCHEME_FTP,        GLOBUS_URL_SCHEME_GSIFTP,
       GLOBUS_URL_SCHEME_HTTP,   GLOBUS_URL_SCHEME_HTTPS,   GLOBUS_URL_SCHEME_LDAP,   GLOBUS_URL_SCHEME_UNKNOWN,
       GLOBUS_URL_SCHEME_X_GASS_CACHE, and GLOBUS_URL_SCHEME_X_NEXUS.

   int globus_url_copy (globus_url_t *dst, const globus_url_t *src)
       Create a copy of an URL structure. This function copies the contents of a url structure into another.

       Parameters:
           dst The URL structure to be populated with a copy of the contents of src.
           src The original URL.

       Return values:
           GLOBUS_SUCCESS The URL was successfully copied.
           GLOBUS_URL_ERROR_NULL_URL One of the URLs was GLOBUS_NULL.
           GLOBUS_URL_ERROR_OUT_OF_MEMORY;  The  library  was  unable  to  allocate  memory  to  create  the the
           globus_url_t contents.

       References globus_url_t::port, globus_url_t::scheme, and globus_url_t::scheme_type.

Author

       Generated automatically by Doxygen for globus common from the source code.

Version 14.10                                    Fri Nov 22 2013                            URL String Parser(3)