<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <!-- THIS FILE IS AUTOMATICALLY GENERATED FROM THE GLOBUS SOURCE CODE DO NOT MODIFY. --> <title>Globus Reference Manual</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('group__globus__url.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">URL String Parser</div> </div> </div> <div class="contents"> <p>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. <a href="#details">More...</a></p> <h2><a name="nested-classes"></a> Data Structures</h2> <ul> <li>struct <a class="el" href="structglobus__url__t.html">globus_url_t</a> <dl class="el"><dd class="mdescRight">Parsed URLs. <a href="structglobus__url__t.html#details">More...</a><br/></dl></ul> <h2><a name="enum-members"></a> Enumerations</h2> <ul> <li>enum <a class="el" href="group__globus__url.html#ga774eeb8d0fd9e51f6be47aef44cf1aec">globus_url_scheme_t</a> { <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aecaa0509be5c6d1b0c646c8299bebd3827a">GLOBUS_URL_SCHEME_FTP</a> = 0, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aeca5f429ade3fa679fcebd59b6ad776fa21">GLOBUS_URL_SCHEME_GSIFTP</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aeca8fff1250e66e914e0154968cd873ce75">GLOBUS_URL_SCHEME_HTTP</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aecaa3ac1014b9db9d8336ce382ec0d6fa6b">GLOBUS_URL_SCHEME_HTTPS</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aeca9a7c96b60f73b5208c416328b8c8acdf">GLOBUS_URL_SCHEME_LDAP</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aeca2669694de07c90b4c0542d126f0c7f63">GLOBUS_URL_SCHEME_FILE</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aeca6b22cb148821c396191f0fde690850d7">GLOBUS_URL_SCHEME_X_NEXUS</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aecad7fd6dfc894211eb8f2fdb4f79834118">GLOBUS_URL_SCHEME_X_GASS_CACHE</a>, <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aecad6735c1376f446768221acc12a4e4b92">GLOBUS_URL_SCHEME_UNKNOWN</a> , <br/>   <a class="el" href="group__globus__url.html#gga774eeb8d0fd9e51f6be47aef44cf1aeca47660ee5ccc96f60106faa3358bc3008">GLOBUS_URL_NUM_SCHEMES</a> <br/> } </ul> <h2><a name="func-members"></a> Functions</h2> <ul> <li>int <a class="el" href="group__globus__url.html#ga19ef174b33d9c8f0575715682bac8d65">globus_url_parse</a> (const char *url_string, <a class="el" href="structglobus__url__t.html">globus_url_t</a> *url) <li>int <a class="el" href="group__globus__url.html#gabd9bb62fb3933b9b6a16ec4bf707a049">globus_url_parse_rfc1738</a> (const char *url_string, <a class="el" href="structglobus__url__t.html">globus_url_t</a> *url) <li>int <a class="el" href="group__globus__url.html#ga0973f8aa338513fdcc78d259dfcc17a8">globus_url_parse_loose</a> (const char *url_string, <a class="el" href="structglobus__url__t.html">globus_url_t</a> *url) <li>int <a class="el" href="group__globus__url.html#ga95920d71729e6b114afefe824e58348a">globus_url_destroy</a> (<a class="el" href="structglobus__url__t.html">globus_url_t</a> *url) <li>int <a class="el" href="group__globus__url.html#ga11552fd218b39c198d45a0318cec4b86">globus_url_get_scheme</a> (const char *url_string, <a class="el" href="group__globus__url.html#ga774eeb8d0fd9e51f6be47aef44cf1aec">globus_url_scheme_t</a> *scheme_type) <li>int <a class="el" href="group__globus__url.html#ga2d8c1bfed2091cdcd37425f06d76a8da">globus_url_copy</a> (<a class="el" href="structglobus__url__t.html">globus_url_t</a> *dst, const <a class="el" href="structglobus__url__t.html">globus_url_t</a> *src) </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>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. </p> <p>These functions are part of the Globus common library. The GLOBUS_COMMON module must be activated in order to use them. </p> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="ga774eeb8d0fd9e51f6be47aef44cf1aec"></a><!-- doxytag: member="globus_url.h::globus_url_scheme_t" ref="ga774eeb8d0fd9e51f6be47aef44cf1aec" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__globus__url.html#ga774eeb8d0fd9e51f6be47aef44cf1aec">globus_url_scheme_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>URL Schemes. </p> <p>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.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structglobus__url__t.html#ae55d4a3c79a86a30e892a8f94da0623c" title="An enumerated scheme type.">globus_url_t::scheme_type</a> </dd></dl> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aecaa0509be5c6d1b0c646c8299bebd3827a"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_FTP" ref="gga774eeb8d0fd9e51f6be47aef44cf1aecaa0509be5c6d1b0c646c8299bebd3827a" args="" -->GLOBUS_URL_SCHEME_FTP</em> </td><td> <p>File Transfer Protocol. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aeca5f429ade3fa679fcebd59b6ad776fa21"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_GSIFTP" ref="gga774eeb8d0fd9e51f6be47aef44cf1aeca5f429ade3fa679fcebd59b6ad776fa21" args="" -->GLOBUS_URL_SCHEME_GSIFTP</em> </td><td> <p>GSI-enhanced File Transfer Protocol. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aeca8fff1250e66e914e0154968cd873ce75"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_HTTP" ref="gga774eeb8d0fd9e51f6be47aef44cf1aeca8fff1250e66e914e0154968cd873ce75" args="" -->GLOBUS_URL_SCHEME_HTTP</em> </td><td> <p>HyperText Transfer Protocol. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aecaa3ac1014b9db9d8336ce382ec0d6fa6b"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_HTTPS" ref="gga774eeb8d0fd9e51f6be47aef44cf1aecaa3ac1014b9db9d8336ce382ec0d6fa6b" args="" -->GLOBUS_URL_SCHEME_HTTPS</em> </td><td> <p>Secure HyperText Transfer Protocol. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aeca9a7c96b60f73b5208c416328b8c8acdf"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_LDAP" ref="gga774eeb8d0fd9e51f6be47aef44cf1aeca9a7c96b60f73b5208c416328b8c8acdf" args="" -->GLOBUS_URL_SCHEME_LDAP</em> </td><td> <p>Lightweight Directory Access Protocol. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aeca2669694de07c90b4c0542d126f0c7f63"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_FILE" ref="gga774eeb8d0fd9e51f6be47aef44cf1aeca2669694de07c90b4c0542d126f0c7f63" args="" -->GLOBUS_URL_SCHEME_FILE</em> </td><td> <p>File Location. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aeca6b22cb148821c396191f0fde690850d7"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_X_NEXUS" ref="gga774eeb8d0fd9e51f6be47aef44cf1aeca6b22cb148821c396191f0fde690850d7" args="" -->GLOBUS_URL_SCHEME_X_NEXUS</em> </td><td> <p>Nexus endpoint. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aecad7fd6dfc894211eb8f2fdb4f79834118"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_X_GASS_CACHE" ref="gga774eeb8d0fd9e51f6be47aef44cf1aecad7fd6dfc894211eb8f2fdb4f79834118" args="" -->GLOBUS_URL_SCHEME_X_GASS_CACHE</em> </td><td> <p>GASS Cache Entry. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aecad6735c1376f446768221acc12a4e4b92"></a><!-- doxytag: member="GLOBUS_URL_SCHEME_UNKNOWN" ref="gga774eeb8d0fd9e51f6be47aef44cf1aecad6735c1376f446768221acc12a4e4b92" args="" -->GLOBUS_URL_SCHEME_UNKNOWN</em> </td><td> <p>Any other URL of the form <b>scheme</b>://<b>something</b> </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga774eeb8d0fd9e51f6be47aef44cf1aeca47660ee5ccc96f60106faa3358bc3008"></a><!-- doxytag: member="GLOBUS_URL_NUM_SCHEMES" ref="gga774eeb8d0fd9e51f6be47aef44cf1aeca47660ee5ccc96f60106faa3358bc3008" args="" -->GLOBUS_URL_NUM_SCHEMES</em> </td><td> <p>Total number of URL schemes supported. </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga19ef174b33d9c8f0575715682bac8d65"></a><!-- doxytag: member="globus_url.c::globus_url_parse" ref="ga19ef174b33d9c8f0575715682bac8d65" args="(const char *url_string, globus_url_t *url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_url_parse </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>url_string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structglobus__url__t.html">globus_url_t</a> * </td> <td class="paramname"><em>url</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Parse a string containing a URL into a <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url_string</td><td>String to parse </td></tr> <tr><td class="paramname">url</td><td>Pointer to <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> to be filled with the fields of the url</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The string was successfully parsed. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_STRING</td><td>The url_string was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_URL</td><td>The URL pointer was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCHEME</td><td>The URL scheme (protocol) contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_USER</td><td>The user part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PASSWORD</td><td>The password part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_HOST</td><td>The host part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PORT</td><td>The port part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PATH</td><td>The path part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_DN</td><td>-9 The DN part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_ATTRIBUTES</td><td>-10 The attributes part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCOPE</td><td>-11 The scope part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_FILTER</td><td>-12 The filter part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_OUT_OF_MEMORY</td><td>-13 The library was unable to allocate memory to create the the <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> contents. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_INTERNAL_ERROR</td><td>-14 Some unexpected error occurred parsing the URL. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gabd9bb62fb3933b9b6a16ec4bf707a049"></a><!-- doxytag: member="globus_url.c::globus_url_parse_rfc1738" ref="gabd9bb62fb3933b9b6a16ec4bf707a049" args="(const char *url_string, globus_url_t *url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_url_parse_rfc1738 </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>url_string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structglobus__url__t.html">globus_url_t</a> * </td> <td class="paramname"><em>url</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Parse a string containing a URL into a <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url_string</td><td>String to parse </td></tr> <tr><td class="paramname">url</td><td>Pointer to <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> to be filled with the fields of the url</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The string was successfully parsed. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_STRING</td><td>The url_string was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_URL</td><td>The URL pointer was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCHEME</td><td>The URL scheme (protocol) contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_USER</td><td>The user part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PASSWORD</td><td>The password part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_HOST</td><td>The host part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PORT</td><td>The port part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PATH</td><td>The path part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_DN</td><td>-9 The DN part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_ATTRIBUTES</td><td>-10 The attributes part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCOPE</td><td>-11 The scope part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_FILTER</td><td>-12 The filter part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_OUT_OF_MEMORY</td><td>-13 The library was unable to allocate memory to create the the <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> contents. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_INTERNAL_ERROR</td><td>-14 Some unexpected error occurred parsing the URL. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga0973f8aa338513fdcc78d259dfcc17a8"></a><!-- doxytag: member="globus_url.c::globus_url_parse_loose" ref="ga0973f8aa338513fdcc78d259dfcc17a8" args="(const char *url_string, globus_url_t *url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_url_parse_loose </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>url_string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structglobus__url__t.html">globus_url_t</a> * </td> <td class="paramname"><em>url</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Parse a string containing a URL into a <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> Looser restrictions on characters allowed in the path part of the URL. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url_string</td><td>String to parse </td></tr> <tr><td class="paramname">url</td><td>Pointer to <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> to be filled with the fields of the url</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The string was successfully parsed. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_STRING</td><td>The url_string was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_URL</td><td>The URL pointer was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCHEME</td><td>The URL scheme (protocol) contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_USER</td><td>The user part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PASSWORD</td><td>The password part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_HOST</td><td>The host part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PORT</td><td>The port part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_PATH</td><td>The path part of the URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_DN</td><td>-9 The DN part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_ATTRIBUTES</td><td>-10 The attributes part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCOPE</td><td>-11 The scope part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_FILTER</td><td>-12 The filter part of an LDAP URL contained invalid characters. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_OUT_OF_MEMORY</td><td>-13 The library was unable to allocate memory to create the the <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> contents. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_INTERNAL_ERROR</td><td>-14 Some unexpected error occurred parsing the URL. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga95920d71729e6b114afefe824e58348a"></a><!-- doxytag: member="globus_url.c::globus_url_destroy" ref="ga95920d71729e6b114afefe824e58348a" args="(globus_url_t *url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_url_destroy </td> <td>(</td> <td class="paramtype"><a class="el" href="structglobus__url__t.html">globus_url_t</a> * </td> <td class="paramname"><em>url</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destroy a <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> structure. </p> <p>This function frees all memory associated with a <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> structure.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url</td><td>The url structure to destroy</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The URL was successfully destroyed. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga11552fd218b39c198d45a0318cec4b86"></a><!-- doxytag: member="globus_url.c::globus_url_get_scheme" ref="ga11552fd218b39c198d45a0318cec4b86" args="(const char *url_string, globus_url_scheme_t *scheme_type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_url_get_scheme </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>url_string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__globus__url.html#ga774eeb8d0fd9e51f6be47aef44cf1aec">globus_url_scheme_t</a> * </td> <td class="paramname"><em>scheme_type</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Get the scheme of an URL. </p> <p>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 <a class="el" href="group__globus__url.html#ga19ef174b33d9c8f0575715682bac8d65" title="Parse a string containing a URL into a globus_url_t.">globus_url_parse()</a> and is suitable for applications which need only to choose a handler based on the URL scheme.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url_string</td><td>The string containing the URL. </td></tr> <tr><td class="paramname">scheme_type</td><td>A pointer to a globus_url_scheme_t which will be set to the scheme.</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The URL scheme was recogized, and scheme_type has been updated. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_BAD_SCHEME</td><td>The URL scheme was not recogized. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga2d8c1bfed2091cdcd37425f06d76a8da"></a><!-- doxytag: member="globus_url.c::globus_url_copy" ref="ga2d8c1bfed2091cdcd37425f06d76a8da" args="(globus_url_t *dst, const globus_url_t *src)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_url_copy </td> <td>(</td> <td class="paramtype"><a class="el" href="structglobus__url__t.html">globus_url_t</a> * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structglobus__url__t.html">globus_url_t</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a copy of an URL structure. </p> <p>This function copies the contents of a url structure into another.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">dst</td><td>The URL structure to be populated with a copy of the contents of src. </td></tr> <tr><td class="paramname">src</td><td>The original URL.</td></tr> </table> </dd> </dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The URL was successfully copied. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_NULL_URL</td><td>One of the URLs was GLOBUS_NULL. </td></tr> <tr><td class="paramname">GLOBUS_URL_ERROR_OUT_OF_MEMORY;</td><td>The library was unable to allocate memory to create the the <a class="el" href="structglobus__url__t.html" title="Parsed URLs.">globus_url_t</a> contents. </td></tr> </table> </dd> </dl> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <hr> <p align="center"> <a href="http://www.globus.org/toolkit/about.html" target="_top">about globus</a> | <a href="http://www.globus.org/toolkit/" target="_top">globus toolkit</a> | <a href="https://dev.globus.org/wiki/Welcome/" target="_top">dev.globus</a> <br> <br> Comments? <a href="mailto:webmaster@globus.org">webmaster@globus.org</a> </body> </html>