Sophie

Sophie

distrib > Fedora > 20 > x86_64 > by-pkgid > 8942781c8713a35a42342bcf5102a6a6 > files > 74

gfal2-doc-2.6.8-4.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>GFAL2: GFAL 2.0 generic file API</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="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">GFAL2
   &#160;<span id="projectnumber">2.6.8</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <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><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GFAL 2.0 generic file API</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1bc5c7136633b58ce88ad78e2bb5a986"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga1bc5c7136633b58ce88ad78e2bb5a986">gfal2_checksum</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, const char *check_type, off_t start_offset, size_t data_length, char *checksum_buffer, size_t buffer_length, GError **err)</td></tr>
<tr class="separator:ga1bc5c7136633b58ce88ad78e2bb5a986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ad53dc62abf55f1e2978e4b15de4d8b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga8ad53dc62abf55f1e2978e4b15de4d8b">gfal2_access</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, int amode, GError **err)</td></tr>
<tr class="memdesc:ga8ad53dc62abf55f1e2978e4b15de4d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">permission check  <a href="#ga8ad53dc62abf55f1e2978e4b15de4d8b">More...</a><br/></td></tr>
<tr class="separator:ga8ad53dc62abf55f1e2978e4b15de4d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c48288760f1436e4a272ea51454961b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga0c48288760f1436e4a272ea51454961b">gfal2_chmod</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, mode_t mode, GError **err)</td></tr>
<tr class="memdesc:ga0c48288760f1436e4a272ea51454961b"><td class="mdescLeft">&#160;</td><td class="mdescRight">change file access permissions  <a href="#ga0c48288760f1436e4a272ea51454961b">More...</a><br/></td></tr>
<tr class="separator:ga0c48288760f1436e4a272ea51454961b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f497a9b348a6dafa5b595ab75eafc13"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga6f497a9b348a6dafa5b595ab75eafc13">gfal2_rename</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *oldurl, const char *newurl, GError **err)</td></tr>
<tr class="memdesc:ga6f497a9b348a6dafa5b595ab75eafc13"><td class="mdescLeft">&#160;</td><td class="mdescRight">change the name or location of a file  <a href="#ga6f497a9b348a6dafa5b595ab75eafc13">More...</a><br/></td></tr>
<tr class="separator:ga6f497a9b348a6dafa5b595ab75eafc13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8ae8cc0ad7e6ac29487cae7cd7ac8d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gac8ae8cc0ad7e6ac29487cae7cd7ac8d3">gfal2_stat</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, struct stat *buff, GError **err)</td></tr>
<tr class="memdesc:gac8ae8cc0ad7e6ac29487cae7cd7ac8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">posix file status  <a href="#gac8ae8cc0ad7e6ac29487cae7cd7ac8d3">More...</a><br/></td></tr>
<tr class="separator:gac8ae8cc0ad7e6ac29487cae7cd7ac8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08e4ecdd2a2f4dd798e118c9fb44770f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga08e4ecdd2a2f4dd798e118c9fb44770f">gfal2_lstat</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, struct stat *buff, GError **err)</td></tr>
<tr class="memdesc:ga08e4ecdd2a2f4dd798e118c9fb44770f"><td class="mdescLeft">&#160;</td><td class="mdescRight">posix file status  <a href="#ga08e4ecdd2a2f4dd798e118c9fb44770f">More...</a><br/></td></tr>
<tr class="separator:ga08e4ecdd2a2f4dd798e118c9fb44770f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c1ce3921c3c54a663b6fbc432c5074c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga8c1ce3921c3c54a663b6fbc432c5074c">gfal2_mkdir</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, mode_t mode, GError **err)</td></tr>
<tr class="memdesc:ga8c1ce3921c3c54a663b6fbc432c5074c"><td class="mdescLeft">&#160;</td><td class="mdescRight">create directory  <a href="#ga8c1ce3921c3c54a663b6fbc432c5074c">More...</a><br/></td></tr>
<tr class="separator:ga8c1ce3921c3c54a663b6fbc432c5074c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf886afff7f8c199d958e4959c394d2e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gaf886afff7f8c199d958e4959c394d2e9">gfal2_mkdir_rec</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, mode_t mode, GError **err)</td></tr>
<tr class="memdesc:gaf886afff7f8c199d958e4959c394d2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">create directory  <a href="#gaf886afff7f8c199d958e4959c394d2e9">More...</a><br/></td></tr>
<tr class="separator:gaf886afff7f8c199d958e4959c394d2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53c9272b4b2aec11c35ec4f4e6ae6e2c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga53c9272b4b2aec11c35ec4f4e6ae6e2c">gfal2_rmdir</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, GError **err)</td></tr>
<tr class="memdesc:ga53c9272b4b2aec11c35ec4f4e6ae6e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">suppress a directory  <a href="#ga53c9272b4b2aec11c35ec4f4e6ae6e2c">More...</a><br/></td></tr>
<tr class="separator:ga53c9272b4b2aec11c35ec4f4e6ae6e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga873856c17e04fe8495bcfa024c3cf821"><td class="memItemLeft" align="right" valign="top">DIR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga873856c17e04fe8495bcfa024c3cf821">gfal2_opendir</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, GError **err)</td></tr>
<tr class="memdesc:ga873856c17e04fe8495bcfa024c3cf821"><td class="mdescLeft">&#160;</td><td class="mdescRight">open a directory for content listing  <a href="#ga873856c17e04fe8495bcfa024c3cf821">More...</a><br/></td></tr>
<tr class="separator:ga873856c17e04fe8495bcfa024c3cf821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadce4525a16c138c7d2974d8f3a3a39fd"><td class="memItemLeft" align="right" valign="top">struct dirent *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gadce4525a16c138c7d2974d8f3a3a39fd">gfal2_readdir</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, DIR *d, GError **err)</td></tr>
<tr class="memdesc:gadce4525a16c138c7d2974d8f3a3a39fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the next directory entry  <a href="#gadce4525a16c138c7d2974d8f3a3a39fd">More...</a><br/></td></tr>
<tr class="separator:gadce4525a16c138c7d2974d8f3a3a39fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac42a773fce1493966cfa37fa9fac505f"><td class="memItemLeft" align="right" valign="top">struct dirent *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gac42a773fce1493966cfa37fa9fac505f">gfal2_readdirpp</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, DIR *d, struct stat *st, GError **err)</td></tr>
<tr class="memdesc:gac42a773fce1493966cfa37fa9fac505f"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the next directory entry in addition of the entry meta-data  <a href="#gac42a773fce1493966cfa37fa9fac505f">More...</a><br/></td></tr>
<tr class="separator:gac42a773fce1493966cfa37fa9fac505f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4bae80b85d1c4b570631e144e563972f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga4bae80b85d1c4b570631e144e563972f">gfal2_closedir</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, DIR *d, GError **err)</td></tr>
<tr class="memdesc:ga4bae80b85d1c4b570631e144e563972f"><td class="mdescLeft">&#160;</td><td class="mdescRight">close a directory handle  <a href="#ga4bae80b85d1c4b570631e144e563972f">More...</a><br/></td></tr>
<tr class="separator:ga4bae80b85d1c4b570631e144e563972f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac94cedeb5a79567e22187f4203b41c81"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gac94cedeb5a79567e22187f4203b41c81">gfal2_symlink</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *odlurl, const char *newurl, GError **err)</td></tr>
<tr class="memdesc:gac94cedeb5a79567e22187f4203b41c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a symbolic link  <a href="#gac94cedeb5a79567e22187f4203b41c81">More...</a><br/></td></tr>
<tr class="separator:gac94cedeb5a79567e22187f4203b41c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48c64abe9212e25e44fdbd2a7bc6e1e6"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga48c64abe9212e25e44fdbd2a7bc6e1e6">gfal2_readlink</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, char *buff, size_t buffsiz, GError **err)</td></tr>
<tr class="memdesc:ga48c64abe9212e25e44fdbd2a7bc6e1e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">read a symbolic link value, provide the linked file path  <a href="#ga48c64abe9212e25e44fdbd2a7bc6e1e6">More...</a><br/></td></tr>
<tr class="separator:ga48c64abe9212e25e44fdbd2a7bc6e1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d26ed46d45b809f3117260eddd6e9d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga4d26ed46d45b809f3117260eddd6e9d3">gfal2_unlink</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, GError **err)</td></tr>
<tr class="memdesc:ga4d26ed46d45b809f3117260eddd6e9d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a file entry.  <a href="#ga4d26ed46d45b809f3117260eddd6e9d3">More...</a><br/></td></tr>
<tr class="separator:ga4d26ed46d45b809f3117260eddd6e9d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a200b7565e11aa87af48b78d6c06e99"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga8a200b7565e11aa87af48b78d6c06e99">gfal2_listxattr</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, char *list, size_t size, GError **err)</td></tr>
<tr class="memdesc:ga8a200b7565e11aa87af48b78d6c06e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">list extended attributes of a resource.  <a href="#ga8a200b7565e11aa87af48b78d6c06e99">More...</a><br/></td></tr>
<tr class="separator:ga8a200b7565e11aa87af48b78d6c06e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacf62aa597823ba1b03104b5e6742615"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gaacf62aa597823ba1b03104b5e6742615">gfal2_getxattr</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, const char *name, void *value, size_t size, GError **err)</td></tr>
<tr class="memdesc:gaacf62aa597823ba1b03104b5e6742615"><td class="mdescLeft">&#160;</td><td class="mdescRight">get an extended attribute value of a resource.  <a href="#gaacf62aa597823ba1b03104b5e6742615">More...</a><br/></td></tr>
<tr class="separator:gaacf62aa597823ba1b03104b5e6742615"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab158d3ac351c77f8e47af8d49c3de9d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gaab158d3ac351c77f8e47af8d49c3de9d">gfal2_setxattr</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, const char *name, const void *value, size_t size, int flags, GError **err)</td></tr>
<tr class="memdesc:gaab158d3ac351c77f8e47af8d49c3de9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">set an extended attribute value of a resource.  <a href="#gaab158d3ac351c77f8e47af8d49c3de9d">More...</a><br/></td></tr>
<tr class="separator:gaab158d3ac351c77f8e47af8d49c3de9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3809f41ff73140b7a0cac43c4d7e8f6f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga3809f41ff73140b7a0cac43c4d7e8f6f">gfal2_bring_online</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, time_t pintime, time_t timeout, char *token, size_t tsize, int async, GError **err)</td></tr>
<tr class="memdesc:ga3809f41ff73140b7a0cac43c4d7e8f6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bring online a file.  <a href="#ga3809f41ff73140b7a0cac43c4d7e8f6f">More...</a><br/></td></tr>
<tr class="separator:ga3809f41ff73140b7a0cac43c4d7e8f6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e9215822d284047183c771e174b54ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga7e9215822d284047183c771e174b54ec">gfal2_bring_online_poll</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, const char *token, GError **err)</td></tr>
<tr class="memdesc:ga7e9215822d284047183c771e174b54ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for a bring online request.  <a href="#ga7e9215822d284047183c771e174b54ec">More...</a><br/></td></tr>
<tr class="separator:ga7e9215822d284047183c771e174b54ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64a63690c85b097098855b3736bbe967"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga64a63690c85b097098855b3736bbe967"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga64a63690c85b097098855b3736bbe967">gfal2_release_file</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, const char *token, GError **err)</td></tr>
<tr class="memdesc:ga64a63690c85b097098855b3736bbe967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a file. <br/></td></tr>
<tr class="separator:ga64a63690c85b097098855b3736bbe967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa41c7fbef24af56a97fed43330e526fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gaa41c7fbef24af56a97fed43330e526fc">gfal2_bring_online_list</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int nbfiles, const char *const *urls, time_t pintime, time_t timeout, char *token, size_t tsize, int async, GError **err)</td></tr>
<tr class="memdesc:gaa41c7fbef24af56a97fed43330e526fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bring online a file.  <a href="#gaa41c7fbef24af56a97fed43330e526fc">More...</a><br/></td></tr>
<tr class="separator:gaa41c7fbef24af56a97fed43330e526fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38b884ca6d605bd08ed15f35bccc852b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga38b884ca6d605bd08ed15f35bccc852b">gfal2_bring_online_poll_list</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int nbfiles, const char *const *urls, const char *token, GError **err)</td></tr>
<tr class="memdesc:ga38b884ca6d605bd08ed15f35bccc852b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for a bring online request.  <a href="#ga38b884ca6d605bd08ed15f35bccc852b">More...</a><br/></td></tr>
<tr class="separator:ga38b884ca6d605bd08ed15f35bccc852b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a7dda58ef4beeb7bb2a758557982a8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9a7dda58ef4beeb7bb2a758557982a8f"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga9a7dda58ef4beeb7bb2a758557982a8f">gfal2_release_file_list</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int nbfiles, const char *const *urls, const char *token, GError **err)</td></tr>
<tr class="memdesc:ga9a7dda58ef4beeb7bb2a758557982a8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a file. <br/></td></tr>
<tr class="separator:ga9a7dda58ef4beeb7bb2a758557982a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf6bf43dd6d41c907d86aea2a0bb0c17"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gabf6bf43dd6d41c907d86aea2a0bb0c17">gfal2_unlink_list</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int nbfiles, const char *const *uris, GError **errors)</td></tr>
<tr class="memdesc:gabf6bf43dd6d41c907d86aea2a0bb0c17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a bulk deletion.  <a href="#gabf6bf43dd6d41c907d86aea2a0bb0c17">More...</a><br/></td></tr>
<tr class="separator:gabf6bf43dd6d41c907d86aea2a0bb0c17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad344810abe50c93eff386fe0006084d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad344810abe50c93eff386fe0006084d5"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#gad344810abe50c93eff386fe0006084d5">gfal2_abort_files</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int nbfiles, const char *const *urls, const char *token, GError **errors)</td></tr>
<tr class="memdesc:gad344810abe50c93eff386fe0006084d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">abort a list of files <br/></td></tr>
<tr class="separator:gad344810abe50c93eff386fe0006084d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62d5b9adfc568cbe85dc6d6317e0bf3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga62d5b9adfc568cbe85dc6d6317e0bf3c">gfal2_open</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, int flag, GError **err)</td></tr>
<tr class="memdesc:ga62d5b9adfc568cbe85dc6d6317e0bf3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a file, return GFAL2 file descriptor.  <a href="#ga62d5b9adfc568cbe85dc6d6317e0bf3c">More...</a><br/></td></tr>
<tr class="separator:ga62d5b9adfc568cbe85dc6d6317e0bf3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6707ae3550ae05ffa685a72684256a8d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga6707ae3550ae05ffa685a72684256a8d">gfal2_open2</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *url, int flag, mode_t mode, GError **err)</td></tr>
<tr class="separator:ga6707ae3550ae05ffa685a72684256a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga280ec588f07fdfae90b780f8631739ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga280ec588f07fdfae90b780f8631739ae">gfal2_creat</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, const char *filename, mode_t mode, GError **err)</td></tr>
<tr class="separator:ga280ec588f07fdfae90b780f8631739ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f21c5907bb1f1b24237882ecfc472be"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga3f21c5907bb1f1b24237882ecfc472be">gfal2_read</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, void *buff, size_t s_buff, GError **err)</td></tr>
<tr class="memdesc:ga3f21c5907bb1f1b24237882ecfc472be"><td class="mdescLeft">&#160;</td><td class="mdescRight">read data from a GFAL2 file descriptor  <a href="#ga3f21c5907bb1f1b24237882ecfc472be">More...</a><br/></td></tr>
<tr class="separator:ga3f21c5907bb1f1b24237882ecfc472be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f713fa8472385a08ed0fc4d5e629610"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga8f713fa8472385a08ed0fc4d5e629610">gfal2_write</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, const void *buff, size_t s_buff, GError **err)</td></tr>
<tr class="memdesc:ga8f713fa8472385a08ed0fc4d5e629610"><td class="mdescLeft">&#160;</td><td class="mdescRight">write data to a GFAL2 file descriptor  <a href="#ga8f713fa8472385a08ed0fc4d5e629610">More...</a><br/></td></tr>
<tr class="separator:ga8f713fa8472385a08ed0fc4d5e629610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga630d72b4c1107ebcb98c1408de6208df"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga630d72b4c1107ebcb98c1408de6208df">gfal2_lseek</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, off_t offset, int whence, GError **err)</td></tr>
<tr class="memdesc:ga630d72b4c1107ebcb98c1408de6208df"><td class="mdescLeft">&#160;</td><td class="mdescRight">move the file cursor  <a href="#ga630d72b4c1107ebcb98c1408de6208df">More...</a><br/></td></tr>
<tr class="separator:ga630d72b4c1107ebcb98c1408de6208df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01845225899061fe3c6f63bfefa294a9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga01845225899061fe3c6f63bfefa294a9">gfal2_close</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, GError **err)</td></tr>
<tr class="memdesc:ga01845225899061fe3c6f63bfefa294a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">close a file GFAL2 descriptor  <a href="#ga01845225899061fe3c6f63bfefa294a9">More...</a><br/></td></tr>
<tr class="separator:ga01845225899061fe3c6f63bfefa294a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83b0b5594bd7c2befc41160d33b649a2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__file__group.html#ga83b0b5594bd7c2befc41160d33b649a2">gfal2_flush</a> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, GError **err)</td></tr>
<tr class="memdesc:ga83b0b5594bd7c2befc41160d33b649a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">flush all buffered data for the given file descriptor  <a href="#ga83b0b5594bd7c2befc41160d33b649a2">More...</a><br/></td></tr>
<tr class="separator:ga83b0b5594bd7c2befc41160d33b649a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga884193b1db0b42edc295e1006a480f19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga884193b1db0b42edc295e1006a480f19"></a>
ssize_t&#160;</td><td class="memItemRight" valign="bottom"><b>gfal2_pread</b> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, void *buffer, size_t count, off_t offset, GError **err)</td></tr>
<tr class="separator:ga884193b1db0b42edc295e1006a480f19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0318314490afe8a2dcf1afaaa8537b86"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0318314490afe8a2dcf1afaaa8537b86"></a>
ssize_t&#160;</td><td class="memItemRight" valign="bottom"><b>gfal2_pwrite</b> (<a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a> context, int fd, const void *buffer, size_t count, off_t offset, GError **err)</td></tr>
<tr class="separator:ga0318314490afe8a2dcf1afaaa8537b86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>GFAL 2.0 file API is the main entry point for file/directory operations</p>
<p>All functions report a EPROTONOSUPPORT GError if the url protocol does not support this operation. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga8ad53dc62abf55f1e2978e4b15de4d8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_access </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>amode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>permission check </p>
<p>check real user's permissions for a file </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">amode</td><td>: mode of the access </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, else -1 and err MUST be set properly see gfal2 error system for more information gfal2_error_system </dd></dl>

