PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /usr/local/ssl/share/doc/libssh-devel/html/
Server: Linux server2.noticiasdecolima.com 4.18.0-553.30.1.el8_10.x86_64 #1 SMP Tue Nov 26 02:30:26 EST 2024 x86_64
IP: 107.161.180.42
Choose File :

Url:
Dir : //usr/local/ssl/share/doc/libssh-devel/html/group__libssh__scp.html

<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libssh: The SSH scp functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<script src="striped_bg.js"></script>
<link href="that_style.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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libssh
   &#160;<span id="projectnumber">0.9.6</span>
   </div>
   <div id="projectbrief">The SSH library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">The SSH scp functions<div class="ingroups"><a class="el" href="group__libssh.html">The libssh API</a></div></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:ga9fcd39a2bb6438e39cf19ff859dc2f2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga9fcd39a2bb6438e39cf19ff859dc2f2e">ssh_scp_new</a> (<a class="el" href="structssh__session__struct.html">ssh_session</a> session, int mode, const char *location)</td></tr>
<tr class="memdesc:ga9fcd39a2bb6438e39cf19ff859dc2f2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new scp session.  <a href="#ga9fcd39a2bb6438e39cf19ff859dc2f2e">More...</a><br /></td></tr>
<tr class="separator:ga9fcd39a2bb6438e39cf19ff859dc2f2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1db56dcb9dee01dd0b679b3b11151110"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga1db56dcb9dee01dd0b679b3b11151110">ssh_scp_init</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:ga1db56dcb9dee01dd0b679b3b11151110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the scp channel.  <a href="#ga1db56dcb9dee01dd0b679b3b11151110">More...</a><br /></td></tr>
<tr class="separator:ga1db56dcb9dee01dd0b679b3b11151110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14d31059dcf6fb2325fb960da8e4474e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga14d31059dcf6fb2325fb960da8e4474e">ssh_scp_close</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:ga14d31059dcf6fb2325fb960da8e4474e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the scp channel.  <a href="#ga14d31059dcf6fb2325fb960da8e4474e">More...</a><br /></td></tr>
<tr class="separator:ga14d31059dcf6fb2325fb960da8e4474e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac29000cdb07c74d54251fbd838c0c661"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gac29000cdb07c74d54251fbd838c0c661">ssh_scp_free</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:gac29000cdb07c74d54251fbd838c0c661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a scp context.  <a href="#gac29000cdb07c74d54251fbd838c0c661">More...</a><br /></td></tr>
<tr class="separator:gac29000cdb07c74d54251fbd838c0c661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa584f03d4e3d582ac10a3a19818ec56d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gaa584f03d4e3d582ac10a3a19818ec56d">ssh_scp_push_directory</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, const char *dirname, int mode)</td></tr>
<tr class="memdesc:gaa584f03d4e3d582ac10a3a19818ec56d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a directory in a scp in sink mode.  <a href="#gaa584f03d4e3d582ac10a3a19818ec56d">More...</a><br /></td></tr>
<tr class="separator:gaa584f03d4e3d582ac10a3a19818ec56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ca698c1e49612c083d9f8a72df52188"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga2ca698c1e49612c083d9f8a72df52188">ssh_scp_leave_directory</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:ga2ca698c1e49612c083d9f8a72df52188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Leave a directory.  <a href="#ga2ca698c1e49612c083d9f8a72df52188">More...</a><br /></td></tr>
<tr class="separator:ga2ca698c1e49612c083d9f8a72df52188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50b701b9c8923011d4fc6489c9c7eaae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga50b701b9c8923011d4fc6489c9c7eaae">ssh_scp_push_file64</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, const char *filename, uint64_t size, int mode)</td></tr>
<tr class="memdesc:ga50b701b9c8923011d4fc6489c9c7eaae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the sending of a file to a scp in sink mode, using a 64-bit size.  <a href="#ga50b701b9c8923011d4fc6489c9c7eaae">More...</a><br /></td></tr>
<tr class="separator:ga50b701b9c8923011d4fc6489c9c7eaae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga544f4b9c525071910110ada94148adc6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga544f4b9c525071910110ada94148adc6">ssh_scp_push_file</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, const char *filename, size_t size, int mode)</td></tr>
<tr class="memdesc:ga544f4b9c525071910110ada94148adc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the sending of a file to a scp in sink mode.  <a href="#ga544f4b9c525071910110ada94148adc6">More...</a><br /></td></tr>
<tr class="separator:ga544f4b9c525071910110ada94148adc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab713864881af7ebda7e1e9c609fdf604"><td class="memItemLeft" align="right" valign="top"><a id="gab713864881af7ebda7e1e9c609fdf604"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>ssh_scp_response</b> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, char **response)</td></tr>
<tr class="separator:gab713864881af7ebda7e1e9c609fdf604"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11f48e2cf62bcec20d9232ed3ca41752"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga11f48e2cf62bcec20d9232ed3ca41752">ssh_scp_write</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, const void *buffer, size_t len)</td></tr>
<tr class="memdesc:ga11f48e2cf62bcec20d9232ed3ca41752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write into a remote scp file.  <a href="#ga11f48e2cf62bcec20d9232ed3ca41752">More...</a><br /></td></tr>
<tr class="separator:ga11f48e2cf62bcec20d9232ed3ca41752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0be44d8a450767d92668d36d1beb43b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga0be44d8a450767d92668d36d1beb43b9">ssh_scp_read_string</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, char *buffer, size_t len)</td></tr>
<tr class="memdesc:ga0be44d8a450767d92668d36d1beb43b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a string on a channel, terminated by '<br />
'.  <a href="#ga0be44d8a450767d92668d36d1beb43b9">More...</a><br /></td></tr>
<tr class="separator:ga0be44d8a450767d92668d36d1beb43b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba59cd8cc77d219cac93f865445c6e47"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gaba59cd8cc77d219cac93f865445c6e47">ssh_scp_pull_request</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:gaba59cd8cc77d219cac93f865445c6e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a scp request (file, directory).  <a href="#gaba59cd8cc77d219cac93f865445c6e47">More...</a><br /></td></tr>
<tr class="separator:gaba59cd8cc77d219cac93f865445c6e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad36438c6b1e235d96cec43ca350e9b4f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gad36438c6b1e235d96cec43ca350e9b4f">ssh_scp_deny_request</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, const char *reason)</td></tr>
<tr class="memdesc:gad36438c6b1e235d96cec43ca350e9b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deny the transfer of a file or creation of a directory coming from the remote party.  <a href="#gad36438c6b1e235d96cec43ca350e9b4f">More...</a><br /></td></tr>
<tr class="separator:gad36438c6b1e235d96cec43ca350e9b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3bb38b15f02597cc1e155c526a51e51"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gad3bb38b15f02597cc1e155c526a51e51">ssh_scp_accept_request</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:gad3bb38b15f02597cc1e155c526a51e51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts transfer of a file or creation of a directory coming from the remote party.  <a href="#gad3bb38b15f02597cc1e155c526a51e51">More...</a><br /></td></tr>
<tr class="separator:gad3bb38b15f02597cc1e155c526a51e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10bf627407959b51a7c39b37e8d46460"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga10bf627407959b51a7c39b37e8d46460">ssh_scp_read</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp, void *buffer, size_t size)</td></tr>
<tr class="memdesc:ga10bf627407959b51a7c39b37e8d46460"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from a remote scp file.  <a href="#ga10bf627407959b51a7c39b37e8d46460">More...</a><br /></td></tr>
<tr class="separator:ga10bf627407959b51a7c39b37e8d46460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab41ede14208dea4bbd3600077008ccf3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gab41ede14208dea4bbd3600077008ccf3">ssh_scp_request_get_filename</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:gab41ede14208dea4bbd3600077008ccf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the directory or file being pushed from the other party.  <a href="#gab41ede14208dea4bbd3600077008ccf3">More...</a><br /></td></tr>
<tr class="separator:gab41ede14208dea4bbd3600077008ccf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3386eb6df0cc620e74a039974c6280d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga3386eb6df0cc620e74a039974c6280d4">ssh_scp_request_get_permissions</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:ga3386eb6df0cc620e74a039974c6280d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the permissions of the directory or file being pushed from the other party.  <a href="#ga3386eb6df0cc620e74a039974c6280d4">More...</a><br /></td></tr>
<tr class="separator:ga3386eb6df0cc620e74a039974c6280d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b6f736a5b5af73cf59c7825d7e61966"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga8b6f736a5b5af73cf59c7825d7e61966">ssh_scp_request_get_size</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:ga8b6f736a5b5af73cf59c7825d7e61966"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the file being pushed from the other party.  <a href="#ga8b6f736a5b5af73cf59c7825d7e61966">More...</a><br /></td></tr>
<tr class="separator:ga8b6f736a5b5af73cf59c7825d7e61966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefe7f44417e1dc0d857d634fe1117d6d"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gaefe7f44417e1dc0d857d634fe1117d6d">ssh_scp_request_get_size64</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:gaefe7f44417e1dc0d857d634fe1117d6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the file being pushed from the other party.  <a href="#gaefe7f44417e1dc0d857d634fe1117d6d">More...</a><br /></td></tr>
<tr class="separator:gaefe7f44417e1dc0d857d634fe1117d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7d6e452c6963199477103394456d3ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gab7d6e452c6963199477103394456d3ae">ssh_scp_integer_mode</a> (const char *mode)</td></tr>
<tr class="memdesc:gab7d6e452c6963199477103394456d3ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a scp text mode to an integer.  <a href="#gab7d6e452c6963199477103394456d3ae">More...</a><br /></td></tr>
<tr class="separator:gab7d6e452c6963199477103394456d3ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8772a6523a2a21a06e3986dbcc02118f"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#ga8772a6523a2a21a06e3986dbcc02118f">ssh_scp_string_mode</a> (int mode)</td></tr>
<tr class="memdesc:ga8772a6523a2a21a06e3986dbcc02118f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a unix mode into a scp string.  <a href="#ga8772a6523a2a21a06e3986dbcc02118f">More...</a><br /></td></tr>
<tr class="separator:ga8772a6523a2a21a06e3986dbcc02118f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa91c1569e4d22d58a928b232264bbcb"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libssh__scp.html#gafa91c1569e4d22d58a928b232264bbcb">ssh_scp_request_get_warning</a> (<a class="el" href="structssh__scp__struct.html">ssh_scp</a> scp)</td></tr>
<tr class="memdesc:gafa91c1569e4d22d58a928b232264bbcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the warning string from a scp handle.  <a href="#gafa91c1569e4d22d58a928b232264bbcb">More...</a><br /></td></tr>
<tr class="separator:gafa91c1569e4d22d58a928b232264bbcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>SCP protocol over SSH functions </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="gad3bb38b15f02597cc1e155c526a51e51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3bb38b15f02597cc1e155c526a51e51">&#9670;&nbsp;</a></span>ssh_scp_accept_request()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_accept_request </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Accepts transfer of a file or creation of a directory coming from the remote party. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the message was sent, SSH_ERROR if sending the message failed, or sending it in a bad state. </dd></dl>

