Sophie

Sophie

distrib > Fedora > 20 > i386 > by-pkgid > 9bb1abbc158a381f31402be37fb72b0f > files > 41

globus-ftp-control-doc-6.6-1.fc20.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>globus_ftp_control: GridFTP Data Connections</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">globus_ftp_control
   &#160;<span id="projectnumber">6.6</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <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>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GridFTP Data Connections<div class="ingroups"><a class="el" href="group__globus__ftp__control.html">GridFTP Control API</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Data Connections.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga491be4232ce6eef639f2c2144ab87d25"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga491be4232ce6eef639f2c2144ab87d25">globus_ftp_control_data_connect_read</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_data_connect_callback_t callback, void *user_arg)</td></tr>
<tr class="memdesc:ga491be4232ce6eef639f2c2144ab87d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an incoming FTP data connection.  <a href="#ga491be4232ce6eef639f2c2144ab87d25">More...</a><br/></td></tr>
<tr class="separator:ga491be4232ce6eef639f2c2144ab87d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga930c3a2201c169fcb352d46e55c2e005"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga930c3a2201c169fcb352d46e55c2e005">globus_ftp_control_data_set_interface</a> (globus_ftp_control_handle_t *handle, const char *interface_addr)</td></tr>
<tr class="memdesc:ga930c3a2201c169fcb352d46e55c2e005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an outgoing FTP data connection.  <a href="#ga930c3a2201c169fcb352d46e55c2e005">More...</a><br/></td></tr>
<tr class="separator:ga930c3a2201c169fcb352d46e55c2e005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e397a4117a2067755b15425529389d9"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga4e397a4117a2067755b15425529389d9">globus_ftp_control_data_connect_write</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_data_connect_callback_t callback, void *user_arg)</td></tr>
<tr class="memdesc:ga4e397a4117a2067755b15425529389d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an outgoing FTP data connection.  <a href="#ga4e397a4117a2067755b15425529389d9">More...</a><br/></td></tr>
<tr class="separator:ga4e397a4117a2067755b15425529389d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b63610ede0ef8d4358801dfcb3f9cc2"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga1b63610ede0ef8d4358801dfcb3f9cc2">globus_ftp_control_data_add_channels</a> (globus_ftp_control_handle_t *handle, unsigned int num_channels, unsigned int stripe_ndx)</td></tr>
<tr class="memdesc:ga1b63610ede0ef8d4358801dfcb3f9cc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add data channels.  <a href="#ga1b63610ede0ef8d4358801dfcb3f9cc2">More...</a><br/></td></tr>
<tr class="separator:ga1b63610ede0ef8d4358801dfcb3f9cc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c7519f85c1cb265f721d627da480136"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga9c7519f85c1cb265f721d627da480136">globus_ftp_control_data_send_eof</a> (globus_ftp_control_handle_t *handle, int count[], int array_size, globus_bool_t eof_message, <a class="el" href="globus__ftp__control_8h.html#a930551e87a612fcb919cd41dac139d3e">globus_ftp_control_callback_t</a> cb, void *user_arg)</td></tr>
<tr class="memdesc:ga9c7519f85c1cb265f721d627da480136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send EOF.  <a href="#ga9c7519f85c1cb265f721d627da480136">More...</a><br/></td></tr>
<tr class="separator:ga9c7519f85c1cb265f721d627da480136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3c0ad1d168e7e573d3253288d869f20"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gae3c0ad1d168e7e573d3253288d869f20">globus_ftp_control_data_remove_channels</a> (globus_ftp_control_handle_t *handle, unsigned int num_channels, unsigned int stripe_ndx)</td></tr>
<tr class="memdesc:gae3c0ad1d168e7e573d3253288d869f20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove Data Channels.  <a href="#gae3c0ad1d168e7e573d3253288d869f20">More...</a><br/></td></tr>
<tr class="separator:gae3c0ad1d168e7e573d3253288d869f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b4c100b433ad29bd578d967a1e27ad7"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga2b4c100b433ad29bd578d967a1e27ad7">globus_ftp_control_data_query_channels</a> (globus_ftp_control_handle_t *handle, unsigned int *num_channels, unsigned int stripe_ndx)</td></tr>
<tr class="memdesc:ga2b4c100b433ad29bd578d967a1e27ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of data channels.  <a href="#ga2b4c100b433ad29bd578d967a1e27ad7">More...</a><br/></td></tr>
<tr class="separator:ga2b4c100b433ad29bd578d967a1e27ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cf1d57636534091bb722cf6c79950b0"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga0cf1d57636534091bb722cf6c79950b0">globus_ftp_control_data_get_total_data_channels</a> (globus_ftp_control_handle_t *handle, unsigned int *num_channels, unsigned int stripe_ndx)</td></tr>
<tr class="memdesc:ga0cf1d57636534091bb722cf6c79950b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Total Data Channels For a Stripe.  <a href="#ga0cf1d57636534091bb722cf6c79950b0">More...</a><br/></td></tr>
<tr class="separator:ga0cf1d57636534091bb722cf6c79950b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74ea20132b2664a0264ce4297d164084"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga74ea20132b2664a0264ce4297d164084">globus_ftp_control_local_send_eof</a> (globus_ftp_control_handle_t *handle, globus_bool_t send_eof)</td></tr>
<tr class="memdesc:ga74ea20132b2664a0264ce4297d164084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable automatic EOF handling.  <a href="#ga74ea20132b2664a0264ce4297d164084">More...</a><br/></td></tr>
<tr class="separator:ga74ea20132b2664a0264ce4297d164084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b46f5317ce108090bbff0dbe4d4beda"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga5b46f5317ce108090bbff0dbe4d4beda">globus_ftp_control_local_parallelism</a> (globus_ftp_control_handle_t *handle, <a class="el" href="globus__ftp__control_8h.html#a672ecaceb853a6789087707cf2ed8c55">globus_ftp_control_parallelism_t</a> *parallelism)</td></tr>
<tr class="memdesc:ga5b46f5317ce108090bbff0dbe4d4beda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set control handle parallelism.  <a href="#ga5b46f5317ce108090bbff0dbe4d4beda">More...</a><br/></td></tr>
<tr class="separator:ga5b46f5317ce108090bbff0dbe4d4beda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad87b5f1ae1cc6e41197031f1e0a0b178"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gad87b5f1ae1cc6e41197031f1e0a0b178">globus_ftp_control_local_pasv</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *address)</td></tr>
<tr class="memdesc:gad87b5f1ae1cc6e41197031f1e0a0b178"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a passive socket.  <a href="#gad87b5f1ae1cc6e41197031f1e0a0b178">More...</a><br/></td></tr>
<tr class="separator:gad87b5f1ae1cc6e41197031f1e0a0b178"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad634a4040a19efcaf44789762632b79e"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gad634a4040a19efcaf44789762632b79e">globus_ftp_control_local_spas</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t addresses[], unsigned int num_addresses)</td></tr>
<tr class="memdesc:gad634a4040a19efcaf44789762632b79e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create multiple passive sockets.  <a href="#gad634a4040a19efcaf44789762632b79e">More...</a><br/></td></tr>
<tr class="separator:gad634a4040a19efcaf44789762632b79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3baa9959f72deb6158a38120a479653"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gac3baa9959f72deb6158a38120a479653">globus_ftp_control_local_port</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *address)</td></tr>
<tr class="memdesc:gac3baa9959f72deb6158a38120a479653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set remote data address.  <a href="#gac3baa9959f72deb6158a38120a479653">More...</a><br/></td></tr>
<tr class="separator:gac3baa9959f72deb6158a38120a479653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1955115a77e36f5d2804f46494731322"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga1955115a77e36f5d2804f46494731322">globus_ftp_control_local_spor</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t addresses[], unsigned int num_addresses)</td></tr>
<tr class="memdesc:ga1955115a77e36f5d2804f46494731322"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set remote data addresses.  <a href="#ga1955115a77e36f5d2804f46494731322">More...</a><br/></td></tr>
<tr class="separator:ga1955115a77e36f5d2804f46494731322"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeffd01d5bb267664069b8d7527504f72"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gaeffd01d5bb267664069b8d7527504f72">globus_ftp_control_local_type</a> (globus_ftp_control_handle_t *handle, <a class="el" href="group__globus__ftp__control__constants.html#ga6f30449bd42513b18b569c22fc2cc9ca">globus_ftp_control_type_t</a> type, int form_code)</td></tr>
<tr class="memdesc:gaeffd01d5bb267664069b8d7527504f72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set control handle TYPE value.  <a href="#gaeffd01d5bb267664069b8d7527504f72">More...</a><br/></td></tr>
<tr class="separator:gaeffd01d5bb267664069b8d7527504f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4a79857e80d5a7f443c95c45775470d"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gaa4a79857e80d5a7f443c95c45775470d">globus_ftp_control_local_mode</a> (globus_ftp_control_handle_t *handle, <a class="el" href="group__globus__ftp__control__constants.html#gaf62a47bb12c96632a493bd59135b51fe">globus_ftp_control_mode_t</a> mode)</td></tr>
<tr class="memdesc:gaa4a79857e80d5a7f443c95c45775470d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set data handle mode.  <a href="#gaa4a79857e80d5a7f443c95c45775470d">More...</a><br/></td></tr>
<tr class="separator:gaa4a79857e80d5a7f443c95c45775470d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7110b6db772147fc615b39a063262d4a"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga7110b6db772147fc615b39a063262d4a">globus_ftp_control_local_tcp_buffer</a> (globus_ftp_control_handle_t *handle, <a class="el" href="unionglobus__ftp__control__tcpbuffer__t.html">globus_ftp_control_tcpbuffer_t</a> *tcp_buffer)</td></tr>
<tr class="memdesc:ga7110b6db772147fc615b39a063262d4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set data handle TCP buffer size.  <a href="#ga7110b6db772147fc615b39a063262d4a">More...</a><br/></td></tr>
<tr class="separator:ga7110b6db772147fc615b39a063262d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b91e1b82c1532ddff6dca662af43222"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga1b91e1b82c1532ddff6dca662af43222">globus_ftp_control_local_dcau</a> (globus_ftp_control_handle_t *handle, const <a class="el" href="globus__ftp__control_8h.html#a004a422fa627c354b445686696cbb958">globus_ftp_control_dcau_t</a> *dcau, gss_cred_id_t delegated_credential_handle)</td></tr>
<tr class="memdesc:ga1b91e1b82c1532ddff6dca662af43222"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set data channel DCAU.  <a href="#ga1b91e1b82c1532ddff6dca662af43222">More...</a><br/></td></tr>
<tr class="separator:ga1b91e1b82c1532ddff6dca662af43222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1ffebfc4d58e1710ae1768abb2ac859"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gac1ffebfc4d58e1710ae1768abb2ac859">globus_ftp_control_local_pbsz</a> (globus_ftp_control_handle_t *handle, unsigned long bufsize)</td></tr>
<tr class="memdesc:gac1ffebfc4d58e1710ae1768abb2ac859"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set data channel protection buffer size.  <a href="#gac1ffebfc4d58e1710ae1768abb2ac859">More...</a><br/></td></tr>
<tr class="separator:gac1ffebfc4d58e1710ae1768abb2ac859"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf56fed1b06cc44769712de8aa5e3482b"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gaf56fed1b06cc44769712de8aa5e3482b">globus_ftp_control_get_pbsz</a> (globus_ftp_control_handle_t *handle, unsigned long *bufsize)</td></tr>
<tr class="memdesc:gaf56fed1b06cc44769712de8aa5e3482b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get data channel protection buffer size.  <a href="#gaf56fed1b06cc44769712de8aa5e3482b">More...</a><br/></td></tr>
<tr class="separator:gaf56fed1b06cc44769712de8aa5e3482b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c61df021a3cd6e5722c069925c91e7c"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga3c61df021a3cd6e5722c069925c91e7c">globus_ftp_control_local_stru</a> (globus_ftp_control_handle_t *handle, <a class="el" href="globus__ftp__control_8h.html#a55cf4011b4f20863792095dfcd987444">globus_ftp_control_structure_t</a> structure)</td></tr>
<tr class="memdesc:ga3c61df021a3cd6e5722c069925c91e7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set data channel structure.  <a href="#ga3c61df021a3cd6e5722c069925c91e7c">More...</a><br/></td></tr>
<tr class="separator:ga3c61df021a3cd6e5722c069925c91e7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39de10b1a100585a3e3bc9671dc5c498"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga39de10b1a100585a3e3bc9671dc5c498">globus_ftp_control_data_write</a> (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, <a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a> callback, void *callback_arg)</td></tr>
<tr class="memdesc:ga39de10b1a100585a3e3bc9671dc5c498"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to data connections.  <a href="#ga39de10b1a100585a3e3bc9671dc5c498">More...</a><br/></td></tr>
<tr class="separator:ga39de10b1a100585a3e3bc9671dc5c498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9450b46f5584a4b496b0c63b3cd962bb"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga9450b46f5584a4b496b0c63b3cd962bb">globus_ftp_control_data_read</a> (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t max_length, <a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a> callback, void *callback_arg)</td></tr>
<tr class="memdesc:ga9450b46f5584a4b496b0c63b3cd962bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from data connections.  <a href="#ga9450b46f5584a4b496b0c63b3cd962bb">More...</a><br/></td></tr>
<tr class="separator:ga9450b46f5584a4b496b0c63b3cd962bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5f8c3b0f169b6bf0aa4ac07d3a23dcd"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gac5f8c3b0f169b6bf0aa4ac07d3a23dcd">globus_ftp_control_local_layout</a> (globus_ftp_control_handle_t *handle, <a class="el" href="globus__ftp__control_8h.html#ae4b405b046cc48ff5f9b41cea8b75ea8">globus_ftp_control_layout_t</a> *layout, globus_size_t data_size)</td></tr>
<tr class="memdesc:gac5f8c3b0f169b6bf0aa4ac07d3a23dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set data layout.  <a href="#gac5f8c3b0f169b6bf0aa4ac07d3a23dcd">More...</a><br/></td></tr>
<tr class="separator:gac5f8c3b0f169b6bf0aa4ac07d3a23dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga826cdc0435d67e03ff9266c2ef672dad"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga826cdc0435d67e03ff9266c2ef672dad">globus_ftp_control_create_data_info</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_data_write_info_t *data_info, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, <a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a> callback, void *callback_arg)</td></tr>
<tr class="memdesc:ga826cdc0435d67e03ff9266c2ef672dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a globus_ftp_control_data_write_info_t structure.  <a href="#ga826cdc0435d67e03ff9266c2ef672dad">More...</a><br/></td></tr>
<tr class="separator:ga826cdc0435d67e03ff9266c2ef672dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4c69e9e97c7a4870adc00fad1077b59"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#gae4c69e9e97c7a4870adc00fad1077b59">globus_ftp_control_release_data_info</a> (globus_ftp_control_handle_t *handle, globus_ftp_control_data_write_info_t *data_info)</td></tr>
<tr class="memdesc:gae4c69e9e97c7a4870adc00fad1077b59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a data_info structure.  <a href="#gae4c69e9e97c7a4870adc00fad1077b59">More...</a><br/></td></tr>
<tr class="separator:gae4c69e9e97c7a4870adc00fad1077b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b27ad6262a3e887b937128ac1c1ea7a"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga8b27ad6262a3e887b937128ac1c1ea7a">globus_ftp_control_data_write_stripe</a> (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, int stripe_ndx, <a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a> callback, void *callback_arg)</td></tr>
<tr class="memdesc:ga8b27ad6262a3e887b937128ac1c1ea7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write FTP data to a stripe.  <a href="#ga8b27ad6262a3e887b937128ac1c1ea7a">More...</a><br/></td></tr>
<tr class="separator:ga8b27ad6262a3e887b937128ac1c1ea7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ad84411e0f766dcf2e893cb9a12521f"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga7ad84411e0f766dcf2e893cb9a12521f">globus_X_ftp_control_data_write_stripe</a> (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, int stripe_ndx, globus_ftp_control_data_write_info_t *data_info)</td></tr>
<tr class="memdesc:ga7ad84411e0f766dcf2e893cb9a12521f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to a stripe from an enqueue callback.  <a href="#ga7ad84411e0f766dcf2e893cb9a12521f">More...</a><br/></td></tr>
<tr class="separator:ga7ad84411e0f766dcf2e893cb9a12521f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a51359227b60127c472fff1cea91b27"><td class="memItemLeft" align="right" valign="top">globus_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__ftp__control__data.html#ga6a51359227b60127c472fff1cea91b27">globus_ftp_control_data_force_close</a> (globus_ftp_control_handle_t *control_handle, <a class="el" href="globus__ftp__control_8h.html#a930551e87a612fcb919cd41dac139d3e">globus_ftp_control_callback_t</a> close_callback_func, void *close_arg)</td></tr>
<tr class="memdesc:ga6a51359227b60127c472fff1cea91b27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close data connections.  <a href="#ga6a51359227b60127c472fff1cea91b27">More...</a><br/></td></tr>
<tr class="separator:ga6a51359227b60127c472fff1cea91b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Data Connections. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga826cdc0435d67e03ff9266c2ef672dad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_create_data_info </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_data_write_info_t *&#160;</td>
          <td class="paramname"><em>data_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_byte_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_off_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_bool_t&#160;</td>
          <td class="paramname"><em>eof</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>callback_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a globus_ftp_control_data_write_info_t structure. </p>