</div>
</div>
<a class="anchor" id="ga3809f41ff73140b7a0cac43c4d7e8f6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_bring_online </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>pintime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>async</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bring online a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">pintime</td><td>: pin time </td></tr>
    <tr><td class="paramname">timeout</td><td>: timeout </td></tr>
    <tr><td class="paramname">token</td><td>: The token will be put in the buffer pointed by this </td></tr>
    <tr><td class="paramname">async</td><td>Asynchronous request (does not block if != 0) </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if the request has been queued, &gt; 0 if the file is pinned, &lt; 0 on error </dd></dl>

</div>
</div>
<a class="anchor" id="gaa41c7fbef24af56a97fed43330e526fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_bring_online_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nbfiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const *&#160;</td>
          <td class="paramname"><em>urls</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>pintime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>async</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bring online a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">nbfiles</td><td>: number of files </td></tr>
    <tr><td class="paramname">urls</td><td>: urls of files </td></tr>
    <tr><td class="paramname">pintime</td><td>: pin time </td></tr>
    <tr><td class="paramname">timeout</td><td>: timeout </td></tr>
    <tr><td class="paramname">token</td><td>: The token will be put in the buffer pointed by this </td></tr>
    <tr><td class="paramname">async</td><td>Asynchronous request (does not block if != 0) </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if the request has been queued, &gt; 0 if the file is pinned, &lt; 0 on error </dd></dl>