</div>
</div>
<a id="ga14d31059dcf6fb2325fb960da8e4474e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga14d31059dcf6fb2325fb960da8e4474e">&#9670;&nbsp;</a></span>ssh_scp_close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close the scp channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp context to close.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK on success or an SSH error code.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#ga1db56dcb9dee01dd0b679b3b11151110" title="Initialize the scp channel. ">ssh_scp_init()</a> </dd></dl>

</div>
</div>
<a id="gad36438c6b1e235d96cec43ca350e9b4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad36438c6b1e235d96cec43ca350e9b4f">&#9670;&nbsp;</a></span>ssh_scp_deny_request()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_deny_request </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>reason</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deny the transfer of a file or creation of a directory coming from the remote party. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>A nul-terminated string with a human-readable explanation of the deny.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the message was sent, SSH_ERROR if the sending the message failed, or sending it in a bad state. </dd></dl>

</div>
</div>
<a id="gac29000cdb07c74d54251fbd838c0c661"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac29000cdb07c74d54251fbd838c0c661">&#9670;&nbsp;</a></span>ssh_scp_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssh_scp_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free a scp context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The context to free.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#ga9fcd39a2bb6438e39cf19ff859dc2f2e" title="Create a new scp session. ">ssh_scp_new()</a> </dd></dl>