<p>This function populates a globus_ftp_control_data_callback_t structure with valid information. This structure provides the user a way to register several data writes with a single callback. This is quite useful to the writer of enqueue functions. It allows a single call to <a class="el" href="group__globus__ftp__control__data.html#ga39de10b1a100585a3e3bc9671dc5c498" title="Write data to data connections. ">globus_ftp_control_data_write()</a> to be broken up into many writes, potentially on different stripes, and for a single callback to be called when all are finished.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">data_info</td><td>The globus_ftp_control_data_write_info_t structure to be released. </td></tr>
    <tr><td class="paramname">buffer</td><td>The pointer to the user buffer that will be passed to the callback argument when there are zero references to data_info. This is intended to be the start of all the data the user intends to write using <a class="el" href="group__globus__ftp__control__data.html#ga8b27ad6262a3e887b937128ac1c1ea7a" title="Write FTP data to a stripe. ">globus_ftp_control_data_write_stripe()</a>, but it does not have to be. </td></tr>
    <tr><td class="paramname">length</td><td>The length of the memory segment pointed to by the argument buffer. </td></tr>
    <tr><td class="paramname">offset</td><td>The file offset of the data segment specified. </td></tr>
    <tr><td class="paramname">eof</td><td>This should be set to true if the user plans on registering eof on the data_info structure. </td></tr>
    <tr><td class="paramname">callback</td><td>The user function to be called when all references to data_info are released. This occurs after all data registered for write from globus_ftp_control_data_write_stripe have occurred and the user calls <a class="el" href="group__globus__ftp__control__data.html#gae4c69e9e97c7a4870adc00fad1077b59" title="Release a data_info structure. ">globus_ftp_control_release_data_info()</a>. The callback is passed all of the arguments passed to this function with the exception of data_info. </td></tr>
    <tr><td class="paramname">callback_arg</td><td>User supplied argument to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1b63610ede0ef8d4358801dfcb3f9cc2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_add_channels </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>stripe_ndx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add data channels. </p>