</div>
</div>
<a class="anchor" id="ga7e9215822d284047183c771e174b54ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_bring_online_poll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check for a bring online request. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">token</td><td>: As set by gfal2_bring_online </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if the request is queued, &gt; 0 if the file is pinned, &lt; 0 on error </dd></dl>

</div>
</div>
<a class="anchor" id="ga38b884ca6d605bd08ed15f35bccc852b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_bring_online_poll_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nbfiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const *&#160;</td>
          <td class="paramname"><em>urls</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check for a bring online request. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">nbfiles</td><td>: number of files </td></tr>
    <tr><td class="paramname">urls</td><td>: urls of files </td></tr>
    <tr><td class="paramname">token</td><td>: As set by gfal2_bring_online </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if the request is queued, &gt; 0 if the file is pinned, &lt; 0 on error </dd></dl>

</div>
</div>
<a class="anchor" id="ga1bc5c7136633b58ce88ad78e2bb5a986"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_checksum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>check_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">off_t&#160;</td>
          <td class="paramname"><em>start_offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>checksum_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>buffer_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>checksum</p>
<p>compute checksum function for a file url </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">check_type</td><td>: string of the checksum type ( <a class="el" href="gfal__constants_8h.html#ac5c1fe7ede3be1c8c8d07e156bf3142c">GFAL_CHKSUM_MD5</a>, GFAL_CHKSUM_SHA1, .. ) </td></tr>
    <tr><td class="paramname">start_offset</td><td>: offset in the file where the checksum calculation will start ( 0 : from begining ) </td></tr>
    <tr><td class="paramname">data_length</td><td>: size of data to compute for the checksum after start_offset ( 0 -: full file ) </td></tr>
    <tr><td class="paramname">checksum_buffer</td><td>: buffer with checksum string as result </td></tr>
    <tr><td class="paramname">buffer_length</td><td>: maximum buffer length </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, else -1 and err is be set see gfal2 error system for more information gfal2_error_system </dd></dl>

