Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > a5792cbc6dcdf6bdde626c0724c2c85a > files > 49

globus-ftp-client-doc-7.4-1.fc17.noarch.rpm

<!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.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<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">
$(document).ready(function(){initNavTree('group__globus__ftp__client__perf__plugin.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Performance Marker Plugin</div>  </div>
<div class="ingroups"><a class="el" href="group__globus__ftp__client__plugins.html">Plugins</a></div></div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Performance Marker Plugin:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__globus__ftp__client__perf__plugin.png" border="0" alt="" usemap="#group____globus____ftp____client____perf____plugin"/>
<map name="group____globus____ftp____client____perf____plugin" id="group____globus____ftp____client____perf____plugin">
<area shape="rect" id="node1" href="group__globus__ftp__client__plugins.html" title="Plugin API." alt="" coords="6,12,71,39"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga21e20d3507191cd32efdf13d2f62edf8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga21e20d3507191cd32efdf13d2f62edf8">GLOBUS_FTP_CLIENT_PERF_PLUGIN_MODULE</a>&#160;&#160;&#160;(&amp;globus_i_ftp_client_perf_plugin_module)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga6dfe3b17ecad5b7284c0bc41e114d022"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga6dfe3b17ecad5b7284c0bc41e114d022">globus_ftp_client_perf_plugin_begin_cb_t</a> )(void *user_specific, <a class="el" href="group__globus__ftp__client__handle.html#ga9d8a98c88d529ab539c2fedee545f172">globus_ftp_client_handle_t</a> *handle, const char *source_url, const char *dest_url, globus_bool_t restart)</td></tr>
<tr class="memitem:ga3c067bc859ba1fbb53e6d967dda59df9"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga3c067bc859ba1fbb53e6d967dda59df9">globus_ftp_client_perf_plugin_marker_cb_t</a> )(void *user_specific, <a class="el" href="group__globus__ftp__client__handle.html#ga9d8a98c88d529ab539c2fedee545f172">globus_ftp_client_handle_t</a> *handle, long time_stamp_int, char time_stamp_tength, int stripe_ndx, int num_stripes, globus_off_t nbytes)</td></tr>
<tr class="memitem:gaac3f89baa125c2166313b5966169aff2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#gaac3f89baa125c2166313b5966169aff2">globus_ftp_client_perf_plugin_complete_cb_t</a> )(void *user_specific, <a class="el" href="group__globus__ftp__client__handle.html#ga9d8a98c88d529ab539c2fedee545f172">globus_ftp_client_handle_t</a> *handle, globus_bool_t success)</td></tr>
<tr class="memitem:ga74df3c43dee4951b78391f23159de4a0"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga74df3c43dee4951b78391f23159de4a0">globus_ftp_client_perf_plugin_user_copy_cb_t</a> )(void *user_specific)</td></tr>
<tr class="memitem:ga4d137114fbb91030637fcde510428bac"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga4d137114fbb91030637fcde510428bac">globus_ftp_client_perf_plugin_user_destroy_cb_t</a> )(void *user_specific)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa4c215adf3098bf032db14c3a706c27a"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#gaa4c215adf3098bf032db14c3a706c27a">globus_ftp_client_perf_plugin_init</a> (<a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *plugin, <a class="el" href="group__globus__ftp__client__perf__plugin.html#ga6dfe3b17ecad5b7284c0bc41e114d022">globus_ftp_client_perf_plugin_begin_cb_t</a> begin_cb, <a class="el" href="group__globus__ftp__client__perf__plugin.html#ga3c067bc859ba1fbb53e6d967dda59df9">globus_ftp_client_perf_plugin_marker_cb_t</a> marker_cb, <a class="el" href="group__globus__ftp__client__perf__plugin.html#gaac3f89baa125c2166313b5966169aff2">globus_ftp_client_perf_plugin_complete_cb_t</a> complete_cb, void *user_specific)</td></tr>
<tr class="memitem:ga57716b79e47fcf74db1cc3fbd426b133"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga57716b79e47fcf74db1cc3fbd426b133">globus_ftp_client_perf_plugin_set_copy_destroy</a> (<a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *plugin, <a class="el" href="group__globus__ftp__client__perf__plugin.html#ga74df3c43dee4951b78391f23159de4a0">globus_ftp_client_perf_plugin_user_copy_cb_t</a> copy_cb, <a class="el" href="group__globus__ftp__client__perf__plugin.html#ga4d137114fbb91030637fcde510428bac">globus_ftp_client_perf_plugin_user_destroy_cb_t</a> destroy_cb)</td></tr>
<tr class="memitem:gacc35c67efb45dea8f5dd2e7307039b25"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#gacc35c67efb45dea8f5dd2e7307039b25">globus_ftp_client_perf_plugin_destroy</a> (<a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *plugin)</td></tr>
<tr class="memitem:gad9445ba594953a0dfb8a12a8148b069d"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__client__perf__plugin.html#gad9445ba594953a0dfb8a12a8148b069d">globus_ftp_client_perf_plugin_get_user_specific</a> (<a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *plugin, void **user_specific)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>The FTP Performance Marker plugin allows the user to obtain performance markers for all types of transfers except a third party transfer in which Extended Block mode is not enabled. </p>
<p>These markers may be generated internally, or they may be received from a server ('put' or third_party_transfer' only).</p>
<p>Copy constructor and destructor callbacks are also provided to allow one to more easily layer other plugins on top of this one. </p>
<hr/><h2>Macro Definition Documentation</h2>
<a class="anchor" id="ga21e20d3507191cd32efdf13d2f62edf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GLOBUS_FTP_CLIENT_PERF_PLUGIN_MODULE&#160;&#160;&#160;(&amp;globus_i_ftp_client_perf_plugin_module)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Module descriptor. </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga6dfe3b17ecad5b7284c0bc41e114d022"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* globus_ftp_client_perf_plugin_begin_cb_t)(void *user_specific, <a class="el" href="group__globus__ftp__client__handle.html#ga9d8a98c88d529ab539c2fedee545f172">globus_ftp_client_handle_t</a> *handle, const char *source_url, const char *dest_url, globus_bool_t restart)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer begin callbackThis callback is called when a get, put, or third party transfer is started. </p>
<p>Note that it is possible for this callback to be made multiple times before ever receiving the complete callback... this would be the case if a transfer was restarted. The 'restart' will indicate whether or not we have been restarted.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>this the client handle that this transfer will be occurring on</td></tr>
    <tr><td class="paramname">user_specific</td><td>this is user specific data either created by the copy method, or, if a copy method was not specified, the value passed to init</td></tr>
    <tr><td class="paramname">source_url</td><td>source of the transfer (GLOBUS_NULL if 'put')</td></tr>
    <tr><td class="paramname">dest_url</td><td>dest of the transfer (GLOBUS_NULL if 'get')</td></tr>
    <tr><td class="paramname">restart</td><td>boolean indicating whether this callback is result of a restart</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>n/a </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga3c067bc859ba1fbb53e6d967dda59df9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* globus_ftp_client_perf_plugin_marker_cb_t)(void *user_specific, <a class="el" href="group__globus__ftp__client__handle.html#ga9d8a98c88d529ab539c2fedee545f172">globus_ftp_client_handle_t</a> *handle, long time_stamp_int, char time_stamp_tength, int stripe_ndx, int num_stripes, globus_off_t nbytes)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performance marker received callbackThis callback is called for all types of transfers except a third party in which extended block mode is not used (because 112 perf markers wont be sent in that case). </p>
<p>For extended mode 'put' and '3pt', actual 112 perf markers will be used and the frequency of this callback is dependent upon the frequency those messages are received. For 'put' in which extended block mode is not enabled and 'get' transfers, the information in this callback will be determined locally and the frequency of this callback will be at a maximum of one per second.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>this the client handle that this transfer is occurring on</td></tr>
    <tr><td class="paramname">user_specific</td><td>this is user specific data either created by the copy method, or, if a copy method was not specified, the value passed to init</td></tr>
    <tr><td class="paramname">time_stamp</td><td>the timestamp at which the number of bytes is valid</td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>the stripe index this data refers to</td></tr>
    <tr><td class="paramname">num_stripes</td><td>total number of stripes involved in this transfer</td></tr>
    <tr><td class="paramname">nbytes</td><td>the total bytes transfered on this stripe</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>n/a </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gaac3f89baa125c2166313b5966169aff2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* globus_ftp_client_perf_plugin_complete_cb_t)(void *user_specific, <a class="el" href="group__globus__ftp__client__handle.html#ga9d8a98c88d529ab539c2fedee545f172">globus_ftp_client_handle_t</a> *handle, globus_bool_t success)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer complete callbackThis callback will be called upon transfer completion (successful or otherwise) </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>this the client handle that this transfer was occurring on</td></tr>
    <tr><td class="paramname">user_specific</td><td>this is user specific data either created by the copy method, or, if a copy method was not specified, the value passed to init</td></tr>
    <tr><td class="paramname">success</td><td>indicates whether this transfer completed successfully or was interrupted (by error or abort)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>n/a </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga74df3c43dee4951b78391f23159de4a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void*(* globus_ftp_client_perf_plugin_user_copy_cb_t)(void *user_specific)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy constructorThis callback will be called when a copy of this plugin is made, it is intended to allow initialization of a new user_specific data. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">user_specific</td><td>this is user specific data either created by this copy method, or the value passed to init</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>a pointer to a user specific piece of data</li>
