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.
More...
Data Structures
Enumerations
Functions
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
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. |
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. |
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. |
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. |