</div>
</div>
<a class="anchor" id="ga0c48288760f1436e4a272ea51454961b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_chmod </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>change file access permissions </p>
<p>change the permissions of a file according to "mode" </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file or the folder </td></tr>
    <tr><td class="paramname">mode</td><td>: right to configure </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>return 0 if success else -1 and err is be set see gfal2 error system for more information gfal2_error_system </dd></dl>

</div>
</div>
<a class="anchor" id="ga01845225899061fe3c6f63bfefa294a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>close a file GFAL2 descriptor </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">fd</td><td>: file descriptor </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new cursor position if success, -1 if failure, set err properly in case of error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga4bae80b85d1c4b570631e144e563972f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_closedir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DIR *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>close a directory handle </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">d</td><td>: directory handle created by <a class="el" href="group__file__group.html#ga873856c17e04fe8495bcfa024c3cf821">gfal2_opendir</a> </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, negative value if error, set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="ga280ec588f07fdfae90b780f8631739ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_creat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><a class="el" href="group__file__group.html#ga280ec588f07fdfae90b780f8631739ae">gfal2_creat</a> is equivalent to <a class="el" href="group__file__group.html#ga6707ae3550ae05ffa685a72684256a8d">gfal2_open2</a> with flags equal to O_CREAT|O_WRONLY|O_TRUNC. </p>