<p>Opens additional data channels (connections) to the host identified by the stripe parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. This handle is used to determine the host corresponding to the stripe number and to store information about any channels added by this function. </td></tr>
    <tr><td class="paramname">num_channels</td><td>The number of additional channels to add. </td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>A integer identifying the stripe to add channels too. In the case of non-striped transfer this parameter will be ignored. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga491be4232ce6eef639f2c2144ab87d25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_connect_read </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_data_connect_callback_t&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an incoming FTP data connection. </p>
<p>This function will register a globus_io_{accept, connect}. Further accepts/connects are done by registering a new accept/connect in the current accept/connect callback. A call to either <a class="el" href="group__globus__ftp__control__data.html#gad87b5f1ae1cc6e41197031f1e0a0b178" title="Create a passive socket. ">globus_ftp_control_local_pasv()</a> or <a class="el" href="group__globus__ftp__control__data.html#gac3baa9959f72deb6158a38120a479653" title="Set remote data address. ">globus_ftp_control_local_port()</a> needs to precede this calling this function. This function may be followed by a globus_ftp_data_read.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle which is configured to create an incoming data connection.</td></tr>
    <tr><td class="paramname">callback</td><td>This callback is called when the connection occurs. This parameter may be NULL.</td></tr>
    <tr><td class="paramname">user_arg</td><td>The user argument passed to the connect callback. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4e397a4117a2067755b15425529389d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_connect_write </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_data_connect_callback_t&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an outgoing FTP data connection. </p>
