Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 99df56fad12ab23758bed1b8176d3e3d > files > 49

globus-gass-transfer-doc-7.2-9.fc18.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.3.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</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 id="nav-sync" class="sync"></div>
    </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__gass__transfer__request.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Request Handles</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga5602a52b98af47f77e032fcdd913957f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">globus_gass_transfer_request_type_t</a> { <br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fa419bb60ecf5c1b77f568cbf75aae4849">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_INVALID</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fa83bbfcfb85a560accca8f9745dd9e278">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_GET</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fac5675a8c4b950712e27dcec83192e628">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_PUT</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fa97544dc3720e5c09efd1517b12a396ce">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_APPEND</a>
<br/>
 }</td></tr>
<tr class="separator:ga5602a52b98af47f77e032fcdd913957f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa671d5ef2fae5a7034e0624c3bbc1b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gaaa671d5ef2fae5a7034e0624c3bbc1b5">globus_gass_transfer_request_status_t</a> { <br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5ade06f705dc33c762108a6f9b8340878a">GLOBUS_GASS_TRANSFER_REQUEST_INVALID</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a3036a3bafba31ef8a63a2d63b34bcd1b">GLOBUS_GASS_TRANSFER_REQUEST_STARTING</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5af4da259b0651a2fd9dea08179c083da4">GLOBUS_GASS_TRANSFER_REQUEST_PENDING</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a36f2ab83f649fdda5ce2d7a52f0c8bf5">GLOBUS_GASS_TRANSFER_REQUEST_FAILED</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a7c3742c6941000d4c5a60662ff9c02b2">GLOBUS_GASS_TRANSFER_REQUEST_REFERRED</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a8051bd31d3f57ca3ef4d385bd6b9b9f3">GLOBUS_GASS_TRANSFER_REQUEST_DENIED</a>, 
<br/>
&#160;&#160;<a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5af2d7d1108388b66e5e8b9af0fb89ab6c">GLOBUS_GASS_TRANSFER_REQUEST_DONE</a>
<br/>
 }</td></tr>