</div>
</div>
<a class="anchor" id="ga83b0b5594bd7c2befc41160d33b649a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_flush </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>flush all buffered data for the given file descriptor </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">fd</td><td>: file descriptor </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new cursor position if success, -1 if failure, set err properly in case of error. </dd></dl>

</div>
</div>
<a class="anchor" id="gaacf62aa597823ba1b03104b5e6742615"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t gfal2_getxattr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get an extended attribute value of a resource. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: path of the resource </td></tr>
    <tr><td class="paramname">name</td><td>: key of the extended attribute </td></tr>
    <tr><td class="paramname">value</td><td>: buffer for the extended attribute value </td></tr>
    <tr><td class="paramname">size</td><td>: maximum size of the buffer to write </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the xattr value in bytes if success, -1 if error. set err properly in case of errors. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8a200b7565e11aa87af48b78d6c06e99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t gfal2_listxattr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>list extended attributes of a resource. </p>
<p>Extended attributes keys are concatenated in the buffer and separated by a null character</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: path of the resource </td></tr>
    <tr><td class="paramname">list</td><td>: buffer for the extended attribute keys </td></tr>
    <tr><td class="paramname">size</td><td>: maximum size of the buffer to write </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the concatenated xattr keys in bytes if success, -1 if error. set err properly in case of errors. </dd></dl>

