NAME
URL String Parser -
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.
Data Structures
struct globus_url_t
Parsed URLs.
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.
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.
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.
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.
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.
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.
Author
Generated automatically by Doxygen for globus common from the source
code.