</div>
</div>
<a id="ga1db56dcb9dee01dd0b679b3b11151110"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1db56dcb9dee01dd0b679b3b11151110">&#9670;&nbsp;</a></span>ssh_scp_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize the scp channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp context to initialize.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK on success or an SSH error code.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#ga9fcd39a2bb6438e39cf19ff859dc2f2e" title="Create a new scp session. ">ssh_scp_new()</a> </dd></dl>

</div>
</div>
<a id="gab7d6e452c6963199477103394456d3ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab7d6e452c6963199477103394456d3ae">&#9670;&nbsp;</a></span>ssh_scp_integer_mode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_integer_mode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert a scp text mode to an integer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>The mode to convert, e.g. "0644".</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An integer value, e.g. 420 for "0644". </dd></dl>

</div>
</div>
<a id="ga2ca698c1e49612c083d9f8a72df52188"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2ca698c1e49612c083d9f8a72df52188">&#9670;&nbsp;</a></span>ssh_scp_leave_directory()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_leave_directory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Leave a directory. </p>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the directory has been left, SSH_ERROR if an error occured.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#gaa584f03d4e3d582ac10a3a19818ec56d" title="Create a directory in a scp in sink mode. ">ssh_scp_push_directory()</a> </dd></dl>

</div>
</div>
<a id="ga9fcd39a2bb6438e39cf19ff859dc2f2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9fcd39a2bb6438e39cf19ff859dc2f2e">&#9670;&nbsp;</a></span>ssh_scp_new()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structssh__scp__struct.html">ssh_scp</a> ssh_scp_new </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__session__struct.html">ssh_session</a>&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>location</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new scp session. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>The SSH session to use.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>One of SSH_SCP_WRITE or SSH_SCP_READ, depending if you need to drop files remotely or read them. It is not possible to combine read and write. SSH_SCP_RECURSIVE Flag can be or'ed to this to indicate that you're going to use recursion. Browsing through directories is not possible without this.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">location</td><td>The directory in which write or read will be done. Any push or pull will be relative to this place. This can also be a pattern of files to download (read).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A ssh_scp handle, NULL if the creation was impossible. </dd></dl>