</div>
</div>
<a class="anchor" id="ga630d72b4c1107ebcb98c1408de6208df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">off_t gfal2_lseek </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">off_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>whence</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>move the file cursor </p>
<p>move the file cursor of the GFAL2 file descriptor fd to offset</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">fd</td><td>: file descriptor </td></tr>
    <tr><td class="paramname">offset</td><td>: new position of the cursor </td></tr>
    <tr><td class="paramname">whence</td><td>: directive to follow, can be SEEK_SET, SEEK_CUR or SEEK_END </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new cursor position if success, -1 if failure, set err properly in case of error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga08e4ecdd2a2f4dd798e118c9fb44770f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_lstat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct stat *&#160;</td>
          <td class="paramname"><em>buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>posix file status </p>
<p>get meta-data information about the file 'url' same behavior than <a class="el" href="group__file__group.html#gac8ae8cc0ad7e6ac29487cae7cd7ac8d3">gfal2_stat</a> but return information about the link itself if "url" is a symbolic link</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">buff</td><td>: stat structure filled </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga8c1ce3921c3c54a663b6fbc432c5074c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_mkdir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>create directory </p>
<p>create a directory at the address 'url'</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">mode</td><td>: directory file rights </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf886afff7f8c199d958e4959c394d2e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_mkdir_rec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>create directory </p>
<p>create a directory at the address 'url' create all the parent drectories and does not return an error if the directory already exist</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">mode</td><td>: directory file rights </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga62d5b9adfc568cbe85dc6d6317e0bf3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Open a file, return GFAL2 file descriptor. </p>
<p>gfal_open supports the same flags than the POSIX open call</p>
<p>O_TRUNC If the file already exists and is a regular file and the open mode allows writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to length 0. If the file is a FIFO or termi‐ nal device file, the O_TRUNC flag is ignored. Otherwise the effect of O_TRUNC is unspecified.</p>
<p>O_APPEND The file is opened in append mode. Before each write(2), the file offset is positioned at the end of the file, as if with lseek(2). O_APPEND may lead to corrupted files on NFS file systems if more than one process appends data to a file at once. This is because NFS does not support appending to a file, so the client kernel has to simulate it, which can't be done without a race condition.</p>
<p>O_CREAT If the file does not exist it will be created. The owner (user ID) of the file is set to the effective user ID of the process. The group ownership (group ID) is set either to the effective group ID of the process or to the group ID of the parent directory (depending on file system type and mount options, and the mode of the parent directory, see the mount options bsdgroups and sysvgroups described in mount(8)).</p>
<p>mode specifies the permissions to use in case a new file is created. This argument must be supplied when O_CREAT is specified in flags; if O_CREAT is not specified, then mode is ignored. The effective permissions are modified by the process's umask in the usual way: The permissions of the created file are (mode &amp; ~umask). Note that this mode only applies to future accesses of the newly created file; the open() call that creates a read-only file may well return a read/write file descriptor.</p>
<pre class="fragment">  O_DIRECT 
        Try to minimize cache effects of the I/O to and from this file.  In general this will degrade performance, but it is useful in special situations, such  as  when  applications  do
        their  own  caching.   File I/O is done directly to/from user space buffers.  The O_DIRECT flag on its own makes at an effort to transfer data synchronously, but does not give the
        guarantees of the O_SYNC that data and necessary metadata are transferred.  To guarantee synchronous I/O the O_SYNC must be used in addition to O_DIRECT.  See NOTES below for fur‐
        ther discussion.

 O_LARGEFILE
        (LFS) Allow files whose sizes cannot be represented in an off_t (but can be represented in an off64_t) to be opened.  The _LARGEFILE64_SOURCE macro must be defined (before includ‐
        ing  any  header  files)  in  order  to  obtain this definition.  Setting the _FILE_OFFSET_BITS feature test macro to 64 (rather than using O_LARGEFILE) is the preferred method of
        obtaining method of accessing large files on 32-bit systems
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file to open </td></tr>
    <tr><td class="paramname">flags</td><td>: flags to use ( similar to open ) </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This routine return a valid file descriptor if the operation is a success or -1 if error occured. In case of Error, err is set properly </dd></dl>