<tr class="separator:gaaa671d5ef2fae5a7034e0624c3bbc1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad31d82c6169b5d8e8edb88b4ac56c7bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">globus_gass_transfer_request_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gad31d82c6169b5d8e8edb88b4ac56c7bb">globus_gass_transfer_request_get_type</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:gad31d82c6169b5d8e8edb88b4ac56c7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad757b053500c6a3b8bd641dbf8f46430"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gad757b053500c6a3b8bd641dbf8f46430">globus_gass_transfer_request_get_user_pointer</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:gad757b053500c6a3b8bd641dbf8f46430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b43a82b60dc9dd6aed0fc14f5eae1ff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga9b43a82b60dc9dd6aed0fc14f5eae1ff">globus_gass_transfer_request_set_user_pointer</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request, void *user_pointer)</td></tr>
<tr class="separator:ga9b43a82b60dc9dd6aed0fc14f5eae1ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7392dbde70c0c18201871095dfb7b143"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__globus__gass__transfer__request.html#gaaa671d5ef2fae5a7034e0624c3bbc1b5">globus_gass_transfer_request_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga7392dbde70c0c18201871095dfb7b143">globus_gass_transfer_request_get_status</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:ga7392dbde70c0c18201871095dfb7b143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadb0e60f7ca80cdf416efeca8e38c0e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gaadb0e60f7ca80cdf416efeca8e38c0e0">globus_gass_transfer_request_get_referral</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request, globus_gass_transfer_referral_t *referral)</td></tr>
<tr class="separator:gaadb0e60f7ca80cdf416efeca8e38c0e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc7dae1d1e5febbe00314c00da7babe3"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gacc7dae1d1e5febbe00314c00da7babe3">globus_gass_transfer_request_get_url</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:gacc7dae1d1e5febbe00314c00da7babe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96d739c6b11cc3a091ab11c8b41322b1"><td class="memItemLeft" align="right" valign="top">globus_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga96d739c6b11cc3a091ab11c8b41322b1">globus_gass_transfer_request_get_length</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:ga96d739c6b11cc3a091ab11c8b41322b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga966e907ec04e84836f545570eff004d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga966e907ec04e84836f545570eff004d3">globus_gass_transfer_request_set_type</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request, <a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">globus_gass_transfer_request_type_t</a> type)</td></tr>
<tr class="separator:ga966e907ec04e84836f545570eff004d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1f9279d919f88e652a4e8729cc7ca47"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gab1f9279d919f88e652a4e8729cc7ca47">globus_gass_transfer_request_set_url</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request, char *url)</td></tr>
<tr class="separator:gab1f9279d919f88e652a4e8729cc7ca47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga771a876dd39d4399f8e68b41aa50346a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga771a876dd39d4399f8e68b41aa50346a">globus_gass_transfer_request_set_length</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request, globus_size_t length)</td></tr>
<tr class="separator:ga771a876dd39d4399f8e68b41aa50346a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa938edb5e75f9fef3db92dfbb1a71f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gaaa938edb5e75f9fef3db92dfbb1a71f1">globus_gass_transfer_request_get_denial_reason</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:gaaa938edb5e75f9fef3db92dfbb1a71f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55d67452e1fac012178ce566f9b3f312"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga55d67452e1fac012178ce566f9b3f312">globus_gass_transfer_request_get_denial_message</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:ga55d67452e1fac012178ce566f9b3f312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf690e56b7e4cdcad4dc7a6aafb120385"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#gaf690e56b7e4cdcad4dc7a6aafb120385">globus_gass_transfer_request_get_subject</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:gaf690e56b7e4cdcad4dc7a6aafb120385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga375fb762623cf1c34caaaeb3b01f15e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__gass__transfer__request.html#ga375fb762623cf1c34caaaeb3b01f15e7">globus_gass_transfer_request_destroy</a> (<a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a> request)</td></tr>
<tr class="separator:ga375fb762623cf1c34caaaeb3b01f15e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Request handles are used by the GASS Transfer API to associate operations with a single file transfer request. </p>
<p>Specifically, they are used to register multiple byte range buffers with a file transfer request, and to query the state of a transfer in-progress.</p>
<p>To implement a server, the request handle is populated by the protocol module implementation. The server may use the functions in this section to determine information about what the client is requesting.</p>
<p>To implement a client, the request handle should be queried after the blocking call or initial callback has been invoked to determine if the request has been authorized or referred, and after EOF, to determine whether the request has completed successfully.</p>
<p>A request handle contains a pointer which may be used by the handler of the request to store a pointer to arbitrary application-specific data. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga5602a52b98af47f77e032fcdd913957f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">globus_gass_transfer_request_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of operation associated with a request handle. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga5602a52b98af47f77e032fcdd913957fa419bb60ecf5c1b77f568cbf75aae4849"></a>GLOBUS_GASS_TRANSFER_REQUEST_TYPE_INVALID</em>&nbsp;</td><td class="fielddoc">
<p>Handle no longer valid. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5602a52b98af47f77e032fcdd913957fa83bbfcfb85a560accca8f9745dd9e278"></a>GLOBUS_GASS_TRANSFER_REQUEST_TYPE_GET</em>&nbsp;</td><td class="fielddoc">
<p>A get request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5602a52b98af47f77e032fcdd913957fac5675a8c4b950712e27dcec83192e628"></a>GLOBUS_GASS_TRANSFER_REQUEST_TYPE_PUT</em>&nbsp;</td><td class="fielddoc">
<p>A put request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5602a52b98af47f77e032fcdd913957fa97544dc3720e5c09efd1517b12a396ce"></a>GLOBUS_GASS_TRANSFER_REQUEST_TYPE_APPEND</em>&nbsp;</td><td class="fielddoc">
<p>An append request. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaaa671d5ef2fae5a7034e0624c3bbc1b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__globus__gass__transfer__request.html#gaaa671d5ef2fae5a7034e0624c3bbc1b5">globus_gass_transfer_request_status_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request Status. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5ade06f705dc33c762108a6f9b8340878a"></a>GLOBUS_GASS_TRANSFER_REQUEST_INVALID</em>&nbsp;</td><td class="fielddoc">
<p>Handle is no longer valid. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5a3036a3bafba31ef8a63a2d63b34bcd1b"></a>GLOBUS_GASS_TRANSFER_REQUEST_STARTING</em>&nbsp;</td><td class="fielddoc">
<p>Initial connection and authorization is not yet completed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5af4da259b0651a2fd9dea08179c083da4"></a>GLOBUS_GASS_TRANSFER_REQUEST_PENDING</em>&nbsp;</td><td class="fielddoc">
<p>Request is authorized. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5a36f2ab83f649fdda5ce2d7a52f0c8bf5"></a>GLOBUS_GASS_TRANSFER_REQUEST_FAILED</em>&nbsp;</td><td class="fielddoc">
<p>Request failed due to protocol error or client or server aborting the request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5a7c3742c6941000d4c5a60662ff9c02b2"></a>GLOBUS_GASS_TRANSFER_REQUEST_REFERRED</em>&nbsp;</td><td class="fielddoc">
<p>Request can not be processed by this server, referred to another URL or URLs. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5a8051bd31d3f57ca3ef4d385bd6b9b9f3"></a>GLOBUS_GASS_TRANSFER_REQUEST_DENIED</em>&nbsp;</td><td class="fielddoc">
<p>The server denied this request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaa671d5ef2fae5a7034e0624c3bbc1b5af2d7d1108388b66e5e8b9af0fb89ab6c"></a>GLOBUS_GASS_TRANSFER_REQUEST_DONE</em>&nbsp;</td><td class="fielddoc">
<p>All callbacks have completed. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gad31d82c6169b5d8e8edb88b4ac56c7bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">globus_gass_transfer_request_type_t</a> globus_gass_transfer_request_get_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determine the type of a request. </p>
<p>This function is used by GASS server implementations to discover what type of operation the client is requesting for an URL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">type</a> of the request. </dd></dl>