</div>
</div>
<a id="gaba59cd8cc77d219cac93f865445c6e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba59cd8cc77d219cac93f865445c6e47">&#9670;&nbsp;</a></span>ssh_scp_pull_request()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_pull_request </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wait for a scp request (file, directory). </p>
<dl class="section return"><dt>Returns</dt><dd>SSH_SCP_REQUEST_NEWFILE: The other side is sending a file SSH_SCP_REQUEST_NEWDIR: The other side is sending a directory SSH_SCP_REQUEST_ENDDIR: The other side has finished with the current directory SSH_SCP_REQUEST_WARNING: The other side sent us a warning SSH_SCP_REQUEST_EOF: The other side finished sending us files and data. SSH_ERROR: Some error happened</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#ga10bf627407959b51a7c39b37e8d46460" title="Read from a remote scp file. ">ssh_scp_read()</a> </dd>
<dd>
<a class="el" href="group__libssh__scp.html#gad36438c6b1e235d96cec43ca350e9b4f" title="Deny the transfer of a file or creation of a directory coming from the remote party. ">ssh_scp_deny_request()</a> </dd>
<dd>
<a class="el" href="group__libssh__scp.html#gad3bb38b15f02597cc1e155c526a51e51" title="Accepts transfer of a file or creation of a directory coming from the remote party. ">ssh_scp_accept_request()</a> </dd>
<dd>
<a class="el" href="group__libssh__scp.html#gafa91c1569e4d22d58a928b232264bbcb" title="Get the warning string from a scp handle. ">ssh_scp_request_get_warning()</a> </dd></dl>

</div>
</div>
<a id="gaa584f03d4e3d582ac10a3a19818ec56d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa584f03d4e3d582ac10a3a19818ec56d">&#9670;&nbsp;</a></span>ssh_scp_push_directory()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_push_directory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dirname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#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 in a scp in sink mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dirname</td><td>The name of the directory being created.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>The UNIX permissions for the new directory, e.g. 0755.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the directory has been created, SSH_ERROR if an error occured.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#ga2ca698c1e49612c083d9f8a72df52188" title="Leave a directory. ">ssh_scp_leave_directory()</a> </dd></dl>

</div>
</div>
<a id="ga544f4b9c525071910110ada94148adc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga544f4b9c525071910110ada94148adc6">&#9670;&nbsp;</a></span>ssh_scp_push_file()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_push_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</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">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>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize the sending of a file to a scp in sink mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the file being sent. It should not contain any path indicator</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Exact size in bytes of the file being sent.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>The UNIX permissions for the new file, e.g. 0644.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the file is ready to be sent, SSH_ERROR if an error occured. </dd></dl>

</div>
</div>
<a id="ga50b701b9c8923011d4fc6489c9c7eaae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga50b701b9c8923011d4fc6489c9c7eaae">&#9670;&nbsp;</a></span>ssh_scp_push_file64()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_push_file64 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</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">uint64_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>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize the sending of a file to a scp in sink mode, using a 64-bit size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the file being sent. It should not contain any path indicator</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Exact size in bytes of the file being sent.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>The UNIX permissions for the new file, e.g. 0644.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the file is ready to be sent, SSH_ERROR if an error occured.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#ga544f4b9c525071910110ada94148adc6" title="Initialize the sending of a file to a scp in sink mode. ">ssh_scp_push_file()</a> </dd></dl>