</div>
</div>
<a class="anchor" id="ga6707ae3550ae05ffa685a72684256a8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_open2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Same than <a class="el" href="group__file__group.html#ga62d5b9adfc568cbe85dc6d6317e0bf3c">gfal2_open</a> but allow to specify the default right of the file </p>

</div>
</div>
<a class="anchor" id="ga873856c17e04fe8495bcfa024c3cf821"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DIR* gfal2_opendir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>open a directory for content listing </p>
<p>return a directory handle for content listing</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a directory handle in case of success or NULL if error occurs, set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="ga3f21c5907bb1f1b24237882ecfc472be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t gfal2_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>s_buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read data from a GFAL2 file descriptor </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">fd</td><td>: GFAL2 file descriptor of the file </td></tr>
    <tr><td class="paramname">buff</td><td>: buffer for read data </td></tr>
    <tr><td class="paramname">size</td><td>: maximum size to read </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report* </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, the number of bytes read is returned (zero indicates end of file), and the file position is advanced by this number. It is not an error if this number is smaller than the number of bytes requested. or a negative value is returned when an error occurs In case of Error, err is set properly </dd></dl>

</div>
</div>
<a class="anchor" id="gadce4525a16c138c7d2974d8f3a3a39fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct dirent* gfal2_readdir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DIR *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>return the next directory entry </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">d</td><td>: directory handle created by <a class="el" href="group__file__group.html#ga873856c17e04fe8495bcfa024c3cf821">gfal2_opendir</a> </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to a dirent struct if success, NULL if end of listing or error, set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="gac42a773fce1493966cfa37fa9fac505f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct dirent* gfal2_readdirpp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DIR *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct stat *&#160;</td>
          <td class="paramname"><em>st</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>return the next directory entry in addition of the entry meta-data </p>
<p>readdirpp get both of the directory entry informations and the stat informations in one operation, improving the performance in case of remote file system</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">d</td><td>: directory handle created by <a class="el" href="group__file__group.html#ga873856c17e04fe8495bcfa024c3cf821">gfal2_opendir</a> </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to a dirent struct and configure st with the meta-data information if success, NULL if end of listing or error, set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="ga48c64abe9212e25e44fdbd2a7bc6e1e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t gfal2_readlink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>buffsiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read a symbolic link value, provide the linked file path </p>
<p>Symbolic links are not supported by all protocols, in case of non-supported feature GFAL2 always return an error and set err to the code EPROTONOSUPPORT. gfal2_readlink follows the POSIX behavior and does not add a null byte at the end of the buffer if the link is truncated.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: path of the symbolic link to read </td></tr>
    <tr><td class="paramname">buff</td><td>: buffer for symbolic link value </td></tr>
    <tr><td class="paramname">buffsiz</td><td>: maximum number of bytes to write </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of the link value in bytes if success, negative value if error. set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="ga6f497a9b348a6dafa5b595ab75eafc13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_rename </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>oldurl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>newurl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>change the name or location of a file </p>