<p>This function will register a globus_io_{accept, connect}. Further accepts/connects are done by registering a new accept/connect in the current accept/connect callback. A call to either <a class="el" href="group__globus__ftp__control__data.html#gad87b5f1ae1cc6e41197031f1e0a0b178" title="Create a passive socket. ">globus_ftp_control_local_pasv()</a> or <a class="el" href="group__globus__ftp__control__data.html#gac3baa9959f72deb6158a38120a479653" title="Set remote data address. ">globus_ftp_control_local_port()</a> needs to precede this calling this function. This function may be followed by a globus_ftp_data_write.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle which is configured to create an outgoing data connection.</td></tr>
    <tr><td class="paramname">callback</td><td>This callback is called when the connection occurs. This parameter may be NULL.</td></tr>
    <tr><td class="paramname">user_arg</td><td>The user argument passed to the connect callback. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6a51359227b60127c472fff1cea91b27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_force_close </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>control_handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a930551e87a612fcb919cd41dac139d3e">globus_ftp_control_callback_t</a>&#160;</td>
          <td class="paramname"><em>close_callback_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>close_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close data connections. </p>
<p>Forces an immediate close of all data connections.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">control_handle</td><td>The globus_ftp_control_handle that is have its data connections closed. </td></tr>
    <tr><td class="paramname">close_callback_func</td><td>A user function that will be called when the data connections are closed. </td></tr>
    <tr><td class="paramname">close_arg</td><td>The user argument that will be threaded through to close_callback_func. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga0cf1d57636534091bb722cf6c79950b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_get_total_data_channels </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>num_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>stripe_ndx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get Total Data Channels For a Stripe. </p>
