Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > ee8fafc31a7ba3ce3ae4499cedf4e1bc > files > 75

libssh-devel-0.5.5-1.fc18.i686.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.3.1"/>
<title>libssh: The libssh SFTP 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">libssh
   &#160;<span id="projectnumber">0.5.5</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="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>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">The libssh SFTP 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:ga4399c7ccd8b39a460265047f9d7bc9b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga4399c7ccd8b39a460265047f9d7bc9b1">sftp_async_read</a> (sftp_file file, void *data, uint32_t len, uint32_t id)</td></tr>
<tr class="memdesc:ga4399c7ccd8b39a460265047f9d7bc9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for an asynchronous read to complete and save the data.  <a href="#ga4399c7ccd8b39a460265047f9d7bc9b1">More...</a><br/></td></tr>
<tr class="separator:ga4399c7ccd8b39a460265047f9d7bc9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c2cca19b38c54d4b04bb3584b0517cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd">sftp_async_read_begin</a> (sftp_file file, uint32_t len)</td></tr>
<tr class="memdesc:ga4c2cca19b38c54d4b04bb3584b0517cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start an asynchronous read from a file using an opened sftp file handle.  <a href="#ga4c2cca19b38c54d4b04bb3584b0517cd">More...</a><br/></td></tr>
<tr class="separator:ga4c2cca19b38c54d4b04bb3584b0517cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadee9f7af9fc1ad3a0a66c7d97bf7977c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gadee9f7af9fc1ad3a0a66c7d97bf7977c">sftp_attributes_free</a> (sftp_attributes file)</td></tr>
<tr class="memdesc:gadee9f7af9fc1ad3a0a66c7d97bf7977c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a sftp attribute structure.  <a href="#gadee9f7af9fc1ad3a0a66c7d97bf7977c">More...</a><br/></td></tr>
<tr class="separator:gadee9f7af9fc1ad3a0a66c7d97bf7977c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69b4d6f723565e3fcac2b37159262af5"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga69b4d6f723565e3fcac2b37159262af5">sftp_canonicalize_path</a> (sftp_session sftp, const char *path)</td></tr>
<tr class="memdesc:ga69b4d6f723565e3fcac2b37159262af5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Canonicalize a sftp path.  <a href="#ga69b4d6f723565e3fcac2b37159262af5">More...</a><br/></td></tr>
<tr class="separator:ga69b4d6f723565e3fcac2b37159262af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga311a4bc202d406c916c8b9ad5fe79ac7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga311a4bc202d406c916c8b9ad5fe79ac7">sftp_chmod</a> (sftp_session sftp, const char *file, mode_t mode)</td></tr>
<tr class="memdesc:ga311a4bc202d406c916c8b9ad5fe79ac7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change permissions of a file.  <a href="#ga311a4bc202d406c916c8b9ad5fe79ac7">More...</a><br/></td></tr>
<tr class="separator:ga311a4bc202d406c916c8b9ad5fe79ac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18abafba9db590408ee2301a27698f2c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga18abafba9db590408ee2301a27698f2c">sftp_chown</a> (sftp_session sftp, const char *file, uid_t owner, gid_t group)</td></tr>
<tr class="memdesc:ga18abafba9db590408ee2301a27698f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the file owner and group.  <a href="#ga18abafba9db590408ee2301a27698f2c">More...</a><br/></td></tr>
<tr class="separator:ga18abafba9db590408ee2301a27698f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5878919249d4e8abe59b0ec699eed293"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga5878919249d4e8abe59b0ec699eed293">sftp_close</a> (sftp_file file)</td></tr>
<tr class="memdesc:ga5878919249d4e8abe59b0ec699eed293"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close an open file handle.  <a href="#ga5878919249d4e8abe59b0ec699eed293">More...</a><br/></td></tr>
<tr class="separator:ga5878919249d4e8abe59b0ec699eed293"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35551e5b28b192ef8035628d347f7d3e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga35551e5b28b192ef8035628d347f7d3e">sftp_closedir</a> (sftp_dir dir)</td></tr>
<tr class="memdesc:ga35551e5b28b192ef8035628d347f7d3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close a directory handle opened by <a class="el" href="group__libssh__sftp.html#gab4290874bdb55796b2823496e0d9b7ec" title="Open a directory used to obtain directory entries.">sftp_opendir()</a>.  <a href="#ga35551e5b28b192ef8035628d347f7d3e">More...</a><br/></td></tr>
<tr class="separator:ga35551e5b28b192ef8035628d347f7d3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad60f8e71b06eb8fdae2b262bb58f8fec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gad60f8e71b06eb8fdae2b262bb58f8fec">sftp_dir_eof</a> (sftp_dir dir)</td></tr>
<tr class="memdesc:gad60f8e71b06eb8fdae2b262bb58f8fec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tell if the directory has reached EOF (End Of File).  <a href="#gad60f8e71b06eb8fdae2b262bb58f8fec">More...</a><br/></td></tr>
<tr class="separator:gad60f8e71b06eb8fdae2b262bb58f8fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga190d0bb19ed8e571ab884d28ee82adfe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga190d0bb19ed8e571ab884d28ee82adfe">sftp_extension_supported</a> (sftp_session sftp, const char *name, const char *data)</td></tr>
<tr class="memdesc:ga190d0bb19ed8e571ab884d28ee82adfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the given extension is supported.  <a href="#ga190d0bb19ed8e571ab884d28ee82adfe">More...</a><br/></td></tr>
<tr class="separator:ga190d0bb19ed8e571ab884d28ee82adfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga300723724353ccc490b9c0c55bbee668"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga300723724353ccc490b9c0c55bbee668">sftp_extensions_get_count</a> (sftp_session sftp)</td></tr>
<tr class="memdesc:ga300723724353ccc490b9c0c55bbee668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the count of extensions provided by the server.  <a href="#ga300723724353ccc490b9c0c55bbee668">More...</a><br/></td></tr>
<tr class="separator:ga300723724353ccc490b9c0c55bbee668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7391f28160aaa883429a3b0aa87e339"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gad7391f28160aaa883429a3b0aa87e339">sftp_extensions_get_data</a> (sftp_session sftp, unsigned int indexn)</td></tr>
<tr class="memdesc:gad7391f28160aaa883429a3b0aa87e339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the data of the extension provided by the server.  <a href="#gad7391f28160aaa883429a3b0aa87e339">More...</a><br/></td></tr>
<tr class="separator:gad7391f28160aaa883429a3b0aa87e339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bcf9a99f395c86c5f99b9a8009e9533"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga8bcf9a99f395c86c5f99b9a8009e9533">sftp_extensions_get_name</a> (sftp_session sftp, unsigned int indexn)</td></tr>
<tr class="memdesc:ga8bcf9a99f395c86c5f99b9a8009e9533"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the extension provided by the server.  <a href="#ga8bcf9a99f395c86c5f99b9a8009e9533">More...</a><br/></td></tr>
<tr class="separator:ga8bcf9a99f395c86c5f99b9a8009e9533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga155c66639cb3342c7e02a96c8dbf7501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga155c66639cb3342c7e02a96c8dbf7501">sftp_free</a> (sftp_session sftp)</td></tr>
<tr class="memdesc:ga155c66639cb3342c7e02a96c8dbf7501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close and deallocate a sftp session.  <a href="#ga155c66639cb3342c7e02a96c8dbf7501">More...</a><br/></td></tr>
<tr class="separator:ga155c66639cb3342c7e02a96c8dbf7501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9cc3609096b1fffa99f59c852415668"><td class="memItemLeft" align="right" valign="top">sftp_attributes&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gad9cc3609096b1fffa99f59c852415668">sftp_fstat</a> (sftp_file file)</td></tr>
<tr class="memdesc:gad9cc3609096b1fffa99f59c852415668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about a file or directory from a file handle.  <a href="#gad9cc3609096b1fffa99f59c852415668">More...</a><br/></td></tr>
<tr class="separator:gad9cc3609096b1fffa99f59c852415668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f14490f71825904232dc418b7843b9f"><td class="memItemLeft" align="right" valign="top">sftp_statvfs_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga6f14490f71825904232dc418b7843b9f">sftp_fstatvfs</a> (sftp_file file)</td></tr>
<tr class="memdesc:ga6f14490f71825904232dc418b7843b9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about a mounted file system.  <a href="#ga6f14490f71825904232dc418b7843b9f">More...</a><br/></td></tr>
<tr class="separator:ga6f14490f71825904232dc418b7843b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f7fca4091a0075d9e69e47c928f7494"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga1f7fca4091a0075d9e69e47c928f7494">sftp_get_error</a> (sftp_session sftp)</td></tr>
<tr class="memdesc:ga1f7fca4091a0075d9e69e47c928f7494"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last sftp error.  <a href="#ga1f7fca4091a0075d9e69e47c928f7494">More...</a><br/></td></tr>
<tr class="separator:ga1f7fca4091a0075d9e69e47c928f7494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6eb5a92e33493ec3d9a3576e1617da0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga6eb5a92e33493ec3d9a3576e1617da0d">sftp_init</a> (sftp_session sftp)</td></tr>
<tr class="memdesc:ga6eb5a92e33493ec3d9a3576e1617da0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the sftp session with the server.  <a href="#ga6eb5a92e33493ec3d9a3576e1617da0d">More...</a><br/></td></tr>
<tr class="separator:ga6eb5a92e33493ec3d9a3576e1617da0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e4a3cd284ad72a1c5092c4cef72dfca"><td class="memItemLeft" align="right" valign="top">sftp_attributes&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga7e4a3cd284ad72a1c5092c4cef72dfca">sftp_lstat</a> (sftp_session session, const char *path)</td></tr>
<tr class="memdesc:ga7e4a3cd284ad72a1c5092c4cef72dfca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about a file or directory.  <a href="#ga7e4a3cd284ad72a1c5092c4cef72dfca">More...</a><br/></td></tr>
<tr class="separator:ga7e4a3cd284ad72a1c5092c4cef72dfca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cc63cd3efe83edfa3f6a4c5314383cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga9cc63cd3efe83edfa3f6a4c5314383cb">sftp_mkdir</a> (sftp_session sftp, const char *directory, mode_t mode)</td></tr>
<tr class="memdesc:ga9cc63cd3efe83edfa3f6a4c5314383cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a directory.  <a href="#ga9cc63cd3efe83edfa3f6a4c5314383cb">More...</a><br/></td></tr>
<tr class="separator:ga9cc63cd3efe83edfa3f6a4c5314383cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32c8e182e97352e1aa8a20443c320d7f"><td class="memItemLeft" align="right" valign="top">sftp_session&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga32c8e182e97352e1aa8a20443c320d7f">sftp_new</a> (ssh_session session)</td></tr>
<tr class="memdesc:ga32c8e182e97352e1aa8a20443c320d7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a new sftp session.  <a href="#ga32c8e182e97352e1aa8a20443c320d7f">More...</a><br/></td></tr>
<tr class="separator:ga32c8e182e97352e1aa8a20443c320d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab95cb5fe091efcc49dfa7729e4d48010"><td class="memItemLeft" align="right" valign="top">sftp_file&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gab95cb5fe091efcc49dfa7729e4d48010">sftp_open</a> (sftp_session session, const char *file, int accesstype, mode_t mode)</td></tr>
<tr class="memdesc:gab95cb5fe091efcc49dfa7729e4d48010"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a file on the server.  <a href="#gab95cb5fe091efcc49dfa7729e4d48010">More...</a><br/></td></tr>
<tr class="separator:gab95cb5fe091efcc49dfa7729e4d48010"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4290874bdb55796b2823496e0d9b7ec"><td class="memItemLeft" align="right" valign="top">sftp_dir&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gab4290874bdb55796b2823496e0d9b7ec">sftp_opendir</a> (sftp_session session, const char *path)</td></tr>
<tr class="memdesc:gab4290874bdb55796b2823496e0d9b7ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a directory used to obtain directory entries.  <a href="#gab4290874bdb55796b2823496e0d9b7ec">More...</a><br/></td></tr>
<tr class="separator:gab4290874bdb55796b2823496e0d9b7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c2bfeb2e089f54c04afe1e484a7fff2"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga6c2bfeb2e089f54c04afe1e484a7fff2">sftp_read</a> (sftp_file file, void *buf, size_t count)</td></tr>
<tr class="memdesc:ga6c2bfeb2e089f54c04afe1e484a7fff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from a file using an opened sftp file handle.  <a href="#ga6c2bfeb2e089f54c04afe1e484a7fff2">More...</a><br/></td></tr>
<tr class="separator:ga6c2bfeb2e089f54c04afe1e484a7fff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga976ecf6f7d415856e1fd4a0f16ada9b8"><td class="memItemLeft" align="right" valign="top">sftp_attributes&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga976ecf6f7d415856e1fd4a0f16ada9b8">sftp_readdir</a> (sftp_session session, sftp_dir dir)</td></tr>
<tr class="memdesc:ga976ecf6f7d415856e1fd4a0f16ada9b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a single file attributes structure of a directory.  <a href="#ga976ecf6f7d415856e1fd4a0f16ada9b8">More...</a><br/></td></tr>
<tr class="separator:ga976ecf6f7d415856e1fd4a0f16ada9b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ee06dcf214cb4b67195fa7f5ce5027c"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga1ee06dcf214cb4b67195fa7f5ce5027c">sftp_readlink</a> (sftp_session sftp, const char *path)</td></tr>
<tr class="memdesc:ga1ee06dcf214cb4b67195fa7f5ce5027c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the value of a symbolic link.  <a href="#ga1ee06dcf214cb4b67195fa7f5ce5027c">More...</a><br/></td></tr>
<tr class="separator:ga1ee06dcf214cb4b67195fa7f5ce5027c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1175bc5bde655df5dbd925bc98379aef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga1175bc5bde655df5dbd925bc98379aef">sftp_rename</a> (sftp_session sftp, const char *original, const char *newname)</td></tr>
<tr class="memdesc:ga1175bc5bde655df5dbd925bc98379aef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename or move a file or directory.  <a href="#ga1175bc5bde655df5dbd925bc98379aef">More...</a><br/></td></tr>
<tr class="separator:ga1175bc5bde655df5dbd925bc98379aef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d1ce157cf51b70bad82c23e082d5067"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga8d1ce157cf51b70bad82c23e082d5067">sftp_rewind</a> (sftp_file file)</td></tr>
<tr class="memdesc:ga8d1ce157cf51b70bad82c23e082d5067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rewinds the position of the file pointer to the beginning of the file.  <a href="#ga8d1ce157cf51b70bad82c23e082d5067">More...</a><br/></td></tr>
<tr class="separator:ga8d1ce157cf51b70bad82c23e082d5067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6160ce33fc49d6c38e4a6a66ca0a0b6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gab6160ce33fc49d6c38e4a6a66ca0a0b6">sftp_rmdir</a> (sftp_session sftp, const char *directory)</td></tr>
<tr class="memdesc:gab6160ce33fc49d6c38e4a6a66ca0a0b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a directoy.  <a href="#gab6160ce33fc49d6c38e4a6a66ca0a0b6">More...</a><br/></td></tr>
<tr class="separator:gab6160ce33fc49d6c38e4a6a66ca0a0b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f6d52a8422524349efb4de23609e326"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga0f6d52a8422524349efb4de23609e326">sftp_seek</a> (sftp_file file, uint32_t new_offset)</td></tr>
<tr class="memdesc:ga0f6d52a8422524349efb4de23609e326"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek to a specific location in a file.  <a href="#ga0f6d52a8422524349efb4de23609e326">More...</a><br/></td></tr>
<tr class="separator:ga0f6d52a8422524349efb4de23609e326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4aa156b5cd180015632384d0f3c8a061"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga4aa156b5cd180015632384d0f3c8a061">sftp_seek64</a> (sftp_file file, uint64_t new_offset)</td></tr>
<tr class="memdesc:ga4aa156b5cd180015632384d0f3c8a061"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek to a specific location in a file.  <a href="#ga4aa156b5cd180015632384d0f3c8a061">More...</a><br/></td></tr>
<tr class="separator:ga4aa156b5cd180015632384d0f3c8a061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga139e445d200c325007d852e52ee2fc78"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga139e445d200c325007d852e52ee2fc78">sftp_server_version</a> (sftp_session sftp)</td></tr>
<tr class="memdesc:ga139e445d200c325007d852e52ee2fc78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version of the SFTP protocol supported by the server.  <a href="#ga139e445d200c325007d852e52ee2fc78">More...</a><br/></td></tr>
<tr class="separator:ga139e445d200c325007d852e52ee2fc78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabac0bf3340d76857783c3ccfc8014c89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gabac0bf3340d76857783c3ccfc8014c89">sftp_setstat</a> (sftp_session sftp, const char *file, sftp_attributes attr)</td></tr>
<tr class="memdesc:gabac0bf3340d76857783c3ccfc8014c89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set file attributes on a file, directory or symbolic link.  <a href="#gabac0bf3340d76857783c3ccfc8014c89">More...</a><br/></td></tr>
<tr class="separator:gabac0bf3340d76857783c3ccfc8014c89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad3201367dab4378f71105a0c82ad37d"><td class="memItemLeft" align="right" valign="top">sftp_attributes&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gaad3201367dab4378f71105a0c82ad37d">sftp_stat</a> (sftp_session session, const char *path)</td></tr>
<tr class="memdesc:gaad3201367dab4378f71105a0c82ad37d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about a file or directory.  <a href="#gaad3201367dab4378f71105a0c82ad37d">More...</a><br/></td></tr>
<tr class="separator:gaad3201367dab4378f71105a0c82ad37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8654c581979d66fcf5cf1f1b67226cd2"><td class="memItemLeft" align="right" valign="top">sftp_statvfs_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga8654c581979d66fcf5cf1f1b67226cd2">sftp_statvfs</a> (sftp_session sftp, const char *path)</td></tr>
<tr class="memdesc:ga8654c581979d66fcf5cf1f1b67226cd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about a mounted file system.  <a href="#ga8654c581979d66fcf5cf1f1b67226cd2">More...</a><br/></td></tr>
<tr class="separator:ga8654c581979d66fcf5cf1f1b67226cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae98c62de2f020bb54361a8a16189c398"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gae98c62de2f020bb54361a8a16189c398">sftp_statvfs_free</a> (sftp_statvfs_t statvfs_o)</td></tr>
<tr class="memdesc:gae98c62de2f020bb54361a8a16189c398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the memory of an allocated statvfs.  <a href="#gae98c62de2f020bb54361a8a16189c398">More...</a><br/></td></tr>
<tr class="separator:gae98c62de2f020bb54361a8a16189c398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga010212bcabdccf36a34befe14c04a472"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga010212bcabdccf36a34befe14c04a472">sftp_symlink</a> (sftp_session sftp, const char *target, const char *dest)</td></tr>
<tr class="memdesc:ga010212bcabdccf36a34befe14c04a472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a symbolic link.  <a href="#ga010212bcabdccf36a34befe14c04a472">More...</a><br/></td></tr>
<tr class="separator:ga010212bcabdccf36a34befe14c04a472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50e720c525e05226cb3852440a96c937"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga50e720c525e05226cb3852440a96c937">sftp_tell</a> (sftp_file file)</td></tr>
<tr class="memdesc:ga50e720c525e05226cb3852440a96c937"><td class="mdescLeft">&#160;</td><td class="mdescRight">Report current byte position in file.  <a href="#ga50e720c525e05226cb3852440a96c937">More...</a><br/></td></tr>
<tr class="separator:ga50e720c525e05226cb3852440a96c937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec69c525fcf3b89d6c754043d2513833"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gaec69c525fcf3b89d6c754043d2513833">sftp_tell64</a> (sftp_file file)</td></tr>
<tr class="memdesc:gaec69c525fcf3b89d6c754043d2513833"><td class="mdescLeft">&#160;</td><td class="mdescRight">Report current byte position in file.  <a href="#gaec69c525fcf3b89d6c754043d2513833">More...</a><br/></td></tr>
<tr class="separator:gaec69c525fcf3b89d6c754043d2513833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fc1fa851dc7cde5dd070d5410edf6b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga5fc1fa851dc7cde5dd070d5410edf6b1">sftp_unlink</a> (sftp_session sftp, const char *file)</td></tr>
<tr class="memdesc:ga5fc1fa851dc7cde5dd070d5410edf6b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlink (delete) a file.  <a href="#ga5fc1fa851dc7cde5dd070d5410edf6b1">More...</a><br/></td></tr>
<tr class="separator:ga5fc1fa851dc7cde5dd070d5410edf6b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf06b62c568c89b69cc31b119be2aee7b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gaf06b62c568c89b69cc31b119be2aee7b">sftp_utimes</a> (sftp_session sftp, const char *file, const struct timeval *times)</td></tr>
<tr class="memdesc:gaf06b62c568c89b69cc31b119be2aee7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the last modification and access time of a file.  <a href="#gaf06b62c568c89b69cc31b119be2aee7b">More...</a><br/></td></tr>
<tr class="separator:gaf06b62c568c89b69cc31b119be2aee7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga744054eb0dcfb0feed5ba81ed01ad3c0"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga744054eb0dcfb0feed5ba81ed01ad3c0">sftp_write</a> (sftp_file file, const void *buf, size_t count)</td></tr>
<tr class="memdesc:ga744054eb0dcfb0feed5ba81ed01ad3c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write to a file using an opened sftp file handle.  <a href="#ga744054eb0dcfb0feed5ba81ed01ad3c0">More...</a><br/></td></tr>
<tr class="separator:ga744054eb0dcfb0feed5ba81ed01ad3c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Server responses</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpf396d821d74a4740a9910939cf0b251c"></a>Responses returned by the sftp server. </p>
</td></tr>
<tr class="memitem:ga8db0fdad334ce6e77c7a698947c2f118"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8db0fdad334ce6e77c7a698947c2f118"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga8db0fdad334ce6e77c7a698947c2f118">SSH_FX_OK</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga8db0fdad334ce6e77c7a698947c2f118"><td class="mdescLeft">&#160;</td><td class="mdescRight">No error. <br/></td></tr>
<tr class="separator:ga8db0fdad334ce6e77c7a698947c2f118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e0923585f3a60c782d483863799f01f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9e0923585f3a60c782d483863799f01f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga9e0923585f3a60c782d483863799f01f">SSH_FX_EOF</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga9e0923585f3a60c782d483863799f01f"><td class="mdescLeft">&#160;</td><td class="mdescRight">End-of-file encountered. <br/></td></tr>
<tr class="separator:ga9e0923585f3a60c782d483863799f01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bcfb9bfc410f1493424c4492fea8016"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9bcfb9bfc410f1493424c4492fea8016"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga9bcfb9bfc410f1493424c4492fea8016">SSH_FX_NO_SUCH_FILE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga9bcfb9bfc410f1493424c4492fea8016"><td class="mdescLeft">&#160;</td><td class="mdescRight">File doesn't exist. <br/></td></tr>
<tr class="separator:ga9bcfb9bfc410f1493424c4492fea8016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75c7f502ec17cd22a5777997e0776694"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga75c7f502ec17cd22a5777997e0776694"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga75c7f502ec17cd22a5777997e0776694">SSH_FX_PERMISSION_DENIED</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga75c7f502ec17cd22a5777997e0776694"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permission denied. <br/></td></tr>
<tr class="separator:ga75c7f502ec17cd22a5777997e0776694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad01f42405d742709739ad708277004c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad01f42405d742709739ad708277004c3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gad01f42405d742709739ad708277004c3">SSH_FX_FAILURE</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gad01f42405d742709739ad708277004c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic failure. <br/></td></tr>
<tr class="separator:gad01f42405d742709739ad708277004c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12cb3bf50e715473c2ca5ccb69965cf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga12cb3bf50e715473c2ca5ccb69965cf3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga12cb3bf50e715473c2ca5ccb69965cf3">SSH_FX_BAD_MESSAGE</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ga12cb3bf50e715473c2ca5ccb69965cf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Garbage received from server. <br/></td></tr>
<tr class="separator:ga12cb3bf50e715473c2ca5ccb69965cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3da0fc47440139efceb8a9220e31875c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3da0fc47440139efceb8a9220e31875c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga3da0fc47440139efceb8a9220e31875c">SSH_FX_NO_CONNECTION</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:ga3da0fc47440139efceb8a9220e31875c"><td class="mdescLeft">&#160;</td><td class="mdescRight">No connection has been set up. <br/></td></tr>
<tr class="separator:ga3da0fc47440139efceb8a9220e31875c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga721ad225dfe6638384e388c5fe1cb42b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga721ad225dfe6638384e388c5fe1cb42b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga721ad225dfe6638384e388c5fe1cb42b">SSH_FX_CONNECTION_LOST</a>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:ga721ad225dfe6638384e388c5fe1cb42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">There was a connection, but we lost it. <br/></td></tr>
<tr class="separator:ga721ad225dfe6638384e388c5fe1cb42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga383f2d50fd2cae076c270f84ffe6c044"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga383f2d50fd2cae076c270f84ffe6c044"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga383f2d50fd2cae076c270f84ffe6c044">SSH_FX_OP_UNSUPPORTED</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ga383f2d50fd2cae076c270f84ffe6c044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation not supported by the server. <br/></td></tr>
<tr class="separator:ga383f2d50fd2cae076c270f84ffe6c044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb2010df724d8c8d0b5414a63b7ac859"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadb2010df724d8c8d0b5414a63b7ac859"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gadb2010df724d8c8d0b5414a63b7ac859">SSH_FX_INVALID_HANDLE</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:gadb2010df724d8c8d0b5414a63b7ac859"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid file handle. <br/></td></tr>
<tr class="separator:gadb2010df724d8c8d0b5414a63b7ac859"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga473dd6f7267ff262441e8a2aab3c33c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga473dd6f7267ff262441e8a2aab3c33c8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga473dd6f7267ff262441e8a2aab3c33c8">SSH_FX_NO_SUCH_PATH</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:ga473dd6f7267ff262441e8a2aab3c33c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">No such file or directory path exists. <br/></td></tr>
<tr class="separator:ga473dd6f7267ff262441e8a2aab3c33c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabae8a18fd96320cc78ea052eb269ed38"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabae8a18fd96320cc78ea052eb269ed38"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#gabae8a18fd96320cc78ea052eb269ed38">SSH_FX_FILE_ALREADY_EXISTS</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:gabae8a18fd96320cc78ea052eb269ed38"><td class="mdescLeft">&#160;</td><td class="mdescRight">An attempt to create an already existing file or directory has been made. <br/></td></tr>
<tr class="separator:gabae8a18fd96320cc78ea052eb269ed38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e734958d6410066f1b1adf503ce52d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0e734958d6410066f1b1adf503ce52d8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga0e734958d6410066f1b1adf503ce52d8">SSH_FX_WRITE_PROTECT</a>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:ga0e734958d6410066f1b1adf503ce52d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">We are trying to write on a write-protected filesystem. <br/></td></tr>
<tr class="separator:ga0e734958d6410066f1b1adf503ce52d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e7ba323d3bd55c416d9b4529f8e8d82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8e7ba323d3bd55c416d9b4529f8e8d82"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__sftp.html#ga8e7ba323d3bd55c416d9b4529f8e8d82">SSH_FX_NO_MEDIA</a>&#160;&#160;&#160;13</td></tr>
<tr class="memdesc:ga8e7ba323d3bd55c416d9b4529f8e8d82"><td class="mdescLeft">&#160;</td><td class="mdescRight">No media in remote drive. <br/></td></tr>
<tr class="separator:ga8e7ba323d3bd55c416d9b4529f8e8d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga4399c7ccd8b39a460265047f9d7bc9b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_async_read </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wait for an asynchronous read to complete and save the data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The opened sftp file handle to be read from.</td></tr>
    <tr><td class="paramname">data</td><td>Pointer to buffer to recieve read data.</td></tr>
    <tr><td class="paramname">len</td><td>Size of the buffer in bytes. It should be bigger or equal to the length parameter of the <a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd" title="Start an asynchronous read from a file using an opened sftp file handle.">sftp_async_read_begin()</a> call.</td></tr>
    <tr><td class="paramname">id</td><td>The identifier returned by the <a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd" title="Start an asynchronous read from a file using an opened sftp file handle.">sftp_async_read_begin()</a> function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes read, 0 on EOF, SSH_ERROR if an error occured, SSH_AGAIN if the file is opened in nonblocking mode and the request hasn't been executed yet.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>A call to this function with an invalid identifier will never return.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd" title="Start an asynchronous read from a file using an opened sftp file handle.">sftp_async_read_begin()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4c2cca19b38c54d4b04bb3584b0517cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_async_read_begin </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start an asynchronous read from a file using an opened sftp file handle. </p>