</div>
</div>
<a id="ga10bf627407959b51a7c39b37e8d46460"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga10bf627407959b51a7c39b37e8d46460">&#9670;&nbsp;</a></span>ssh_scp_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read from a remote scp file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The destination buffer.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The nNumber of bytes read, SSH_ERROR if an error occured while reading. </dd></dl>

</div>
</div>
<a id="ga0be44d8a450767d92668d36d1beb43b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0be44d8a450767d92668d36d1beb43b9">&#9670;&nbsp;</a></span>ssh_scp_read_string()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_read_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_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>Read a string on a channel, terminated by '<br />
'. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>A pointer to a buffer to place the string.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The size of the buffer in bytes. If the string is bigger than len-1, only len-1 bytes are read and the string is null-terminated.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the string was read, SSH_ERROR if an error occured while reading. </dd></dl>

</div>
</div>
<a id="gab41ede14208dea4bbd3600077008ccf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab41ede14208dea4bbd3600077008ccf3">&#9670;&nbsp;</a></span>ssh_scp_request_get_filename()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ssh_scp_request_get_filename </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the name of the directory or file being pushed from the other party. </p>
<dl class="section return"><dt>Returns</dt><dd>The file name, NULL on error. The string should not be freed. </dd></dl>

</div>
</div>
<a id="ga3386eb6df0cc620e74a039974c6280d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3386eb6df0cc620e74a039974c6280d4">&#9670;&nbsp;</a></span>ssh_scp_request_get_permissions()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_request_get_permissions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the permissions of the directory or file being pushed from the other party. </p>
<dl class="section return"><dt>Returns</dt><dd>The UNIX permission, e.g 0644, -1 on error. </dd></dl>

</div>
</div>
<a id="ga8b6f736a5b5af73cf59c7825d7e61966"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b6f736a5b5af73cf59c7825d7e61966">&#9670;&nbsp;</a></span>ssh_scp_request_get_size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ssh_scp_request_get_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the size of the file being pushed from the other party. </p>
<dl class="section return"><dt>Returns</dt><dd>The numeric size of the file being read. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The real size may not fit in a 32 bits field and may be truncated. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__libssh__scp.html#gaefe7f44417e1dc0d857d634fe1117d6d" title="Get the size of the file being pushed from the other party. ">ssh_scp_request_get_size64()</a> </dd></dl>

</div>
</div>
<a id="gaefe7f44417e1dc0d857d634fe1117d6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaefe7f44417e1dc0d857d634fe1117d6d">&#9670;&nbsp;</a></span>ssh_scp_request_get_size64()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ssh_scp_request_get_size64 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the size of the file being pushed from the other party. </p>
<dl class="section return"><dt>Returns</dt><dd>The numeric size of the file being read. </dd></dl>

</div>
</div>
<a id="gafa91c1569e4d22d58a928b232264bbcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafa91c1569e4d22d58a928b232264bbcb">&#9670;&nbsp;</a></span>ssh_scp_request_get_warning()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ssh_scp_request_get_warning </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the warning string from a scp handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A warning string, or NULL on error. The string should not be freed. </dd></dl>

</div>
</div>
<a id="ga8772a6523a2a21a06e3986dbcc02118f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8772a6523a2a21a06e3986dbcc02118f">&#9670;&nbsp;</a></span>ssh_scp_string_mode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ssh_scp_string_mode </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert a unix mode into a scp string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>The mode to convert, e.g. 420 or 0644.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a malloc'ed string containing the scp mode, e.g. "0644". </dd></dl>

</div>
</div>
<a id="ga11f48e2cf62bcec20d9232ed3ca41752"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga11f48e2cf62bcec20d9232ed3ca41752">&#9670;&nbsp;</a></span>ssh_scp_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssh_scp_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structssh__scp__struct.html">ssh_scp</a>&#160;</td>
          <td class="paramname"><em>scp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_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>Write into a remote scp file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">scp</td><td>The scp handle.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>The buffer to write.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of bytes to write.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SSH_OK if the write was successful, SSH_ERROR an error occured while writing. </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.14
</small></address>
</body>
</html>