<p>Returns the total number of data channels used so far in the current transfer on the given stripe.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. This handle is used to determine the host corresponding to "stripe" and number of channels corresponding to that host. </td></tr>
    <tr><td class="paramname">num_channels</td><td></td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>A integer identifying the stripe for which to return the number of channels. In the case of non-striped transfer this parameter should be zero. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2b4c100b433ad29bd578d967a1e27ad7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_query_channels </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>num_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>stripe_ndx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of data channels. </p>
<p>Returns the number of currently open channels for the host identified by the stripe parameter. This number may be less then the level of parallelism specified in local_parallelism, due to the possibility that some channels have not yet connected.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. This handle is used to determine the host corresponding to "stripe" and number of channels corresponding to that host. </td></tr>
    <tr><td class="paramname">num_channels</td><td></td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>A integer identifying the stripe for which to return the number of channels. In the case of non-striped transfer this parameter should be zero. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9450b46f5584a4b496b0c63b3cd962bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_read </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_byte_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>max_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>callback_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read data from data connections. </p>
<p>Reads data from data connection(s) and put them in the supplied buffer.</p>
<p>This function takes the given buffer and will try to read data from the data connection(s).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">buffer</td><td>A user supplied buffer into which data from the data connection(s) will be written </td></tr>
    <tr><td class="paramname">max_length</td><td>The maximum length of the data that can be written to the buffer </td></tr>
    <tr><td class="paramname">callback</td><td>The function to be called once the data has been read </td></tr>
    <tr><td class="paramname">callback_arg</td><td>User supplied argument to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae3c0ad1d168e7e573d3253288d869f20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_remove_channels </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>stripe_ndx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove Data Channels. </p>
