.TH "globus_url" 3 "Version 18.14" "globus_common" \" -*- nroff -*- .ad l .nh .SH NAME globus_url \- URL String Parser .PP \- URL String Parser\&. .SH SYNOPSIS .br .PP .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBglobus_url_t\fP" .br .RI "Parsed URLs\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fBglobus_url_scheme_t\fP { \fBGLOBUS_URL_SCHEME_FTP\fP =0, \fBGLOBUS_URL_SCHEME_GSIFTP\fP, \fBGLOBUS_URL_SCHEME_HTTP\fP, \fBGLOBUS_URL_SCHEME_HTTPS\fP, \fBGLOBUS_URL_SCHEME_LDAP\fP, \fBGLOBUS_URL_SCHEME_FILE\fP, \fBGLOBUS_URL_SCHEME_X_NEXUS\fP, \fBGLOBUS_URL_SCHEME_X_GASS_CACHE\fP, \fBGLOBUS_URL_SCHEME_UNKNOWN\fP, \fBGLOBUS_URL_SCHEME_SSHFTP\fP, \fBGLOBUS_URL_NUM_SCHEMES\fP }" .br .RI "URL Schemes\&. " .in -1c .SS "Functions" .in +1c .ti -1c .RI "int \fBglobus_url_parse\fP (const char *url_string, \fBglobus_url_t\fP *url)" .br .ti -1c .RI "int \fBglobus_url_parse_rfc1738\fP (const char *url_string, \fBglobus_url_t\fP *url)" .br .ti -1c .RI "int \fBglobus_url_parse_loose\fP (const char *url_string, \fBglobus_url_t\fP *url)" .br .ti -1c .RI "int \fBglobus_url_destroy\fP (\fBglobus_url_t\fP *url)" .br .ti -1c .RI "int \fBglobus_url_get_scheme\fP (const char *url_string, \fBglobus_url_scheme_t\fP *scheme_type)" .br .ti -1c .RI "int \fBglobus_url_copy\fP (\fBglobus_url_t\fP *dst, const \fBglobus_url_t\fP *src)" .br .in -1c .SH "Detailed Description" .PP 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\&. .SH "Enumeration Type Documentation" .PP .SS "enum \fBglobus_url_scheme_t\fP" .PP 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\&. .PP \fBSee also\fP .RS 4 \fBglobus_url_t::scheme_type\fP .RE .PP .PP \fBEnumerator\fP .in +1c .TP \fB\fIGLOBUS_URL_SCHEME_FTP \fP\fP File Transfer Protocol .TP \fB\fIGLOBUS_URL_SCHEME_GSIFTP \fP\fP GSI-enhanced File Transfer Protocol .TP \fB\fIGLOBUS_URL_SCHEME_HTTP \fP\fP HyperText Transfer Protocol .TP \fB\fIGLOBUS_URL_SCHEME_HTTPS \fP\fP Secure HyperText Transfer Protocol .TP \fB\fIGLOBUS_URL_SCHEME_LDAP \fP\fP Lightweight Directory Access Protocol .TP \fB\fIGLOBUS_URL_SCHEME_FILE \fP\fP File Location .TP \fB\fIGLOBUS_URL_SCHEME_X_NEXUS \fP\fP Nexus endpoint .TP \fB\fIGLOBUS_URL_SCHEME_X_GASS_CACHE \fP\fP GASS Cache Entry .TP \fB\fIGLOBUS_URL_SCHEME_UNKNOWN \fP\fP Any other URL of the form \fBscheme\fP://\fBsomething\fP .TP \fB\fIGLOBUS_URL_NUM_SCHEMES \fP\fP Total number of URL schemes supported .SH "Function Documentation" .PP .SS "int globus_url_copy (\fBglobus_url_t\fP * dst, const \fBglobus_url_t\fP * src)" Create a copy of an URL structure\&. .PP This function copies the contents of a url structure into another\&. .PP \fBParameters\fP .RS 4 \fIdst\fP The URL structure to be populated with a copy of the contents of src\&. .br \fIsrc\fP The original URL\&. .RE .PP \fBReturn values\fP .RS 4 \fIGLOBUS_SUCCESS\fP The URL was successfully copied\&. .br \fIGLOBUS_URL_ERROR_NULL_URL\fP One of the URLs was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_OUT_OF_MEMORY;\fP The library was unable to allocate memory to create the the \fBglobus_url_t\fP contents\&. .RE .PP .SS "int globus_url_destroy (\fBglobus_url_t\fP * url)" Destroy a \fBglobus_url_t\fP structure\&. .PP This function frees all memory associated with a \fBglobus_url_t\fP structure\&. .PP \fBParameters\fP .RS 4 \fIurl\fP The url structure to destroy .RE .PP \fBReturn values\fP .RS 4 \fIGLOBUS_SUCCESS\fP The URL was successfully destroyed\&. .RE .PP .SS "int globus_url_get_scheme (const char * url_string, \fBglobus_url_scheme_t\fP * scheme_type)" Get the scheme of an URL\&. .PP 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 \fBglobus_url_parse()\fP and is suitable for applications which need only to choose a handler based on the URL scheme\&. .PP \fBParameters\fP .RS 4 \fIurl_string\fP The string containing the URL\&. .br \fIscheme_type\fP A pointer to a globus_url_scheme_t which will be set to the scheme\&. .RE .PP \fBReturn values\fP .RS 4 \fIGLOBUS_SUCCESS\fP The URL scheme was recognized, and scheme_type has been updated\&. .br \fIGLOBUS_URL_ERROR_BAD_SCHEME\fP The URL scheme was not recognized\&. .RE .PP .SS "int globus_url_parse (const char * url_string, \fBglobus_url_t\fP * url)" Parse a string containing a URL into a \fBglobus_url_t\fP .PP \fBParameters\fP .RS 4 \fIurl_string\fP String to parse .br \fIurl\fP Pointer to \fBglobus_url_t\fP to be filled with the fields of the url .RE .PP \fBReturn values\fP .RS 4 \fIGLOBUS_SUCCESS\fP The string was successfully parsed\&. .br \fIGLOBUS_URL_ERROR_NULL_STRING\fP The url_string was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_NULL_URL\fP The URL pointer was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_BAD_SCHEME\fP The URL scheme (protocol) contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_USER\fP The user part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PASSWORD\fP The password part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_HOST\fP The host part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PORT\fP The port part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PATH\fP The path part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_DN\fP -9 The DN part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_ATTRIBUTES\fP -10 The attributes part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_SCOPE\fP -11 The scope part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_FILTER\fP -12 The filter part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_OUT_OF_MEMORY\fP -13 The library was unable to allocate memory to create the the \fBglobus_url_t\fP contents\&. .br \fIGLOBUS_URL_ERROR_INTERNAL_ERROR\fP -14 Some unexpected error occurred parsing the URL\&. .RE .PP .SS "int globus_url_parse_loose (const char * url_string, \fBglobus_url_t\fP * url)" Parse a string containing a URL into a \fBglobus_url_t\fP Looser restrictions on characters allowed in the path part of the URL\&. .PP \fBParameters\fP .RS 4 \fIurl_string\fP String to parse .br \fIurl\fP Pointer to \fBglobus_url_t\fP to be filled with the fields of the url .RE .PP \fBReturn values\fP .RS 4 \fIGLOBUS_SUCCESS\fP The string was successfully parsed\&. .br \fIGLOBUS_URL_ERROR_NULL_STRING\fP The url_string was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_NULL_URL\fP The URL pointer was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_BAD_SCHEME\fP The URL scheme (protocol) contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_USER\fP The user part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PASSWORD\fP The password part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_HOST\fP The host part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PORT\fP The port part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PATH\fP The path part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_DN\fP -9 The DN part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_ATTRIBUTES\fP -10 The attributes part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_SCOPE\fP -11 The scope part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_FILTER\fP -12 The filter part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_OUT_OF_MEMORY\fP -13 The library was unable to allocate memory to create the the \fBglobus_url_t\fP contents\&. .br \fIGLOBUS_URL_ERROR_INTERNAL_ERROR\fP -14 Some unexpected error occurred parsing the URL\&. .RE .PP .SS "int globus_url_parse_rfc1738 (const char * url_string, \fBglobus_url_t\fP * url)" Parse a string containing a URL into a \fBglobus_url_t\fP .PP \fBParameters\fP .RS 4 \fIurl_string\fP String to parse .br \fIurl\fP Pointer to \fBglobus_url_t\fP to be filled with the fields of the url .RE .PP \fBReturn values\fP .RS 4 \fIGLOBUS_SUCCESS\fP The string was successfully parsed\&. .br \fIGLOBUS_URL_ERROR_NULL_STRING\fP The url_string was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_NULL_URL\fP The URL pointer was GLOBUS_NULL\&. .br \fIGLOBUS_URL_ERROR_BAD_SCHEME\fP The URL scheme (protocol) contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_USER\fP The user part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PASSWORD\fP The password part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_HOST\fP The host part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PORT\fP The port part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_PATH\fP The path part of the URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_DN\fP -9 The DN part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_ATTRIBUTES\fP -10 The attributes part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_SCOPE\fP -11 The scope part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_BAD_FILTER\fP -12 The filter part of an LDAP URL contained invalid characters\&. .br \fIGLOBUS_URL_ERROR_OUT_OF_MEMORY\fP -13 The library was unable to allocate memory to create the the \fBglobus_url_t\fP contents\&. .br \fIGLOBUS_URL_ERROR_INTERNAL_ERROR\fP -14 Some unexpected error occurred parsing the URL\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_common from the source code\&.