<li>GLOBUS_NULL (does not indicate error) </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga4d137114fbb91030637fcde510428bac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* globus_ftp_client_perf_plugin_user_destroy_cb_t)(void *user_specific)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DestructorThis callback will be called when a copy of this plugin is destroyed, it is intended to allow the user to free up any memory associated with the user specific data. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">user_specific</td><td>this is user specific data created by the copy method</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>n/a </li>
</ul>
</dd></dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaa4c215adf3098bf032db14c3a706c27a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_client_perf_plugin_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *&#160;</td>
          <td class="paramname"><em>plugin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga6dfe3b17ecad5b7284c0bc41e114d022">globus_ftp_client_perf_plugin_begin_cb_t</a>&#160;</td>
          <td class="paramname"><em>begin_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga3c067bc859ba1fbb53e6d967dda59df9">globus_ftp_client_perf_plugin_marker_cb_t</a>&#160;</td>
          <td class="paramname"><em>marker_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__perf__plugin.html#gaac3f89baa125c2166313b5966169aff2">globus_ftp_client_perf_plugin_complete_cb_t</a>&#160;</td>
          <td class="paramname"><em>complete_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_specific</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize a perf pluginThis function initializes a performance marker plugin. </p>
<p>Any params except for the plugin may be GLOBUS_NULL</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">plugin</td><td>a pointer to a plugin type to be initialized</td></tr>
    <tr><td class="paramname">user_specific</td><td>a pointer to some user specific data that will be provided to all callbacks</td></tr>
    <tr><td class="paramname">begin_cb</td><td>the callback to be called upon the start of a transfer</td></tr>
    <tr><td class="paramname">marker_cb</td><td>the callback to be called with every performance marker received</td></tr>
    <tr><td class="paramname">complete_cb</td><td>the callback to be called to indicate transfer completion</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>GLOBUS_SUCCESS</li>