<p>Its goal is to avoid the slowdowns related to the request/response pattern of a synchronous read. To do so, you must call 2 functions:</p>
<p><a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd" title="Start an asynchronous read from a file using an opened sftp file handle.">sftp_async_read_begin()</a> and <a class="el" href="group__libssh__sftp.html#ga4399c7ccd8b39a460265047f9d7bc9b1" title="Wait for an asynchronous read to complete and save the data.">sftp_async_read()</a>.</p>
<p>The first step is to call <a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd" title="Start an asynchronous read from a file using an opened sftp file handle.">sftp_async_read_begin()</a>. This function returns a request identifier. The second step is to call <a class="el" href="group__libssh__sftp.html#ga4399c7ccd8b39a460265047f9d7bc9b1" title="Wait for an asynchronous read to complete and save the data.">sftp_async_read()</a> using the returned identifier.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The opened sftp file handle to be read from.</td></tr>
    <tr><td class="paramname">len</td><td>Size to read in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An identifier corresponding to the sent request, &lt; 0 on error.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>When calling this function, the internal offset is updated corresponding to the len parameter.</dd>
<dd>
A call to <a class="el" href="group__libssh__sftp.html#ga4c2cca19b38c54d4b04bb3584b0517cd" title="Start an asynchronous read from a file using an opened sftp file handle.">sftp_async_read_begin()</a> sends a request to the server. When the server answers, libssh allocates memory to store it until <a class="el" href="group__libssh__sftp.html#ga4399c7ccd8b39a460265047f9d7bc9b1" title="Wait for an asynchronous read to complete and save the data.">sftp_async_read()</a> is called. Not calling <a class="el" href="group__libssh__sftp.html#ga4399c7ccd8b39a460265047f9d7bc9b1" title="Wait for an asynchronous read to complete and save the data.">sftp_async_read()</a> will lead to memory leaks.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#ga4399c7ccd8b39a460265047f9d7bc9b1" title="Wait for an asynchronous read to complete and save the data.">sftp_async_read()</a> </dd>
<dd>
<a class="el" href="group__libssh__sftp.html#gab95cb5fe091efcc49dfa7729e4d48010" title="Open a file on the server.">sftp_open()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gadee9f7af9fc1ad3a0a66c7d97bf7977c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sftp_attributes_free </td>
          <td>(</td>
          <td class="paramtype">sftp_attributes&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free a sftp attribute structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The sftp attribute structure to free. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga69b4d6f723565e3fcac2b37159262af5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* sftp_canonicalize_path </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Canonicalize a sftp path. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">path</td><td>The path to be canonicalized.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The canonicalize path, NULL on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga311a4bc202d406c916c8b9ad5fe79ac7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_chmod </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change permissions of a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">file</td><td>The file which owner and group should be changed.</td></tr>
    <tr><td class="paramname">mode</td><td>Specifies the permissions to use. It is modified by the process's umask in the usual way: The permissions of the created file are (mode &amp; ~umask)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga18abafba9db590408ee2301a27698f2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_chown </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uid_t&#160;</td>
          <td class="paramname"><em>owner</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gid_t&#160;</td>
          <td class="paramname"><em>group</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change the file owner and group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">file</td><td>The file which owner and group should be changed.</td></tr>
    <tr><td class="paramname">owner</td><td>The new owner which should be set.</td></tr>
    <tr><td class="paramname">group</td><td>The new group which should be set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5878919249d4e8abe59b0ec699eed293"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_close </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close an open file handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The open sftp file handle to close.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns SSH_NO_ERROR or SSH_ERROR if an error occured.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#gab95cb5fe091efcc49dfa7729e4d48010" title="Open a file on the server.">sftp_open()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga35551e5b28b192ef8035628d347f7d3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_closedir </td>
          <td>(</td>
          <td class="paramtype">sftp_dir&#160;</td>
          <td class="paramname"><em>dir</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close a directory handle opened by <a class="el" href="group__libssh__sftp.html#gab4290874bdb55796b2823496e0d9b7ec" title="Open a directory used to obtain directory entries.">sftp_opendir()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dir</td><td>The sftp directory handle to close.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns SSH_NO_ERROR or SSH_ERROR if an error occured. </dd></dl>

</div>
</div>
<a class="anchor" id="gad60f8e71b06eb8fdae2b262bb58f8fec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_dir_eof </td>
          <td>(</td>
          <td class="paramtype">sftp_dir&#160;</td>
          <td class="paramname"><em>dir</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tell if the directory has reached EOF (End Of File). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dir</td><td>The sftp directory handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if the directory is EOF, 0 if not.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#ga976ecf6f7d415856e1fd4a0f16ada9b8" title="Get a single file attributes structure of a directory.">sftp_readdir()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga190d0bb19ed8e571ab884d28ee82adfe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_extension_supported </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</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 char *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if the given extension is supported. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session to use.</td></tr>
    <tr><td class="paramname">name</td><td>The name of the extension.</td></tr>
    <tr><td class="paramname">data</td><td>The data of the extension.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if supported, 0 if not.</dd></dl>
<p>Example:</p>
<div class="fragment"><div class="line"><a class="code" href="group__libssh__sftp.html#ga190d0bb19ed8e571ab884d28ee82adfe" title="Check if the given extension is supported.">sftp_extension_supported</a>(sftp, <span class="stringliteral">&quot;statvfs@openssh.com&quot;</span>, <span class="stringliteral">&quot;2&quot;</span>);</div>
</div><!-- fragment --> 
</div>
</div>
<a class="anchor" id="ga300723724353ccc490b9c0c55bbee668"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int sftp_extensions_get_count </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the count of extensions provided by the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The count of extensions provided by the server, 0 on error or not available. </dd></dl>

</div>
</div>
<a class="anchor" id="gad7391f28160aaa883429a3b0aa87e339"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* sftp_extensions_get_data </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>indexn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the data of the extension provided by the server. </p>
<p>This is normally the version number of the extension.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session to use.</td></tr>
    <tr><td class="paramname">indexn</td><td>The index number of the extension data you want.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The data of the extension. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8bcf9a99f395c86c5f99b9a8009e9533"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* sftp_extensions_get_name </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>indexn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the name of the extension provided by the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session to use.</td></tr>
    <tr><td class="paramname">indexn</td><td>The index number of the extension name you want.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The name of the extension. </dd></dl>

</div>
</div>
<a class="anchor" id="ga155c66639cb3342c7e02a96c8dbf7501"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sftp_free </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close and deallocate a sftp session. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle to free. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad9cc3609096b1fffa99f59c852415668"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_attributes sftp_fstat </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get information about a file or directory from a file handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The sftp file handle to get the stat information.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sftp attributes structure of the file or directory, NULL on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga6f14490f71825904232dc418b7843b9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_statvfs_t sftp_fstatvfs </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get information about a mounted file system. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>An opened file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A statvfs structure or NULL on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1f7fca4091a0075d9e69e47c928f7494"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_get_error </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the last sftp error. </p>
<p>Use this function to get the latest error set by a posix like sftp function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session where the error is saved.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The saved error (see server responses), &lt; 0 if an error in the function occured. </dd></dl>

</div>
</div>
<a class="anchor" id="ga6eb5a92e33493ec3d9a3576e1617da0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_init </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize the sftp session with the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session to initialize.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7e4a3cd284ad72a1c5092c4cef72dfca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_attributes sftp_lstat </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get information about a file or directory. </p>
<p>Identical to sftp_stat, but if the file or directory is a symbolic link, then the link itself is stated, not the file that it refers to.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>The sftp session handle. </td></tr>
    <tr><td class="paramname">path</td><td>The path to the file or directory to obtain the information.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sftp attributes structure of the file or directory, NULL on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9cc63cd3efe83edfa3f6a4c5314383cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_mkdir </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>directory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">directory</td><td>The directory to create.</td></tr>
    <tr><td class="paramname">mode</td><td>Specifies the permissions to use. It is modified by the process's umask in the usual way: The permissions of the created file are (mode &amp; ~umask)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga32c8e182e97352e1aa8a20443c320d7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_session sftp_new </td>
          <td>(</td>
          <td class="paramtype">ssh_session&#160;</td>
          <td class="paramname"><em>session</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start a new sftp session. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>The ssh session to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new sftp session or NULL on error. </dd></dl>

</div>
</div>
<a class="anchor" id="gab95cb5fe091efcc49dfa7729e4d48010"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_file sftp_open </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>accesstype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mode_t&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Open a file on the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">file</td><td>The file to be opened.</td></tr>
    <tr><td class="paramname">accesstype</td><td>Is one of O_RDONLY, O_WRONLY or O_RDWR which request opening the file read-only,write-only or read/write. Acesss may also be bitwise-or'd with one or more of the following: O_CREAT - If the file does not exist it will be created. O_EXCL - When used with O_CREAT, if the file already exists it is an error and the open will fail. O_TRUNC - If the file already exists it will be truncated.</td></tr>
    <tr><td class="paramname">mode</td><td>Mode specifies the permissions to use if a new file is created. It is modified by the process's umask in the usual way: The permissions of the created file are (mode &amp; ~umask)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A sftp file handle, NULL on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="gab4290874bdb55796b2823496e0d9b7ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_dir sftp_opendir </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Open a directory used to obtain directory entries. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>The sftp session handle to open the directory. </td></tr>
    <tr><td class="paramname">path</td><td>The path of the directory to open.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A sftp directory handle or NULL on error with ssh and sftp error set.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#ga976ecf6f7d415856e1fd4a0f16ada9b8" title="Get a single file attributes structure of a directory.">sftp_readdir</a> </dd>
<dd>
<a class="el" href="group__libssh__sftp.html#ga35551e5b28b192ef8035628d347f7d3e" title="Close a directory handle opened by sftp_opendir().">sftp_closedir</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6c2bfeb2e089f54c04afe1e484a7fff2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t sftp_read </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read from a file using an opened sftp file handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>The opened sftp file handle to be read from.</td></tr>
    <tr><td class="paramname">buf</td><td>Pointer to buffer to recieve read data.</td></tr>
    <tr><td class="paramname">count</td><td>Size of the buffer in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes written, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga976ecf6f7d415856e1fd4a0f16ada9b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_attributes sftp_readdir </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sftp_dir&#160;</td>
          <td class="paramname"><em>dir</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a single file attributes structure of a directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>The sftp session handle to read the directory entry. </td></tr>
    <tr><td class="paramname">dir</td><td>The opened sftp directory handle to read from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A file attribute structure or NULL at the end of the directory.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#gab4290874bdb55796b2823496e0d9b7ec" title="Open a directory used to obtain directory entries.">sftp_opendir()</a> </dd>
<dd>
sftp_attribute_free() </dd>
<dd>
<a class="el" href="group__libssh__sftp.html#ga35551e5b28b192ef8035628d347f7d3e" title="Close a directory handle opened by sftp_opendir().">sftp_closedir()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga1ee06dcf214cb4b67195fa7f5ce5027c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* sftp_readlink </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read the value of a symbolic link. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">path</td><td>Specifies the path name of the symlink to be read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The target of the link, NULL on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1175bc5bde655df5dbd925bc98379aef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_rename </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>original</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>newname</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rename or move a file or directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">original</td><td>The original url (source url) of file or directory to be moved.</td></tr>
    <tr><td class="paramname">newname</td><td>The new url (destination url) of the file or directory after the move.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8d1ce157cf51b70bad82c23e082d5067"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sftp_rewind </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rewinds the position of the file pointer to the beginning of the file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Open sftp file handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab6160ce33fc49d6c38e4a6a66ca0a0b6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_rmdir </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>directory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a directoy. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">directory</td><td>The directory to remove.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0f6d52a8422524349efb4de23609e326"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_seek </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>new_offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seek to a specific location in a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Open sftp file handle to seek in.</td></tr>
    <tr><td class="paramname">new_offset</td><td>Offset in bytes to seek.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga4aa156b5cd180015632384d0f3c8a061"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_seek64 </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>new_offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seek to a specific location in a file. </p>
<p>This is the 64bit version.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Open sftp file handle to seek in.</td></tr>
    <tr><td class="paramname">new_offset</td><td>Offset in bytes to seek.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga139e445d200c325007d852e52ee2fc78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_server_version </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the version of the SFTP protocol supported by the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The server version. </dd></dl>

</div>
</div>
<a class="anchor" id="gabac0bf3340d76857783c3ccfc8014c89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_setstat </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sftp_attributes&#160;</td>
          <td class="paramname"><em>attr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set file attributes on a file, directory or symbolic link. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">file</td><td>The file which attributes should be changed.</td></tr>
    <tr><td class="paramname">attr</td><td>The file attributes structure with the attributes set which should be changed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="gaad3201367dab4378f71105a0c82ad37d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_attributes sftp_stat </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get information about a file or directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>The sftp session handle. </td></tr>
    <tr><td class="paramname">path</td><td>The path to the file or directory to obtain the information.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sftp attributes structure of the file or directory, NULL on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8654c581979d66fcf5cf1f1b67226cd2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sftp_statvfs_t sftp_statvfs </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get information about a mounted file system. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">path</td><td>The pathname of any file within the mounted file system.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A statvfs structure or NULL on error. </dd></dl>

</div>
</div>
<a class="anchor" id="gae98c62de2f020bb54361a8a16189c398"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sftp_statvfs_free </td>
          <td>(</td>
          <td class="paramtype">sftp_statvfs_t&#160;</td>
          <td class="paramname"><em>statvfs_o</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free the memory of an allocated statvfs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">statvfs_o</td><td>The statvfs to free. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga010212bcabdccf36a34befe14c04a472"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_symlink </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dest</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>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">target</td><td>Specifies the target of the symlink.</td></tr>
    <tr><td class="paramname">dest</td><td>Specifies the path name of the symlink to be created.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga50e720c525e05226cb3852440a96c937"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long sftp_tell </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Report current byte position in file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Open sftp file handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The offset of the current byte relative to the beginning of the file associated with the file descriptor. &lt; 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="gaec69c525fcf3b89d6c754043d2513833"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t sftp_tell64 </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Report current byte position in file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Open sftp file handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The offset of the current byte relative to the beginning of the file associated with the file descriptor. &lt; 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5fc1fa851dc7cde5dd070d5410edf6b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_unlink </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unlink (delete) a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">file</td><td>The file to unlink/delete.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf06b62c568c89b69cc31b119be2aee7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sftp_utimes </td>
          <td>(</td>
          <td class="paramtype">sftp_session&#160;</td>
          <td class="paramname"><em>sftp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const struct timeval *&#160;</td>
          <td class="paramname"><em>times</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change the last modification and access time of a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sftp</td><td>The sftp session handle.</td></tr>
    <tr><td class="paramname">file</td><td>The file which owner and group should be changed.</td></tr>
    <tr><td class="paramname">times</td><td>A timeval structure which contains the desired access and modification time.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, &lt; 0 on error with ssh and sftp error set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga744054eb0dcfb0feed5ba81ed01ad3c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t sftp_write </td>
          <td>(</td>
          <td class="paramtype">sftp_file&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write to a file using an opened sftp file handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Open sftp file handle to write to.</td></tr>
    <tr><td class="paramname">buf</td><td>Pointer to buffer to write data.</td></tr>
    <tr><td class="paramname">count</td><td>Size of buffer in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes written, &lt; 0 on error with ssh and sftp error set.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__libssh__sftp.html#gab95cb5fe091efcc49dfa7729e4d48010" title="Open a file on the server.">sftp_open()</a> </dd>
<dd>
<a class="el" href="group__libssh__sftp.html#ga6c2bfeb2e089f54c04afe1e484a7fff2" title="Read from a file using an opened sftp file handle.">sftp_read()</a> </dd>
<dd>
<a class="el" href="group__libssh__sftp.html#ga5878919249d4e8abe59b0ec699eed293" title="Close an open file handle.">sftp_close()</a> </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.3.1
</small></address>
</body>
</html>