<p>Removes data channels (connections) to the host identified by the stripe parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. This handle is used to determine the host corresponding to the stripe number and to update information about any channels removed by this function. </td></tr>
    <tr><td class="paramname">num_channels</td><td>The number of channels to remove. </td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>A integer identifying the stripe to remove channels from. In the case of non-striped transfer this parameter will be ignored. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9c7519f85c1cb265f721d627da480136"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_send_eof </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>array_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_bool_t&#160;</td>
          <td class="paramname"><em>eof_message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a930551e87a612fcb919cd41dac139d3e">globus_ftp_control_callback_t</a>&#160;</td>
          <td class="paramname"><em>cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send EOF. </p>
<p>Sends an EOF message to each stripe along an open data connection.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. This handle contains the state for a connection. </td></tr>
    <tr><td class="paramname">count[]</td><td>This array of integers should contain an integer that will be added to the current parallel data connection count on each stripe. The order of the integers corresponds to each stripe in the same order as what was returned from local_port().</td></tr>
  </table>
  </dd>
</dl>
<p>An EOF message must be sent to all receiving hosts in a transfer. The message contains the total number of data connections used by each stripe. Many stripes may be sending to a single receiver but only one EOF message may be sent. The count parameter allows the user to pass in the total number of data connections used by all other hosts. The local values are added to the passed in values and then sent to the receiver.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">array_size</td><td>The number of elements in count[]. </td></tr>
    <tr><td class="paramname">eof_message</td><td></td></tr>
    <tr><td class="paramname">cb</td><td>The function to be called when the eof message has been called. </td></tr>
    <tr><td class="paramname">user_arg</td><td>A user pointer that is threaded through to the user callback. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga930c3a2201c169fcb352d46e55c2e005"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_set_interface </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>interface_addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an outgoing FTP data connection. </p>
<p>This function sets the interface that will be used to send and receive information along the data channel.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle which is configured to create an outgoing data connection. </td></tr>
    <tr><td class="paramname">interface_addr</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga39de10b1a100585a3e3bc9671dc5c498"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_write </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_byte_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_off_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_bool_t&#160;</td>
          <td class="paramname"><em>eof</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>callback_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write data to data connections. </p>
<p>Writes data from the supplied buffer to data connection(s)</p>
<p>This function writes contained in the buffer to the data channel(s).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">buffer</td><td>A user supplied buffer from which data will written to the data connection(s) </td></tr>
    <tr><td class="paramname">length</td><td>The length of the data contained in the buffer. </td></tr>
    <tr><td class="paramname">offset</td><td>The offset in the file at which the data in the buffer starts </td></tr>
    <tr><td class="paramname">eof</td><td>Indicates that the buffer is that last part of a file. In the striped case this will cause a EOF block to be send to every data node involved in the transfer. </td></tr>
    <tr><td class="paramname">callback</td><td>The function to be called once the data has been sent </td></tr>
    <tr><td class="paramname">callback_arg</td><td>User supplied argument to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga8b27ad6262a3e887b937128ac1c1ea7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_data_write_stripe </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_byte_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_off_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_bool_t&#160;</td>
          <td class="paramname"><em>eof</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stripe_ndx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a3fb6a53946f4cfd752b0a34c2dc38772">globus_ftp_control_data_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>callback_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write FTP data to a stripe. </p>
<p>This function allows the user to write to a specified stripe. The stripe index relates to the order passsed into local_spor(). This function differs from <a class="el" href="group__globus__ftp__control__data.html#ga39de10b1a100585a3e3bc9671dc5c498" title="Write data to data connections. ">globus_ftp_control_data_write()</a> in that no enqueue function is needed since the user specifies the stripe on which data is written. In order to use this function the user must have a valid pointer to a globus_ftp_control_data_write_info_t structure. The data_info structure can be obtained by a call to <a class="el" href="group__globus__ftp__control__data.html#ga826cdc0435d67e03ff9266c2ef672dad" title="Create a globus_ftp_control_data_write_info_t structure. ">globus_ftp_control_create_data_info()</a>. Many calls to this function can be made, but only a single user callback occurs per creation of a globus_ftp_control_data_write_info_t structure.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">buffer</td><td>a pointer to the data the user wishes to send along the FTP data channels. </td></tr>
    <tr><td class="paramname">length</td><td>the length of the data pointer to by the parameter buffer. </td></tr>
    <tr><td class="paramname">offset</td><td>the offset into the file of the data. </td></tr>
    <tr><td class="paramname">eof</td><td>A boolean stating that this will be the last chuck of data registered on the given stripe. In order to properly send an eof message the user must register an eof on every stripe. </td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>The index of the stripe on which the data will be sent. The index of each stripe is determined by the call to local_spas or local_spor. </td></tr>
    <tr><td class="paramname">callback</td><td>The function to be called once the data has been sent </td></tr>
    <tr><td class="paramname">callback_arg</td><td>User supplied argument to the callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf56fed1b06cc44769712de8aa5e3482b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_get_pbsz </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long *&#160;</td>
          <td class="paramname"><em>bufsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get data channel protection buffer size. </p>