<p>References <a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fa419bb60ecf5c1b77f568cbf75aae4849">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_INVALID</a>.</p>

</div>
</div>
<a class="anchor" id="gad757b053500c6a3b8bd641dbf8f46430"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* globus_gass_transfer_request_get_user_pointer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the user pointer associated with a requestThis function extracts the user pointer from a request handle. </p>
<p>The user-pointer may be used by the application which is generating or servicing the request to store a pointer to any application-specific piece of data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The user pointer's value. </dd></dl>

<p>References <a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fa419bb60ecf5c1b77f568cbf75aae4849">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_INVALID</a>.</p>

</div>
</div>
<a class="anchor" id="ga9b43a82b60dc9dd6aed0fc14f5eae1ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int globus_gass_transfer_request_set_user_pointer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_pointer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the user pointer associated with a request handle. </p>
<p>This function sets the user pointer from a request handle. The user-pointer may be used by the application which is generating or servicing the request to store a pointer to any application-specific piece of data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request to modify. </td></tr>
    <tr><td class="paramname">user_pointer</td><td>The new value of the user pointer for the request.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">GLOBUS_SUCCES</td><td>The user pointer's value was set. </td></tr>
    <tr><td class="paramname">GLOBUS_GASS_TRANSFER_ERROR_INVALID_USE</td><td>An invalid request handle was passed to this function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7392dbde70c0c18201871095dfb7b143"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__globus__gass__transfer__request.html#gaaa671d5ef2fae5a7034e0624c3bbc1b5">globus_gass_transfer_request_status_t</a> globus_gass_transfer_request_get_status </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check the status of a request. </p>
<p>This function queries a request to determine the status of the request. This function should be called after EOF has been reached, or after the initial get, put, or append has returned or had it's callback function called to determine if it is possible to procede, or whether the file transfer was successfully processed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request handle to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="group__globus__gass__transfer__request.html#gaaa671d5ef2fae5a7034e0624c3bbc1b5" title="Request Status.">globus_gass_transfer_request_status_t</a> indicating the current status of the request. </dd></dl>

<p>References <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a8051bd31d3f57ca3ef4d385bd6b9b9f3">GLOBUS_GASS_TRANSFER_REQUEST_DENIED</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5af2d7d1108388b66e5e8b9af0fb89ab6c">GLOBUS_GASS_TRANSFER_REQUEST_DONE</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a36f2ab83f649fdda5ce2d7a52f0c8bf5">GLOBUS_GASS_TRANSFER_REQUEST_FAILED</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5ade06f705dc33c762108a6f9b8340878a">GLOBUS_GASS_TRANSFER_REQUEST_INVALID</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5af4da259b0651a2fd9dea08179c083da4">GLOBUS_GASS_TRANSFER_REQUEST_PENDING</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a7c3742c6941000d4c5a60662ff9c02b2">GLOBUS_GASS_TRANSFER_REQUEST_REFERRED</a>, and <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a3036a3bafba31ef8a63a2d63b34bcd1b">GLOBUS_GASS_TRANSFER_REQUEST_STARTING</a>.</p>