<p>move ( or rename ) the file 'oldurl' to 'newurl' </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">oldurl</td><td>: the old url of the file </td></tr>
    <tr><td class="paramname">newurl</td><td>: the new url of the file </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: return 0 if success, else -1 if errors. see gfal2 error system for more information gfal2_error_system </dd></dl>

</div>
</div>
<a class="anchor" id="ga53c9272b4b2aec11c35ec4f4e6ae6e2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_rmdir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>suppress a directory </p>
<p>suppress a directory at the address 'url' </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, negative value if error, set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="gaab158d3ac351c77f8e47af8d49c3de9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_setxattr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set an extended attribute value of a resource. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: path of the resource </td></tr>
    <tr><td class="paramname">name</td><td>: key of the extended attribute to define/set </td></tr>
    <tr><td class="paramname">value</td><td>: new value of the xattr </td></tr>
    <tr><td class="paramname">size</td><td>: size of the data </td></tr>
    <tr><td class="paramname">flags</td><td>xattr flag, XATTR_CREATE specifies a pure create, which fails if the named attribute exists already. XATTR_REPLACE specifies a pure replace operation, which fails if the named attribute does not already exist. By default (no flags), the extended attribute will be created if need be, or will simply replace the value if the attribute exists.</td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, -1 if error. set err properly in case of errors. </dd></dl>

</div>
</div>
<a class="anchor" id="gac8ae8cc0ad7e6ac29487cae7cd7ac8d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_stat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct stat *&#160;</td>
          <td class="paramname"><em>buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>posix file status </p>
<p>get meta-data information about the file 'url' </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: url of the file </td></tr>
    <tr><td class="paramname">buff</td><td>: stat structure filled </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac94cedeb5a79567e22187f4203b41c81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_symlink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>odlurl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>newurl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>create a symbolic link </p>
<p>Symbolic links are not supported by all protocols, in case of non-supported feature GFAL2 always return an error and set err to the code EPROTONOSUPPORT</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">oldurl</td><td>: origin file </td></tr>
    <tr><td class="paramname">newurl</td><td>: symbolic link path </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, negative value if error, set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="ga4d26ed46d45b809f3117260eddd6e9d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_unlink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete a file entry. </p>
<p>Does not work for Collections or directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">url</td><td>: path of the file to delete </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, -1 if error. set err properly in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="gabf6bf43dd6d41c907d86aea2a0bb0c17"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gfal2_unlink_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nbfiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const *&#160;</td>
          <td class="paramname"><em>uris</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>errors</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform a bulk deletion. </p>
<p>Does not work for Collections or directories.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">nbfiles</td><td>: number of files </td></tr>
    <tr><td class="paramname">paths</td><td>: paths of the files to delete </td></tr>
    <tr><td class="paramname">errors</td><td>: Pre-allocated array with nbfiles pointers to errors. It is the user's responsability to allocate and free. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if success, -1 if error. set err properly in case of error </dd></dl>
<dl class="section note"><dt>Note</dt><dd>The plugin tried will be the one that matches the first url </dd>
<dd>
If bulk deletion is not supported, gfal2_unlink will be called nbfiles times </dd></dl>

</div>
</div>
<a class="anchor" id="ga8f713fa8472385a08ed0fc4d5e629610"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t gfal2_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="gfal__global_8h.html#a3653ff2b8bf7affda4dfcf66af8d1632">gfal2_context_t</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>s_buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GError **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>write data to a GFAL2 file descriptor </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>: gfal2 handle, see <a class="el" href="gfal__global_8h.html#ac6e230bcdc9ad12a127db754977847f0">gfal2_context_new</a> </td></tr>
    <tr><td class="paramname">fd</td><td>: GFAL2 file descriptor of the file </td></tr>
    <tr><td class="paramname">buff</td><td>: buffer with data to write </td></tr>
    <tr><td class="paramname">s_buff</td><td>: maximum size to write </td></tr>
    <tr><td class="paramname">err</td><td>: GError error report* </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, the number of bytes written is returned (zero indicates end of file), and the file position is advanced by this number. It is not an error if this number is smaller than the number of bytes requested. or a negative value is returned when an error occurs. In case of Error, err is set properly </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>