<p>Query the FTP control handle for the protection buffer size information.</p>
<p>This function queries the handle to determine the protection buffer size which is used by this handle. This value is used to determine how much data will be sent in each packet during a protected data transfer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle to be updated </td></tr>
    <tr><td class="paramname">bufsize</td><td>A pointer to a parameter to store the value of the protection buffer size. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1b91e1b82c1532ddff6dca662af43222"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_dcau </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="globus__ftp__control_8h.html#a004a422fa627c354b445686696cbb958">globus_ftp_control_dcau_t</a> *&#160;</td>
          <td class="paramname"><em>dcau</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gss_cred_id_t&#160;</td>
          <td class="paramname"><em>delegated_credential_handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set data channel DCAU. </p>
<p>Update the FTP control handle with the given data channel authentication information.</p>
<p>If authentication is set to GLOBUS_FTP_CONTROL_DCAU_NONE, then protection will also be disabled for this control handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle to be updated </td></tr>
    <tr><td class="paramname">dcau</td><td>A parameter specifying the data channel authentication mode. Possible values are No Authentication, Self Authentication and Subject-name authentication. </td></tr>
    <tr><td class="paramname">delegated_credential_handle</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac5f8c3b0f169b6bf0aa4ac07d3a23dcd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_layout </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#ae4b405b046cc48ff5f9b41cea8b75ea8">globus_ftp_control_layout_t</a> *&#160;</td>
          <td class="paramname"><em>layout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set data layout. </p>
<p>Update the handle with the layout and the size of the data sent over the data channel.</p>
<p>This function is deprecated. The interface will be the changed to that of globus_X_ftp_control_local_layout()</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle into which to insert the layout information. </td></tr>
    <tr><td class="paramname">layout</td><td>A variable containing the layout information </td></tr>
    <tr><td class="paramname">data_size</td><td>The size of the data that is going to be sent. This may be needed to interpret the layout information. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa4a79857e80d5a7f443c95c45775470d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_mode </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__control__constants.html#gaf62a47bb12c96632a493bd59135b51fe">globus_ftp_control_mode_t</a>&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set data handle mode. </p>
<p>Update the FTP control handle with the given mode information.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle to be updated </td></tr>
    <tr><td class="paramname">mode</td><td>Specifies the mode of the data connection. Possible modes are STREAM, BLOCK, EXTENDED BLOCK and COMPRESSED. Out of these only STREAM and EXTENDED BLOCK are supported in this implementation. Also, EXTENDED BLOCK is only supported in combination with the IMAGE type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5b46f5317ce108090bbff0dbe4d4beda"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_parallelism </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a672ecaceb853a6789087707cf2ed8c55">globus_ftp_control_parallelism_t</a> *&#160;</td>
          <td class="paramname"><em>parallelism</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set control handle parallelism. </p>
<p>Set the parallelism information in a FTP control handle</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle for which the parallelism information is to be updated </td></tr>
    <tr><td class="paramname">parallelism</td><td>A structure containing parallelism information </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad87b5f1ae1cc6e41197031f1e0a0b178"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_pasv </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_host_port_t *&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a passive socket. </p>
<p>Create a local listening socket, bind it and return the address the socket is listening to. If there is a existing data connection it is closed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. Information about the listening socket is stored in the handle. </td></tr>
    <tr><td class="paramname">address</td><td>The host IP address and port is returned through this parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac1ffebfc4d58e1710ae1768abb2ac859"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_pbsz </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>bufsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set data channel protection buffer size. </p>
<p>Update the FTP control handle with the given protection buffer size information.</p>
<p>This function sets protection buffer size to be used by this handle. This value is used to determine how much data will be sent in each packet during a protected data transfer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle to be updated </td></tr>
    <tr><td class="paramname">bufsize</td><td>A parameter specifying the protection buffer size value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac3baa9959f72deb6158a38120a479653"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_port </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_host_port_t *&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set remote data address. </p>
<p>Insert the host/port information returned by a PASV on the remote host into the local FTP control handle. (close any outstanding data con)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle into which to insert the host/port information </td></tr>
    <tr><td class="paramname">address</td><td>The host IP address and port </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga74ea20132b2664a0264ce4297d164084"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_send_eof </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_bool_t&#160;</td>
          <td class="paramname"><em>send_eof</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable or disable automatic EOF handling. </p>
<p>Determines if the library will automatically send an EOF message in extended block mode, or if the user will have to explicitly do it by calling <a class="el" href="group__globus__ftp__control__data.html#ga9c7519f85c1cb265f721d627da480136" title="Send EOF. ">globus_ftp_control_data_send_eof()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The ftp handle you wish to sent the send_eof attribute on.</td></tr>
    <tr><td class="paramname">send_eof</td><td>A boolean representing whether or not to automatically send an EOF message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad634a4040a19efcaf44789762632b79e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_spas </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_host_port_t&#160;</td>
          <td class="paramname"><em>addresses</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num_addresses</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create multiple passive sockets. </p>