</div>
</div>
<a class="anchor" id="gaadb0e60f7ca80cdf416efeca8e38c0e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int globus_gass_transfer_request_get_referral </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_gass_transfer_referral_t *&#160;</td>
          <td class="paramname"><em>referral</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extract referral information from a request handle. </p>
<p>This function queries the request handle to determine any referral information that it contains. This function should only be called on request handles in the GLOBUS_GASS_TRANSFER_REQUEST_REFERRED state. If no referral information is stored in the request handle, then the referral will be initialized to an empty referral. The referral must be destroyed by calling <a class="el" href="group__globus__gass__transfer__referral.html#gae83589cda7d1515d778db2c3a8f8969e" title="Free all memory used by a referral.">globus_gass_transfer_referral_destroy()</a> by the caller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request handle to query. </td></tr>
    <tr><td class="paramname">referral</td><td>A pointer to an uninitialized referral structure. It will be populated by calling this function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The referral was successfully extracted from the request handle. </td></tr>
    <tr><td class="paramname">GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER</td><td>The referral pointer was GLOBUS_NULL; </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacc7dae1d1e5febbe00314c00da7babe3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* globus_gass_transfer_request_get_url </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the URL from a request handle. </p>
<p>This function queries the request handle to determine the URL associated with the request. This function is intended to be useful to GASS server implementors.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request handle to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the URL, or GLOBUS_NULL if the request handle is invalid. The string which is returned must not be freed by the caller. It may not be accessed after the request has been destroyed. </dd></dl>

</div>
</div>
<a class="anchor" id="ga96d739c6b11cc3a091ab11c8b41322b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_size_t globus_gass_transfer_request_get_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the length of a file to be transferred using GASS. </p>
<p>This function queries the request handle to determine the amount of data that will be transferred to copy the URL. The length may be <em>GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN</em> if the sender can not determine the length before making or authorizing the request.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the file located at the request's URL, or <em>GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN</em> if that cannot be determined. </dd></dl>

</div>
</div>
<a class="anchor" id="ga966e907ec04e84836f545570eff004d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int globus_gass_transfer_request_set_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__globus__gass__transfer__request.html#ga5602a52b98af47f77e032fcdd913957f">globus_gass_transfer_request_type_t</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the type of a request. </p>
<p>This function modifies a request handle by setting the type of operation that it is being used for. This function may only be called once per handle, and only from a GASS protocol module implementation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request handle to modify. </td></tr>
    <tr><td class="paramname">type</td><td>The type of operation that this request handle will be used for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The request handle's type has been set. </td></tr>
    <tr><td class="paramname">GLOBUS_GASS_TRANSFER_ERROR_INVALID_USE</td><td>The request handle was invalid or it's type was already set. The request handle was not modified.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Only GASS Protocol modules may call this function. </dd></dl>

<p>References <a class="el" href="group__globus__gass__transfer__request.html#gga5602a52b98af47f77e032fcdd913957fa419bb60ecf5c1b77f568cbf75aae4849">GLOBUS_GASS_TRANSFER_REQUEST_TYPE_INVALID</a>.</p>

</div>
</div>
<a class="anchor" id="gab1f9279d919f88e652a4e8729cc7ca47"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int globus_gass_transfer_request_set_url </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>url</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the URL to which a request handle refers. </p>
<p>This function modifies the given request handle so that it's URL field is set to string pointed to by <em>url</em>.</p>
<p>No copy is made of the string, so the caller must not free it. It must be allocated by calling one of the memory allocators in globus_libc, as it will be freed when the request handle is destroyed.</p>
<p>This function must only be called by protocol modules when constructing a request handle when accepting a new request. This function can only be called once per request handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>A handle to the request to modify. </td></tr>
    <tr><td class="paramname">url</td><td>A string containing the URL that this request will be associated with.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The URL was set for the request handle. </td></tr>
    <tr><td class="paramname">GLOBUS_GASS_TRANSFER_ERROR_INVALID_USE</td><td>The request handle was invalid, or the URL had already been set. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga771a876dd39d4399f8e68b41aa50346a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void globus_gass_transfer_request_set_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_size_t&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the length of a transfer associated request handle. </p>