<li>Error on NULL plugin</li>
<li>Error on init internal plugin </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga57716b79e47fcf74db1cc3fbd426b133"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_client_perf_plugin_set_copy_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *&#160;</td>
          <td class="paramname"><em>plugin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga74df3c43dee4951b78391f23159de4a0">globus_ftp_client_perf_plugin_user_copy_cb_t</a>&#160;</td>
          <td class="paramname"><em>copy_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__perf__plugin.html#ga4d137114fbb91030637fcde510428bac">globus_ftp_client_perf_plugin_user_destroy_cb_t</a>&#160;</td>
          <td class="paramname"><em>destroy_cb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set user copy and destroy callbacksUse this to have the plugin make callbacks any time a copy of this plugin is being made. </p>
<p>This will allow the user to keep state for different handles.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">plugin</td><td>plugin previously initialized with init (above)</td></tr>
    <tr><td class="paramname">copy_cb</td><td>func to be called when a copy is needed</td></tr>
    <tr><td class="paramname">destroy_cb</td><td>func to be called when a copy is to be destroyed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>Error on NULL arguments</li>
<li>GLOBUS_SUCCESS </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gacc35c67efb45dea8f5dd2e7307039b25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_client_perf_plugin_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *&#160;</td>
          <td class="paramname"><em>plugin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy performance marker pluginFrees up memory associated with plugin. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">plugin</td><td>plugin previously initialized with init (above)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>GLOBUS_SUCCESS</li>
<li>Error on NULL plugin </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gad9445ba594953a0dfb8a12a8148b069d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_client_perf_plugin_get_user_specific </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__client__plugins.html#gafd650bbeee4bf50b94275d89352697dc">globus_ftp_client_plugin_t</a> *&#160;</td>
          <td class="paramname"><em>plugin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>user_specific</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve user specific pointer. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">plugin</td><td>plugin previously initialized with init (above)</td></tr>
    <tr><td class="paramname">user_specific</td><td>pointer to storage for user_specific pointer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd><ul>
<li>GLOBUS_SUCCESS</li>
<li>Error on NULL plugin</li>
<li>Error on NULL user_specific </li>
</ul>
</dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<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>