<p>Create num_addresses local listening sockets, bind them and return the addresses the sockets are listening to. If there is a existing data connection it is closed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. Information about the listening sockets is stored in the handle. </td></tr>
    <tr><td class="paramname">addresses</td><td>The host IP addresses and ports are returned through this parameter. </td></tr>
    <tr><td class="paramname">num_addresses</td><td>The number of listening sockets to create </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1955115a77e36f5d2804f46494731322"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_spor </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_host_port_t&#160;</td>
          <td class="paramname"><em>addresses</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num_addresses</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set remote data addresses. </p>
<p>Insert the host/port addresses returned by a SPAS on the remote host into the local FTP control handle. If there are any outstanding data connections at this point, they are closed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle into which to insert the host/port addresses </td></tr>
    <tr><td class="paramname">addresses</td><td>The host IP addresses and port numbers </td></tr>
    <tr><td class="paramname">num_addresses</td><td>The number of addresses </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3c61df021a3cd6e5722c069925c91e7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_stru </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="globus__ftp__control_8h.html#a55cf4011b4f20863792095dfcd987444">globus_ftp_control_structure_t</a>&#160;</td>
          <td class="paramname"><em>structure</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set data channel structure. </p>
<p>Updates the handle with information on the structure of the data being sent on the data channel.</p>
<p>This function updates the handle with the provided structure information. At this point the only structure type that is supported is the file type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">structure</td><td>This parameter is used to pass the structure information. Possible values are file, record and page. Only the file type is supported </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7110b6db772147fc615b39a063262d4a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_tcp_buffer </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unionglobus__ftp__control__tcpbuffer__t.html">globus_ftp_control_tcpbuffer_t</a> *&#160;</td>
          <td class="paramname"><em>tcp_buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set data handle TCP buffer size. </p>
<p>Update the FTP control handle with the given socket buffer information.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle to be updated </td></tr>
    <tr><td class="paramname">tcp_buffer</td><td>A pointer to the socket buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaeffd01d5bb267664069b8d7527504f72"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_local_type </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__ftp__control__constants.html#ga6f30449bd42513b18b569c22fc2cc9ca">globus_ftp_control_type_t</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>form_code</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set control handle TYPE value. </p>
<p>Update the FTP control handle with the given type information.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to the FTP control handle to be updated </td></tr>
    <tr><td class="paramname">type</td><td>The type of the data connection. Possible values are: ASCII, EBCDIC, IMAGE and LOCAL. Currently only ASCII and IMAGE types are supported. </td></tr>
    <tr><td class="paramname">form_code</td><td>The logical byte size parameter for the LOCAL type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae4c69e9e97c7a4870adc00fad1077b59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_ftp_control_release_data_info </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_data_write_info_t *&#160;</td>
          <td class="paramname"><em>data_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Release a data_info structure. </p>
<p>This function releases all memory and references created when a call to <a class="el" href="group__globus__ftp__control__data.html#ga826cdc0435d67e03ff9266c2ef672dad" title="Create a globus_ftp_control_data_write_info_t structure. ">globus_ftp_control_create_data_info()</a> was made. For every call to <a class="el" href="group__globus__ftp__control__data.html#ga826cdc0435d67e03ff9266c2ef672dad" title="Create a globus_ftp_control_data_write_info_t structure. ">globus_ftp_control_create_data_info()</a> a call to this function must be made.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">data_info</td><td>The globus_ftp_control_data_write_info_t structure to be released. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7ad84411e0f766dcf2e893cb9a12521f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_X_ftp_control_data_write_stripe </td>
          <td>(</td>
          <td class="paramtype">globus_ftp_control_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_byte_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_off_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_bool_t&#160;</td>
          <td class="paramname"><em>eof</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stripe_ndx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_ftp_control_data_write_info_t *&#160;</td>
          <td class="paramname"><em>data_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write data to a stripe from an enqueue callback. </p>
<p>This function allows the user to register the write of ftp data on a specific stripe. This function can only be called from an enqueue function callback. This function should be used only by the implementor of an enqueue function. It should be viewed as unstable and used used only by advanced users. This is the only function in the library that the enqueue function implementor is allowed from the enqueue callback.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. </td></tr>
    <tr><td class="paramname">buffer</td><td>a pointer to the data the user wishes to send along the FTP data channels. </td></tr>
    <tr><td class="paramname">length</td><td>the length of the data pointer to by the parameter buffer. </td></tr>
    <tr><td class="paramname">offset</td><td>the offset into the file of the data. </td></tr>
    <tr><td class="paramname">eof</td><td>a boolean stating that this is the last buffer to be registered. When using the <em>X</em> version of this function the user does not need to register an eof on each stripe, the control library will take care of that internally. </td></tr>
    <tr><td class="paramname">stripe_ndx</td><td>The index of the stripe on which the data will be sent. The index of each stripe is determined by the call to local_spas or local_spor. </td></tr>
    <tr><td class="paramname">data_info</td><td>An opaque structure that is passed into the enqueue function and contains reference count and state information. The same data_info pointer that is passed into the enqueue function must be used for this parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>