<p>This function modifies the given request handle so that it's length field is set to give length parameter.</p>
<p>This function must only be called by protocol modules when constructing a request handle when receiving the response to a get request. This function can only be called once per request handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>A handle to the request to modify. </td></tr>
    <tr><td class="paramname">length</td><td>The length of the file request.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The URL was set for the request handle. </td></tr>
    <tr><td class="paramname">GLOBUS_GASS_TRANSFER_ERROR_INVALID_USE</td><td>The request handle was invalid, or the URL had already been set. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaaa938edb5e75f9fef3db92dfbb1a71f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int globus_gass_transfer_request_get_denial_reason </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an integer code describing why the request was denied. </p>
<p>This function queries a request which was denied by a server to determine why it was denied. The denial reason will be expressed in a protocol-specific response code. Knowledge of the protocol is needed to understand this response.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>A handle to the request to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A protocol-specific integer indicating why the request was denied. If the request handle is invalid or the request was not denied, then this function returns 0. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__globus__gass__transfer__request.html#ga55d67452e1fac012178ce566f9b3f312" title="Get an string describing why a request was denied.">globus_gass_transfer_request_get_denial_message()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga55d67452e1fac012178ce566f9b3f312"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* globus_gass_transfer_request_get_denial_message </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an string describing why a request was denied. </p>
<p>This function queries a request which was denied by a server to determine why it was denied. The denial reason will be expressed as a response string. The string must be freed by the caller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>A handle to the request to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string indicating why the request was denied. If the request handle is invalid or the request was not denied, then this function returns GLOBUS_NULL. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__globus__gass__transfer__request.html#gaaa938edb5e75f9fef3db92dfbb1a71f1" title="Get an integer code describing why the request was denied.">globus_gass_transfer_request_get_denial_reason()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaf690e56b7e4cdcad4dc7a6aafb120385"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* globus_gass_transfer_request_get_subject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the subject string associated with a request. </p>
<p>This function queries a request handle to determine the subject identity of the client who initiated the request. The string must not be freed by the caller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>A handle to the request to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string containing the request initiator's subject identity. If the request handle is invalid or a credential was not used to initiate the request, this value will be GLOBUS_NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="ga375fb762623cf1c34caaaeb3b01f15e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int globus_gass_transfer_request_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structglobus__gass__transfer__request__t.html">globus_gass_transfer_request_t</a>&#160;</td>
          <td class="paramname"><em>request</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy a request handle. </p>
<p>This function destroys the caller's reference to a request handle. It must be called for all request handles which are created by calling functions in the "@ref globus_gass_transfer_client" or "@ref globus_gass_transfer_server" sections of this manual. After calling the function, the caller must not attempt to use the request handle for any purpose.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">request</td><td>The request to destroy. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">GLOBUS_SUCCESS</td><td>The request handle reference was successfully destroyed. </td></tr>
    <tr><td class="paramname">GLOBUS_GASS_TRANSFER_ERROR_INVALID_USE</td><td>Either an invalid request handle or one which is actively being used was passed to this function as the <em>request</em> parameter. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a8051bd31d3f57ca3ef4d385bd6b9b9f3">GLOBUS_GASS_TRANSFER_REQUEST_DENIED</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5af2d7d1108388b66e5e8b9af0fb89ab6c">GLOBUS_GASS_TRANSFER_REQUEST_DONE</a>, <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a36f2ab83f649fdda5ce2d7a52f0c8bf5">GLOBUS_GASS_TRANSFER_REQUEST_FAILED</a>, and <a class="el" href="group__globus__gass__transfer__request.html#ggaaa671d5ef2fae5a7034e0624c3bbc1b5a7c3742c6941000d4c5a60662ff9c02b2">GLOBUS_GASS_TRANSFER_REQUEST_REFERRED</a>.</p>

</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>