This file is indexed.

/usr/share/doc/libssh-doc/html/libsshpp_8hpp_source.html is in libssh-doc 0.8.0~20170825.94fa1e38-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libssh: include/libssh/libsshpp.hpp Source File</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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libssh
   &#160;<span id="projectnumber">0.8.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b9682cd10a3f48e47321de8901f87a77.html">libssh</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">libsshpp.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * This file is part of the SSH Library</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) 2010 by Aris Adamantiadis</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef LIBSSHPP_HPP_</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define LIBSSHPP_HPP_</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* do not use deprecated functions */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define LIBSSH_LEGACY_0_4</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &lt;libssh/libssh.h&gt;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#include &lt;libssh/server.h&gt;</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacessh.html">ssh</a> {</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">class </span>Channel;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#ifndef SSH_NO_CPP_EXCEPTIONS</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classssh_1_1SshException.html">   74</a></span>&#160;<span class="keyword">class </span><a class="code" href="classssh_1_1SshException.html">SshException</a>{</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classssh_1_1SshException.html">SshException</a>(ssh_session csession){</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    code=<a class="code" href="group__libssh__error.html#ga036433b7bf3d4ca94206253f58d136f9">ssh_get_error_code</a>(csession);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    description=std::string(<a class="code" href="group__libssh__error.html#ga9241586665bf21f823806473fc386258">ssh_get_error</a>(csession));</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <a class="code" href="classssh_1_1SshException.html">SshException</a>(<span class="keyword">const</span> <a class="code" href="classssh_1_1SshException.html">SshException</a> &amp;e){</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    code=e.code;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    description=e.description;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  }</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classssh_1_1SshException.html#a3f736fef0b7dbf062d11f64aa41a61f4">   89</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1SshException.html#a3f736fef0b7dbf062d11f64aa41a61f4">getCode</a>(){</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordflow">return</span> code;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  }</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classssh_1_1SshException.html#a712f65602f9ae8bc6737ed4b1e4ee4cc">   96</a></span>&#160;  std::string <a class="code" href="classssh_1_1SshException.html#a712f65602f9ae8bc6737ed4b1e4ee4cc">getError</a>(){</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">return</span> description;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  }</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordtype">int</span> code;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  std::string description;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;};</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define ssh_throw(x) if((x)==SSH_ERROR) throw SshException(getCSession())</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define ssh_throw_null(CSession,x) if((x)==NULL) throw SshException(CSession)</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define void_throwable void</span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#define return_throwable return</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">/* No exception at all. All functions will return an error code instead</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> * of an exception</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#define ssh_throw(x) if((x)==SSH_ERROR) return SSH_ERROR</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define ssh_throw_null(CSession,x) if((x)==NULL) return NULL</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define void_throwable int</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define return_throwable return SSH_OK</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html">  126</a></span>&#160;<span class="keyword">class </span><a class="code" href="classssh_1_1Session.html">Session</a> {</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classssh_1_1Channel.html">Channel</a>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <a class="code" href="classssh_1_1Session.html">Session</a>(){</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    c_session=<a class="code" href="group__libssh__session.html#gaadadc0f9601547c30db7c4d62017d32c">ssh_new</a>();</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  ~<a class="code" href="classssh_1_1Session.html">Session</a>(){</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <a class="code" href="group__libssh__session.html#gae5af27a98a7488e9f5ded6b37c274156">ssh_free</a>(c_session);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    c_session=NULL;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  }</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#ad19ae4a0927094c12f383907cbf40ccc">  142</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Session.html#ad19ae4a0927094c12f383907cbf40ccc">setOption</a>(<span class="keyword">enum</span> ssh_options_e type, <span class="keyword">const</span> <span class="keywordtype">char</span> *option){</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    ssh_throw(<a class="code" href="group__libssh__session.html#ga7a801b85800baa3f4e16f5b47db0a73d">ssh_options_set</a>(c_session,type,option));</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    return_throwable;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#ad6dc221d1212370608516c89115f6470">  152</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Session.html#ad6dc221d1212370608516c89115f6470">setOption</a>(<span class="keyword">enum</span> ssh_options_e type, <span class="keywordtype">long</span> <span class="keywordtype">int</span> option){</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    ssh_throw(<a class="code" href="group__libssh__session.html#ga7a801b85800baa3f4e16f5b47db0a73d">ssh_options_set</a>(c_session,type,&amp;option));</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    return_throwable;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  }</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a1bd14b987212698c146ed05f25454046">  162</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Session.html#a1bd14b987212698c146ed05f25454046">setOption</a>(<span class="keyword">enum</span> ssh_options_e type, <span class="keywordtype">void</span> *option){</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    ssh_throw(<a class="code" href="group__libssh__session.html#ga7a801b85800baa3f4e16f5b47db0a73d">ssh_options_set</a>(c_session,type,option));</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    return_throwable;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  }</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a2a88d7dd524e81cb9152a87cb6fefc40">  170</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Session.html#a2a88d7dd524e81cb9152a87cb6fefc40">connect</a>(){</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__session.html#ga032e07cbd8bc3f14cb2dd375db0b03d7">ssh_connect</a>(c_session);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    return_throwable;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  }</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a651141f9bcf5792644f6d411ab2cc0c5">  180</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a651141f9bcf5792644f6d411ab2cc0c5">userauthPublickeyAuto</a>(<span class="keywordtype">void</span>){</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__auth.html#ga53e6771b250c061463ed98b6e5b6e0af">ssh_userauth_publickey_auto</a>(c_session, NULL, NULL);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  }</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a988398835fc131b0eb5a83a4adaec532">  192</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a988398835fc131b0eb5a83a4adaec532">userauthNone</a>(){</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__auth.html#ga58e7c265236edbc97a2f117d3f23b4dd">ssh_userauth_none</a>(c_session,NULL);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  }</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#ac2d10826877bec6598961614eb62f0f7">  203</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#ac2d10826877bec6598961614eb62f0f7">userauthPassword</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *password){</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__auth.html#ga50c0c150f8c4703e7ee49b3e3e3ca215">ssh_userauth_password</a>(c_session,NULL,password);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  }</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#afb635d7f84b000bbabb09a86ad5ad074">  215</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#afb635d7f84b000bbabb09a86ad5ad074">userauthTryPublickey</a>(ssh_key pubkey){</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__auth.html#ga592f673c4d417a6a46cd4876ac8287aa">ssh_userauth_try_publickey</a>(c_session, NULL, pubkey);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  }</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a6dd49ee38bf24c31c5e0e28dc2af07b7">  226</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a6dd49ee38bf24c31c5e0e28dc2af07b7">userauthPublickey</a>(ssh_key privkey){</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__auth.html#gaa38c4f3194ef36720da7eddb0aa99e23">ssh_userauth_publickey</a>(c_session, NULL, privkey);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  }</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="keywordtype">int</span> userauthPrivatekeyFile(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename,</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span> *passphrase);</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a08d70b5cdb5bd1a2a8f5f9ebbdf67b3b">  238</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a08d70b5cdb5bd1a2a8f5f9ebbdf67b3b">getAuthList</a>(){</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__auth.html#ga35d44897a44b4bb3b7c01108c1812a37">ssh_userauth_list</a>(c_session, NULL);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  }</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#aaa6972fe2757370a0cf2b90576eb6edc">  246</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classssh_1_1Session.html#aaa6972fe2757370a0cf2b90576eb6edc">disconnect</a>(){</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <a class="code" href="group__libssh__session.html#ga0f048a4c0dbe02cfb7e9c5b6d0db0f27">ssh_disconnect</a>(c_session);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  }</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a4e0c0bcc2cc0d129e049b5b51bf1cbe8">  253</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classssh_1_1Session.html#a4e0c0bcc2cc0d129e049b5b51bf1cbe8">getDisconnectMessage</a>(){</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *msg=<a class="code" href="group__libssh__session.html#gad19e368e35d48e02ba95970a7d1e87f5">ssh_get_disconnect_message</a>(c_session);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordflow">return</span> msg;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  }</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classssh_1_1SshException.html#a712f65602f9ae8bc6737ed4b1e4ee4cc">getError</a>(){</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__error.html#ga9241586665bf21f823806473fc386258">ssh_get_error</a>(c_session);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  }</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="keywordtype">int</span> getErrorCode(){</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__error.html#ga036433b7bf3d4ca94206253f58d136f9">ssh_get_error_code</a>(c_session);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  }</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a30c021f6138124d785f151583e5656bd">  275</a></span>&#160;  socket_t <a class="code" href="classssh_1_1Session.html#a30c021f6138124d785f151583e5656bd">getSocket</a>(){</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__session.html#gafe509fcea47714b5cd277d1e35e83276">ssh_get_fd</a>(c_session);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  }</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a9969ed8dcaccef321ac519271758b406">  282</a></span>&#160;  std::string <a class="code" href="classssh_1_1Session.html#a9969ed8dcaccef321ac519271758b406">getIssueBanner</a>(){</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordtype">char</span> *banner=<a class="code" href="group__libssh__session.html#ga89864d4d5cc6d3d6ef1c39652f2a688f">ssh_get_issue_banner</a>(c_session);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    std::string ret= std::string(banner);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    ::free(banner);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  }</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a9e0af590062a73a0927bb513bc19dd8e">  292</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a9e0af590062a73a0927bb513bc19dd8e">getOpensshVersion</a>(){</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__session.html#gac55d2895467a1e898ee75b4710d836a5">ssh_get_openssh_version</a>(c_session);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  }</div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a5d7b4df57ed97f2592893b0493336b88">  299</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a5d7b4df57ed97f2592893b0493336b88">getVersion</a>(){</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__session.html#ga8467735e4735165336f68ee82e24de0e">ssh_get_version</a>(c_session);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  }</div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a0b7055cb236685a9c18cb79c5492b40f">  308</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#a0b7055cb236685a9c18cb79c5492b40f">isServerKnown</a>(){</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordtype">int</span> ret=<a class="code" href="group__libssh__session.html#ga6f37e3d7bb6b938b44d6a34a76fdfa0b">ssh_is_server_known</a>(c_session);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  }</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keywordtype">void</span> log(<span class="keywordtype">int</span> priority, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...){</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordtype">char</span> buffer[1024];</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    va_list va;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    va_start(va, format);</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    vsnprintf(buffer, <span class="keyword">sizeof</span>(buffer), format, va);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    va_end(va);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    _ssh_log(priority, <span class="stringliteral">&quot;libsshpp&quot;</span>, <span class="stringliteral">&quot;%s&quot;</span>, buffer);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  }</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a05cbc79d7b3ef14499fe258f56031957">  327</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Session.html#a05cbc79d7b3ef14499fe258f56031957">optionsCopy</a>(<span class="keyword">const</span> <a class="code" href="classssh_1_1Session.html">Session</a> &amp;source){</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    ssh_throw(<a class="code" href="group__libssh__session.html#gaead8cef1f39e785139bc510852ce1dff">ssh_options_copy</a>(source.c_session,&amp;c_session));</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    return_throwable;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  }</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a0fe8a68c45f9f150bb306ae840f68f0f">  336</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Session.html#a0fe8a68c45f9f150bb306ae840f68f0f">optionsParseConfig</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file){</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    ssh_throw(<a class="code" href="group__libssh__session.html#ga82371e723260c7572ea061edecc2e9f1">ssh_options_parse_config</a>(c_session,file));</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    return_throwable;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  }</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a15b2a58607cc42628e17c94c8f7eb793">  343</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classssh_1_1Session.html#a15b2a58607cc42628e17c94c8f7eb793">silentDisconnect</a>(){</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <a class="code" href="group__libssh__session.html#gae1bd16255ba373325adf76307d0c8c42">ssh_silent_disconnect</a>(c_session);</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  }</div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#ae55f054025dcbe4ceeaec87c9ca064c7">  351</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Session.html#ae55f054025dcbe4ceeaec87c9ca064c7">writeKnownhost</a>(){</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keywordtype">int</span> ret = <a class="code" href="group__libssh__session.html#gaf61a9cfdc40c76ffce9f9a8543755d36">ssh_write_knownhost</a>(c_session);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  }</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="keyword">inline</span> <a class="code" href="classssh_1_1Channel.html">Channel</a> *acceptForward(<span class="keywordtype">int</span> timeout_ms);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="comment">/* implemented outside the class due Channel references */</span></div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  void_throwable cancelForward(<span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keywordtype">int</span> port){</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga3bff751afc5ecb5bbf9d6447e4e5370f">ssh_channel_cancel_forward</a>(c_session, address, port);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    return_throwable;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;  }</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;  void_throwable listenForward(<span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keywordtype">int</span> port,</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;      <span class="keywordtype">int</span> &amp;boundport){</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga758cda957227751870c8772df46e5b39">ssh_channel_listen_forward</a>(c_session, address, port, &amp;boundport);</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    return_throwable;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  }</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  ssh_session c_session;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  ssh_session getCSession(){</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keywordflow">return</span> c_session;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;  }</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;  <span class="comment">/* No copy constructor, no = operator */</span></div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;  <a class="code" href="classssh_1_1Session.html">Session</a>(<span class="keyword">const</span> <a class="code" href="classssh_1_1Session.html">Session</a> &amp;);</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;  <a class="code" href="classssh_1_1Session.html">Session</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classssh_1_1Session.html">Session</a> &amp;);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;};</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html">  395</a></span>&#160;<span class="keyword">class </span><a class="code" href="classssh_1_1Channel.html">Channel</a> {</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classssh_1_1Session.html">Session</a>;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;  <a class="code" href="classssh_1_1Channel.html">Channel</a>(<a class="code" href="classssh_1_1Session.html">Session</a> &amp;session){</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    channel=<a class="code" href="group__libssh__channel.html#gada8ccda7bf65165fe145d3096a252dcc">ssh_channel_new</a>(session.getCSession());</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    this-&gt;session=&amp;session;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;  }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;  ~<a class="code" href="classssh_1_1Channel.html">Channel</a>(){</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <a class="code" href="group__libssh__channel.html#gad1417f9eae8928fed20faafe2d9dbfff">ssh_channel_free</a>(channel);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    channel=NULL;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  }</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#a62000c16999e74525d296f0a1cb19c95">  415</a></span>&#160;  <a class="code" href="classssh_1_1Channel.html">Channel</a> *<a class="code" href="classssh_1_1Channel.html#a62000c16999e74525d296f0a1cb19c95">acceptX11</a>(<span class="keywordtype">int</span> timeout_ms){</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    ssh_channel x11chan = <a class="code" href="group__libssh__channel.html#ga548bd0f77a50b7c8180942544b375866">ssh_channel_accept_x11</a>(channel,timeout_ms);</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    ssh_throw_null(getCSession(),x11chan);</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <a class="code" href="classssh_1_1Channel.html">Channel</a> *newchan = <span class="keyword">new</span> <a class="code" href="classssh_1_1Channel.html">Channel</a>(getSession(),x11chan);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keywordflow">return</span> newchan;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;  }</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#a196b0eab10bf168330f569ff3881562c">  427</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Channel.html#a196b0eab10bf168330f569ff3881562c">changePtySize</a>(<span class="keywordtype">int</span> cols, <span class="keywordtype">int</span> rows){</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#gaf5d55c90f3d98c583df23d21905c1127">ssh_channel_change_pty_size</a>(channel,cols,rows);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    return_throwable;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  }</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div><div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#ad14405b4e8c3a8e3d37a49ed793aadde">  437</a></span>&#160;  void_throwable <a class="code" href="classssh_1_1Channel.html#ad14405b4e8c3a8e3d37a49ed793aadde">close</a>(){</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    ssh_throw(<a class="code" href="group__libssh__channel.html#ga238f07e0455456a5bfd8a49ead917732">ssh_channel_close</a>(channel));</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    return_throwable;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;  }</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  <span class="keywordtype">int</span> getExitStatus(){</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__channel.html#ga9eea019dd0bbaa8a817fff2c762d1a2d">ssh_channel_get_exit_status</a>(channel);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  }</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <a class="code" href="classssh_1_1Session.html">Session</a> &amp;getSession(){</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="keywordflow">return</span> *session;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;  }</div><div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#a38880d18d0fc357be0f4f8b8ef1c92ef">  451</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classssh_1_1Channel.html#a38880d18d0fc357be0f4f8b8ef1c92ef">isClosed</a>(){</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__channel.html#gab2720b44cb7f1dfe2b38ffe07c2f45c7">ssh_channel_is_closed</a>(channel) != 0;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  }</div><div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#a3bb4131d82cc033d75f65a5137053532">  457</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classssh_1_1Channel.html#a3bb4131d82cc033d75f65a5137053532">isEof</a>(){</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__channel.html#gab535264029443d77214c0615a0788b0a">ssh_channel_is_eof</a>(channel) != 0;</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  }</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#aa2794c09f819f3132b241aa6b72b0664">  463</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classssh_1_1Channel.html#aa2794c09f819f3132b241aa6b72b0664">isOpen</a>(){</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__libssh__channel.html#gaaafcda943c96ddb91e5c28c0bdee7045">ssh_channel_is_open</a>(channel) != 0;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  }</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  <span class="keywordtype">int</span> openForward(<span class="keyword">const</span> <span class="keywordtype">char</span> *remotehost, <span class="keywordtype">int</span> remoteport,</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span> *sourcehost=NULL, <span class="keywordtype">int</span> localport=0){</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#gae86b0704a1f2bdebb268b55567f7f47b">ssh_channel_open_forward</a>(channel,remotehost,remoteport,</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        sourcehost, localport);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  }</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  <span class="comment">/* TODO: completely remove this ? */</span></div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  void_throwable openSession(){</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#gaf051dd30d75bf6dc45d1a5088cf970bd">ssh_channel_open_session</a>(channel);</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    return_throwable;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;  }</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;  <span class="keywordtype">int</span> poll(<span class="keywordtype">bool</span> is_stderr=<span class="keyword">false</span>){</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga157f7d1df5de07ec6c6976e2034ba6e2">ssh_channel_poll</a>(channel,is_stderr);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;  }</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  <span class="keywordtype">int</span> read(<span class="keywordtype">void</span> *dest, <span class="keywordtype">size_t</span> count, <span class="keywordtype">bool</span> is_stderr){</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    <span class="keywordtype">int</span> err;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="comment">/* handle int overflow */</span></div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <span class="keywordflow">if</span>(count &gt; 0x7fffffff)</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;      count = 0x7fffffff;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    err=<a class="code" href="group__libssh__channel.html#ga3c1aa2ea4197626af7bf224b6a5aaff5">ssh_channel_read_timeout</a>(channel,dest,count,is_stderr,-1);</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;  }</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;  <span class="keywordtype">int</span> read(<span class="keywordtype">void</span> *dest, <span class="keywordtype">size_t</span> count, <span class="keywordtype">int</span> timeout){</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <span class="keywordtype">int</span> err;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="comment">/* handle int overflow */</span></div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="keywordflow">if</span>(count &gt; 0x7fffffff)</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;      count = 0x7fffffff;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    err=<a class="code" href="group__libssh__channel.html#ga3c1aa2ea4197626af7bf224b6a5aaff5">ssh_channel_read_timeout</a>(channel,dest,count,<span class="keyword">false</span>,timeout);</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;  }</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  <span class="keywordtype">int</span> read(<span class="keywordtype">void</span> *dest, <span class="keywordtype">size_t</span> count, <span class="keywordtype">bool</span> is_stderr=<span class="keyword">false</span>, <span class="keywordtype">int</span> timeout=-1){</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <span class="keywordtype">int</span> err;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    <span class="comment">/* handle int overflow */</span></div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <span class="keywordflow">if</span>(count &gt; 0x7fffffff)</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;      count = 0x7fffffff;</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    err=<a class="code" href="group__libssh__channel.html#ga3c1aa2ea4197626af7bf224b6a5aaff5">ssh_channel_read_timeout</a>(channel,dest,count,is_stderr,timeout);</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;  }</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;  <span class="keywordtype">int</span> readNonblocking(<span class="keywordtype">void</span> *dest, <span class="keywordtype">size_t</span> count, <span class="keywordtype">bool</span> is_stderr=<span class="keyword">false</span>){</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    <span class="keywordtype">int</span> err;</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="comment">/* handle int overflow */</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keywordflow">if</span>(count &gt; 0x7fffffff)</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;      count = 0x7fffffff;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    err=<a class="code" href="group__libssh__channel.html#gaaca5a3fbe9839c3ffb37b746afc35f4c">ssh_channel_read_nonblocking</a>(channel,dest,count,is_stderr);</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  }</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  void_throwable requestEnv(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value){</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga7aede2f9af4c494ff9e41fc08a4572f1">ssh_channel_request_env</a>(channel,name,value);</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    return_throwable;</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  }</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  void_throwable requestExec(<span class="keyword">const</span> <span class="keywordtype">char</span> *cmd){</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga567d509183ade0a77190f390e2b5747d">ssh_channel_request_exec</a>(channel,cmd);</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    return_throwable;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;  }</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;  void_throwable requestPty(<span class="keyword">const</span> <span class="keywordtype">char</span> *term=NULL, <span class="keywordtype">int</span> cols=0, <span class="keywordtype">int</span> rows=0){</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <span class="keywordtype">int</span> err;</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <span class="keywordflow">if</span>(term != NULL &amp;&amp; cols != 0 &amp;&amp; rows != 0)</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;      err=<a class="code" href="group__libssh__channel.html#gabb175414352256e1602286e0ab50886c">ssh_channel_request_pty_size</a>(channel,term,cols,rows);</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;      err=<a class="code" href="group__libssh__channel.html#ga37c1cec33fe5a2f184768aba52e3a0db">ssh_channel_request_pty</a>(channel);</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    return_throwable;</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  }</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;  void_throwable requestShell(){</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#gaed4c5fb30c9df2b2548421ccf4e81bf1">ssh_channel_request_shell</a>(channel);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    return_throwable;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;  }</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  void_throwable requestSendSignal(<span class="keyword">const</span> <span class="keywordtype">char</span> *signum){</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#gaa98315fca818b561970a6950683f4053">ssh_channel_request_send_signal</a>(channel, signum);</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    return_throwable;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  }</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  void_throwable requestSubsystem(<span class="keyword">const</span> <span class="keywordtype">char</span> *subsystem){</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga06024b070f9b2a3d6964b79ae36695b7">ssh_channel_request_subsystem</a>(channel,subsystem);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    return_throwable;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;  }</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;  <span class="keywordtype">int</span> requestX11(<span class="keywordtype">bool</span> single_connection,</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span> *protocol, <span class="keyword">const</span> <span class="keywordtype">char</span> *cookie, <span class="keywordtype">int</span> screen_number){</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#gadfa34624c28164bd73453cd04aa64c1f">ssh_channel_request_x11</a>(channel,single_connection,</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        protocol, cookie, screen_number);</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <span class="keywordflow">return</span> err;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;  }</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;  void_throwable sendEof(){</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordtype">int</span> err=<a class="code" href="group__libssh__channel.html#ga072f82fdf3e50514f747653af2c99004">ssh_channel_send_eof</a>(channel);</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    ssh_throw(err);</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    return_throwable;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;  }</div><div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classssh_1_1Channel.html#a06cf7ffd971eff87783a169444fa09a2">  577</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classssh_1_1Channel.html#a06cf7ffd971eff87783a169444fa09a2">write</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len, <span class="keywordtype">bool</span> is_stderr=<span class="keyword">false</span>){</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <span class="keywordflow">if</span>(is_stderr){</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;      ret=<a class="code" href="group__libssh__channel.html#ga7ebd0ed490ee4485c6d5feb7d22bc162">ssh_channel_write_stderr</a>(channel,data,len);</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;      ret=<a class="code" href="group__libssh__channel.html#ga5d658df773ba854b35ff9f905341e2fb">ssh_channel_write</a>(channel,data,len);</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    }</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;    ssh_throw(ret);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;  }</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;  ssh_session getCSession(){</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    <span class="keywordflow">return</span> session-&gt;getCSession();</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;  }</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;  <a class="code" href="classssh_1_1Channel.html">Channel</a> (<a class="code" href="classssh_1_1Session.html">Session</a> &amp;session, ssh_channel c_channel){</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    this-&gt;channel=c_channel;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    this-&gt;session=&amp;session;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;  }</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;  <a class="code" href="classssh_1_1Session.html">Session</a> *session;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;  ssh_channel channel;</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;  <span class="comment">/* No copy and no = operator */</span></div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;  <a class="code" href="classssh_1_1Channel.html">Channel</a>(<span class="keyword">const</span> <a class="code" href="classssh_1_1Channel.html">Channel</a> &amp;);</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;  <a class="code" href="classssh_1_1Channel.html">Channel</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="classssh_1_1Channel.html">Channel</a> &amp;);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;};</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classssh_1_1Session.html#a6cd5318d71a3850a87b87bdfd89a5983">  603</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classssh_1_1Channel.html">Channel</a> *<a class="code" href="classssh_1_1Session.html#a6cd5318d71a3850a87b87bdfd89a5983">Session::acceptForward</a>(<span class="keywordtype">int</span> timeout_ms){</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    ssh_channel forward =</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <a class="code" href="group__libssh__channel.html#ga490e4b0a7adc022507b7f165b336afe4">ssh_channel_accept_forward</a>(c_session, timeout_ms, NULL);</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    ssh_throw_null(c_session,forward);</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    <a class="code" href="classssh_1_1Channel.html">Channel</a> *newchan = <span class="keyword">new</span> <a class="code" href="classssh_1_1Channel.html">Channel</a>(*<span class="keyword">this</span>,forward);</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keywordflow">return</span> newchan;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;  }</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;} <span class="comment">// namespace ssh</span></div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* LIBSSHPP_HPP_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classssh_1_1Session_html_a988398835fc131b0eb5a83a4adaec532"><div class="ttname"><a href="classssh_1_1Session.html#a988398835fc131b0eb5a83a4adaec532">ssh::Session::userauthNone</a></div><div class="ttdeci">int userauthNone()</div><div class="ttdoc">Authenticates using the &quot;none&quot; method. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:192</div></div>
<div class="ttc" id="classssh_1_1Session_html_a08d70b5cdb5bd1a2a8f5f9ebbdf67b3b"><div class="ttname"><a href="classssh_1_1Session.html#a08d70b5cdb5bd1a2a8f5f9ebbdf67b3b">ssh::Session::getAuthList</a></div><div class="ttdeci">int getAuthList()</div><div class="ttdoc">Returns the available authentication methods from the server. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:238</div></div>
<div class="ttc" id="namespacessh_html"><div class="ttname"><a href="namespacessh.html">ssh</a></div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:61</div></div>
<div class="ttc" id="group__libssh__channel_html_ga3c1aa2ea4197626af7bf224b6a5aaff5"><div class="ttname"><a href="group__libssh__channel.html#ga3c1aa2ea4197626af7bf224b6a5aaff5">ssh_channel_read_timeout</a></div><div class="ttdeci">int ssh_channel_read_timeout(ssh_channel channel, void *dest, uint32_t count, int is_stderr, int timeout_ms)</div><div class="ttdoc">Reads data from a channel. </div><div class="ttdef"><b>Definition:</b> channels.c:2678</div></div>
<div class="ttc" id="classssh_1_1Session_html_a2a88d7dd524e81cb9152a87cb6fefc40"><div class="ttname"><a href="classssh_1_1Session.html#a2a88d7dd524e81cb9152a87cb6fefc40">ssh::Session::connect</a></div><div class="ttdeci">void connect()</div><div class="ttdoc">connects to the remote host </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:170</div></div>
<div class="ttc" id="group__libssh__session_html_ga82371e723260c7572ea061edecc2e9f1"><div class="ttname"><a href="group__libssh__session.html#ga82371e723260c7572ea061edecc2e9f1">ssh_options_parse_config</a></div><div class="ttdeci">int ssh_options_parse_config(ssh_session session, const char *filename)</div><div class="ttdoc">Parse the ssh config file. </div><div class="ttdef"><b>Definition:</b> options.c:1214</div></div>
<div class="ttc" id="classssh_1_1Channel_html_a62000c16999e74525d296f0a1cb19c95"><div class="ttname"><a href="classssh_1_1Channel.html#a62000c16999e74525d296f0a1cb19c95">ssh::Channel::acceptX11</a></div><div class="ttdeci">Channel * acceptX11(int timeout_ms)</div><div class="ttdoc">accept an incoming X11 connection </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:415</div></div>
<div class="ttc" id="group__libssh__channel_html_gadfa34624c28164bd73453cd04aa64c1f"><div class="ttname"><a href="group__libssh__channel.html#gadfa34624c28164bd73453cd04aa64c1f">ssh_channel_request_x11</a></div><div class="ttdeci">int ssh_channel_request_x11(ssh_channel channel, int single_connection, const char *protocol, const char *cookie, int screen_number)</div><div class="ttdoc">Sends the &quot;x11-req&quot; channel request over an existing session channel. </div><div class="ttdef"><b>Definition:</b> channels.c:1896</div></div>
<div class="ttc" id="group__libssh__channel_html_gaed4c5fb30c9df2b2548421ccf4e81bf1"><div class="ttname"><a href="group__libssh__channel.html#gaed4c5fb30c9df2b2548421ccf4e81bf1">ssh_channel_request_shell</a></div><div class="ttdeci">int ssh_channel_request_shell(ssh_channel channel)</div><div class="ttdoc">Request a shell. </div><div class="ttdef"><b>Definition:</b> channels.c:1786</div></div>
<div class="ttc" id="group__libssh__channel_html_gae86b0704a1f2bdebb268b55567f7f47b"><div class="ttname"><a href="group__libssh__channel.html#gae86b0704a1f2bdebb268b55567f7f47b">ssh_channel_open_forward</a></div><div class="ttdeci">int ssh_channel_open_forward(ssh_channel channel, const char *remotehost, int remoteport, const char *sourcehost, int localport)</div><div class="ttdoc">Open a TCP/IP forwarding channel. </div><div class="ttdef"><b>Definition:</b> channels.c:949</div></div>
<div class="ttc" id="group__libssh__channel_html_gab535264029443d77214c0615a0788b0a"><div class="ttname"><a href="group__libssh__channel.html#gab535264029443d77214c0615a0788b0a">ssh_channel_is_eof</a></div><div class="ttdeci">int ssh_channel_is_eof(ssh_channel channel)</div><div class="ttdoc">Check if remote has sent an EOF. </div><div class="ttdef"><b>Definition:</b> channels.c:1444</div></div>
<div class="ttc" id="classssh_1_1Session_html_a0b7055cb236685a9c18cb79c5492b40f"><div class="ttname"><a href="classssh_1_1Session.html#a0b7055cb236685a9c18cb79c5492b40f">ssh::Session::isServerKnown</a></div><div class="ttdeci">int isServerKnown()</div><div class="ttdoc">verifies that the server is known </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:308</div></div>
<div class="ttc" id="group__libssh__channel_html_ga072f82fdf3e50514f747653af2c99004"><div class="ttname"><a href="group__libssh__channel.html#ga072f82fdf3e50514f747653af2c99004">ssh_channel_send_eof</a></div><div class="ttdeci">int ssh_channel_send_eof(ssh_channel channel)</div><div class="ttdoc">Send an end of file on the channel. </div><div class="ttdef"><b>Definition:</b> channels.c:1080</div></div>
<div class="ttc" id="classssh_1_1Channel_html_ad14405b4e8c3a8e3d37a49ed793aadde"><div class="ttname"><a href="classssh_1_1Channel.html#ad14405b4e8c3a8e3d37a49ed793aadde">ssh::Channel::close</a></div><div class="ttdeci">void close()</div><div class="ttdoc">closes a channel </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:437</div></div>
<div class="ttc" id="group__libssh__channel_html_ga238f07e0455456a5bfd8a49ead917732"><div class="ttname"><a href="group__libssh__channel.html#ga238f07e0455456a5bfd8a49ead917732">ssh_channel_close</a></div><div class="ttdeci">int ssh_channel_close(ssh_channel channel)</div><div class="ttdoc">Close a channel. </div><div class="ttdef"><b>Definition:</b> channels.c:1132</div></div>
<div class="ttc" id="classssh_1_1Session_html_a6dd49ee38bf24c31c5e0e28dc2af07b7"><div class="ttname"><a href="classssh_1_1Session.html#a6dd49ee38bf24c31c5e0e28dc2af07b7">ssh::Session::userauthPublickey</a></div><div class="ttdeci">int userauthPublickey(ssh_key privkey)</div><div class="ttdoc">Authenticates using the publickey method. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:226</div></div>
<div class="ttc" id="classssh_1_1Session_html_a5d7b4df57ed97f2592893b0493336b88"><div class="ttname"><a href="classssh_1_1Session.html#a5d7b4df57ed97f2592893b0493336b88">ssh::Session::getVersion</a></div><div class="ttdeci">int getVersion()</div><div class="ttdoc">returns the version of the SSH protocol being used </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:299</div></div>
<div class="ttc" id="classssh_1_1Session_html"><div class="ttname"><a href="classssh_1_1Session.html">ssh::Session</a></div><div class="ttdoc">The ssh::Session class contains the state of a SSH connection. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:126</div></div>
<div class="ttc" id="group__libssh__session_html_gac55d2895467a1e898ee75b4710d836a5"><div class="ttname"><a href="group__libssh__session.html#gac55d2895467a1e898ee75b4710d836a5">ssh_get_openssh_version</a></div><div class="ttdeci">int ssh_get_openssh_version(ssh_session session)</div><div class="ttdoc">Get the version of the OpenSSH server, if it is not an OpenSSH server then 0 will be returned...</div><div class="ttdef"><b>Definition:</b> client.c:675</div></div>
<div class="ttc" id="group__libssh__auth_html_ga35d44897a44b4bb3b7c01108c1812a37"><div class="ttname"><a href="group__libssh__auth.html#ga35d44897a44b4bb3b7c01108c1812a37">ssh_userauth_list</a></div><div class="ttdeci">int ssh_userauth_list(ssh_session session, const char *username)</div><div class="ttdoc">Get available authentication methods from the server. </div><div class="ttdef"><b>Definition:</b> auth.c:318</div></div>
<div class="ttc" id="group__libssh__error_html_ga9241586665bf21f823806473fc386258"><div class="ttname"><a href="group__libssh__error.html#ga9241586665bf21f823806473fc386258">ssh_get_error</a></div><div class="ttdeci">const char * ssh_get_error(void *error)</div><div class="ttdoc">Retrieve the error text message from the last error. </div><div class="ttdef"><b>Definition:</b> error.c:111</div></div>
<div class="ttc" id="group__libssh__channel_html_ga5d658df773ba854b35ff9f905341e2fb"><div class="ttname"><a href="group__libssh__channel.html#ga5d658df773ba854b35ff9f905341e2fb">ssh_channel_write</a></div><div class="ttdeci">int ssh_channel_write(ssh_channel channel, const void *data, uint32_t len)</div><div class="ttdoc">Blocking write on a channel. </div><div class="ttdef"><b>Definition:</b> channels.c:1401</div></div>
<div class="ttc" id="group__libssh__channel_html_gabb175414352256e1602286e0ab50886c"><div class="ttname"><a href="group__libssh__channel.html#gabb175414352256e1602286e0ab50886c">ssh_channel_request_pty_size</a></div><div class="ttdeci">int ssh_channel_request_pty_size(ssh_channel channel, const char *term, int cols, int rows)</div><div class="ttdoc">Request a pty with a specific type and size. </div><div class="ttdef"><b>Definition:</b> channels.c:1650</div></div>
<div class="ttc" id="group__libssh__channel_html_ga06024b070f9b2a3d6964b79ae36695b7"><div class="ttname"><a href="group__libssh__channel.html#ga06024b070f9b2a3d6964b79ae36695b7">ssh_channel_request_subsystem</a></div><div class="ttdeci">int ssh_channel_request_subsystem(ssh_channel channel, const char *subsystem)</div><div class="ttdoc">Request a subsystem (for example &quot;sftp&quot;). </div><div class="ttdef"><b>Definition:</b> channels.c:1812</div></div>
<div class="ttc" id="classssh_1_1Channel_html"><div class="ttname"><a href="classssh_1_1Channel.html">ssh::Channel</a></div><div class="ttdoc">the ssh::Channel class describes the state of an SSH channel. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:395</div></div>
<div class="ttc" id="group__libssh__session_html_ga8467735e4735165336f68ee82e24de0e"><div class="ttname"><a href="group__libssh__session.html#ga8467735e4735165336f68ee82e24de0e">ssh_get_version</a></div><div class="ttdeci">int ssh_get_version(ssh_session session)</div><div class="ttdoc">Get the protocol version of the session. </div><div class="ttdef"><b>Definition:</b> session.c:808</div></div>
<div class="ttc" id="group__libssh__channel_html_ga7aede2f9af4c494ff9e41fc08a4572f1"><div class="ttname"><a href="group__libssh__channel.html#ga7aede2f9af4c494ff9e41fc08a4572f1">ssh_channel_request_env</a></div><div class="ttdeci">int ssh_channel_request_env(ssh_channel channel, const char *name, const char *value)</div><div class="ttdoc">Set environment variables. </div><div class="ttdef"><b>Definition:</b> channels.c:2349</div></div>
<div class="ttc" id="classssh_1_1Session_html_a651141f9bcf5792644f6d411ab2cc0c5"><div class="ttname"><a href="classssh_1_1Session.html#a651141f9bcf5792644f6d411ab2cc0c5">ssh::Session::userauthPublickeyAuto</a></div><div class="ttdeci">int userauthPublickeyAuto(void)</div><div class="ttdoc">Authenticates automatically using public key. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:180</div></div>
<div class="ttc" id="group__libssh__session_html_ga89864d4d5cc6d3d6ef1c39652f2a688f"><div class="ttname"><a href="group__libssh__session.html#ga89864d4d5cc6d3d6ef1c39652f2a688f">ssh_get_issue_banner</a></div><div class="ttdeci">char * ssh_get_issue_banner(ssh_session session)</div><div class="ttdoc">Get the issue banner from the server. </div><div class="ttdef"><b>Definition:</b> client.c:649</div></div>
<div class="ttc" id="classssh_1_1Channel_html_a06cf7ffd971eff87783a169444fa09a2"><div class="ttname"><a href="classssh_1_1Channel.html#a06cf7ffd971eff87783a169444fa09a2">ssh::Channel::write</a></div><div class="ttdeci">int write(const void *data, size_t len, bool is_stderr=false)</div><div class="ttdoc">Writes on a channel. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:577</div></div>
<div class="ttc" id="classssh_1_1Channel_html_a196b0eab10bf168330f569ff3881562c"><div class="ttname"><a href="classssh_1_1Channel.html#a196b0eab10bf168330f569ff3881562c">ssh::Channel::changePtySize</a></div><div class="ttdeci">void changePtySize(int cols, int rows)</div><div class="ttdoc">change the size of a pseudoterminal </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:427</div></div>
<div class="ttc" id="classssh_1_1Session_html_a9969ed8dcaccef321ac519271758b406"><div class="ttname"><a href="classssh_1_1Session.html#a9969ed8dcaccef321ac519271758b406">ssh::Session::getIssueBanner</a></div><div class="ttdeci">std::string getIssueBanner()</div><div class="ttdoc">gets the Issue banner from the ssh server </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:282</div></div>
<div class="ttc" id="group__libssh__session_html_gaead8cef1f39e785139bc510852ce1dff"><div class="ttname"><a href="group__libssh__session.html#gaead8cef1f39e785139bc510852ce1dff">ssh_options_copy</a></div><div class="ttdeci">int ssh_options_copy(ssh_session src, ssh_session *dest)</div><div class="ttdoc">Duplicate the options of a session structure. </div><div class="ttdef"><b>Definition:</b> options.c:64</div></div>
<div class="ttc" id="classssh_1_1Session_html_aaa6972fe2757370a0cf2b90576eb6edc"><div class="ttname"><a href="classssh_1_1Session.html#aaa6972fe2757370a0cf2b90576eb6edc">ssh::Session::disconnect</a></div><div class="ttdeci">void disconnect()</div><div class="ttdoc">Disconnects from the SSH server and closes connection. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:246</div></div>
<div class="ttc" id="classssh_1_1SshException_html_a3f736fef0b7dbf062d11f64aa41a61f4"><div class="ttname"><a href="classssh_1_1SshException.html#a3f736fef0b7dbf062d11f64aa41a61f4">ssh::SshException::getCode</a></div><div class="ttdeci">int getCode()</div><div class="ttdoc">returns the Error code </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:89</div></div>
<div class="ttc" id="group__libssh__channel_html_gaf051dd30d75bf6dc45d1a5088cf970bd"><div class="ttname"><a href="group__libssh__channel.html#gaf051dd30d75bf6dc45d1a5088cf970bd">ssh_channel_open_session</a></div><div class="ttdeci">int ssh_channel_open_session(ssh_channel channel)</div><div class="ttdoc">Open a session channel (suited for a shell, not TCP forwarding). </div><div class="ttdef"><b>Definition:</b> channels.c:872</div></div>
<div class="ttc" id="classssh_1_1SshException_html"><div class="ttname"><a href="classssh_1_1SshException.html">ssh::SshException</a></div><div class="ttdoc">Some people do not like C++ exceptions. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:74</div></div>
<div class="ttc" id="group__libssh__channel_html_gaaafcda943c96ddb91e5c28c0bdee7045"><div class="ttname"><a href="group__libssh__channel.html#gaaafcda943c96ddb91e5c28c0bdee7045">ssh_channel_is_open</a></div><div class="ttdeci">int ssh_channel_is_open(ssh_channel channel)</div><div class="ttdoc">Check if the channel is open or not. </div><div class="ttdef"><b>Definition:</b> channels.c:1414</div></div>
<div class="ttc" id="group__libssh__session_html_gaf61a9cfdc40c76ffce9f9a8543755d36"><div class="ttname"><a href="group__libssh__session.html#gaf61a9cfdc40c76ffce9f9a8543755d36">ssh_write_knownhost</a></div><div class="ttdeci">int ssh_write_knownhost(ssh_session session)</div><div class="ttdoc">Write the current server as known in the known hosts file. </div><div class="ttdef"><b>Definition:</b> known_hosts.c:623</div></div>
<div class="ttc" id="group__libssh__channel_html_gab2720b44cb7f1dfe2b38ffe07c2f45c7"><div class="ttname"><a href="group__libssh__channel.html#gab2720b44cb7f1dfe2b38ffe07c2f45c7">ssh_channel_is_closed</a></div><div class="ttdeci">int ssh_channel_is_closed(ssh_channel channel)</div><div class="ttdoc">Check if the channel is closed or not. </div><div class="ttdef"><b>Definition:</b> channels.c:1430</div></div>
<div class="ttc" id="classssh_1_1Session_html_a30c021f6138124d785f151583e5656bd"><div class="ttname"><a href="classssh_1_1Session.html#a30c021f6138124d785f151583e5656bd">ssh::Session::getSocket</a></div><div class="ttdeci">socket_t getSocket()</div><div class="ttdoc">returns the file descriptor used for the communication </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:275</div></div>
<div class="ttc" id="classssh_1_1Session_html_a0fe8a68c45f9f150bb306ae840f68f0f"><div class="ttname"><a href="classssh_1_1Session.html#a0fe8a68c45f9f150bb306ae840f68f0f">ssh::Session::optionsParseConfig</a></div><div class="ttdeci">void optionsParseConfig(const char *file)</div><div class="ttdoc">parses a configuration file for options </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:336</div></div>
<div class="ttc" id="classssh_1_1Session_html_a1bd14b987212698c146ed05f25454046"><div class="ttname"><a href="classssh_1_1Session.html#a1bd14b987212698c146ed05f25454046">ssh::Session::setOption</a></div><div class="ttdeci">void setOption(enum ssh_options_e type, void *option)</div><div class="ttdoc">sets an SSH session options </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:162</div></div>
<div class="ttc" id="group__libssh__channel_html_ga157f7d1df5de07ec6c6976e2034ba6e2"><div class="ttname"><a href="group__libssh__channel.html#ga157f7d1df5de07ec6c6976e2034ba6e2">ssh_channel_poll</a></div><div class="ttdeci">int ssh_channel_poll(ssh_channel channel, int is_stderr)</div><div class="ttdoc">Polls a channel for data to read. </div><div class="ttdef"><b>Definition:</b> channels.c:2840</div></div>
<div class="ttc" id="classssh_1_1Session_html_ae55f054025dcbe4ceeaec87c9ca064c7"><div class="ttname"><a href="classssh_1_1Session.html#ae55f054025dcbe4ceeaec87c9ca064c7">ssh::Session::writeKnownhost</a></div><div class="ttdeci">int writeKnownhost()</div><div class="ttdoc">Writes the known host file with current host key. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:351</div></div>
<div class="ttc" id="group__libssh__channel_html_gada8ccda7bf65165fe145d3096a252dcc"><div class="ttname"><a href="group__libssh__channel.html#gada8ccda7bf65165fe145d3096a252dcc">ssh_channel_new</a></div><div class="ttdeci">ssh_channel ssh_channel_new(ssh_session session)</div><div class="ttdoc">Allocate a new channel. </div><div class="ttdef"><b>Definition:</b> channels.c:79</div></div>
<div class="ttc" id="group__libssh__session_html_ga7a801b85800baa3f4e16f5b47db0a73d"><div class="ttname"><a href="group__libssh__session.html#ga7a801b85800baa3f4e16f5b47db0a73d">ssh_options_set</a></div><div class="ttdeci">int ssh_options_set(ssh_session session, enum ssh_options_e type, const void *value)</div><div class="ttdoc">This function can set all possible ssh options. </div><div class="ttdef"><b>Definition:</b> options.c:383</div></div>
<div class="ttc" id="group__libssh__auth_html_ga50c0c150f8c4703e7ee49b3e3e3ca215"><div class="ttname"><a href="group__libssh__auth.html#ga50c0c150f8c4703e7ee49b3e3e3ca215">ssh_userauth_password</a></div><div class="ttdeci">int ssh_userauth_password(ssh_session session, const char *username, const char *password)</div><div class="ttdoc">Try to authenticate by password. </div><div class="ttdef"><b>Definition:</b> auth.c:1127</div></div>
<div class="ttc" id="group__libssh__auth_html_ga53e6771b250c061463ed98b6e5b6e0af"><div class="ttname"><a href="group__libssh__auth.html#ga53e6771b250c061463ed98b6e5b6e0af">ssh_userauth_publickey_auto</a></div><div class="ttdeci">int ssh_userauth_publickey_auto(ssh_session session, const char *username, const char *passphrase)</div><div class="ttdoc">Tries to automatically authenticate with public key and &quot;none&quot;. </div><div class="ttdef"><b>Definition:</b> auth.c:911</div></div>
<div class="ttc" id="group__libssh__auth_html_gaa38c4f3194ef36720da7eddb0aa99e23"><div class="ttname"><a href="group__libssh__auth.html#gaa38c4f3194ef36720da7eddb0aa99e23">ssh_userauth_publickey</a></div><div class="ttdeci">int ssh_userauth_publickey(ssh_session session, const char *username, const ssh_key privkey)</div><div class="ttdoc">Authenticate with public/private key or certificate. </div><div class="ttdef"><b>Definition:</b> auth.c:549</div></div>
<div class="ttc" id="group__libssh__session_html_gafe509fcea47714b5cd277d1e35e83276"><div class="ttname"><a href="group__libssh__session.html#gafe509fcea47714b5cd277d1e35e83276">ssh_get_fd</a></div><div class="ttdeci">socket_t ssh_get_fd(ssh_session session)</div><div class="ttdoc">Get the fd of a connection. </div><div class="ttdef"><b>Definition:</b> session.c:541</div></div>
<div class="ttc" id="classssh_1_1Session_html_ac2d10826877bec6598961614eb62f0f7"><div class="ttname"><a href="classssh_1_1Session.html#ac2d10826877bec6598961614eb62f0f7">ssh::Session::userauthPassword</a></div><div class="ttdeci">int userauthPassword(const char *password)</div><div class="ttdoc">Authenticates using the password method. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:203</div></div>
<div class="ttc" id="classssh_1_1Channel_html_a3bb4131d82cc033d75f65a5137053532"><div class="ttname"><a href="classssh_1_1Channel.html#a3bb4131d82cc033d75f65a5137053532">ssh::Channel::isEof</a></div><div class="ttdeci">bool isEof()</div><div class="ttdoc">returns true if channel is in EOF state </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:457</div></div>
<div class="ttc" id="group__libssh__channel_html_gaf5d55c90f3d98c583df23d21905c1127"><div class="ttname"><a href="group__libssh__channel.html#gaf5d55c90f3d98c583df23d21905c1127">ssh_channel_change_pty_size</a></div><div class="ttdeci">int ssh_channel_change_pty_size(ssh_channel channel, int cols, int rows)</div><div class="ttdoc">Change the size of the terminal associated to a channel. </div><div class="ttdef"><b>Definition:</b> channels.c:1739</div></div>
<div class="ttc" id="group__libssh__session_html_ga032e07cbd8bc3f14cb2dd375db0b03d7"><div class="ttname"><a href="group__libssh__session.html#ga032e07cbd8bc3f14cb2dd375db0b03d7">ssh_connect</a></div><div class="ttdeci">int ssh_connect(ssh_session session)</div><div class="ttdoc">Connect to the ssh server. </div><div class="ttdef"><b>Definition:</b> client.c:531</div></div>
<div class="ttc" id="group__libssh__session_html_ga0f048a4c0dbe02cfb7e9c5b6d0db0f27"><div class="ttname"><a href="group__libssh__session.html#ga0f048a4c0dbe02cfb7e9c5b6d0db0f27">ssh_disconnect</a></div><div class="ttdeci">void ssh_disconnect(ssh_session session)</div><div class="ttdoc">Disconnect from a session (client or server). </div><div class="ttdef"><b>Definition:</b> client.c:689</div></div>
<div class="ttc" id="classssh_1_1Session_html_a9e0af590062a73a0927bb513bc19dd8e"><div class="ttname"><a href="classssh_1_1Session.html#a9e0af590062a73a0927bb513bc19dd8e">ssh::Session::getOpensshVersion</a></div><div class="ttdeci">int getOpensshVersion()</div><div class="ttdoc">returns the OpenSSH version (server) if possible </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:292</div></div>
<div class="ttc" id="classssh_1_1Channel_html_a38880d18d0fc357be0f4f8b8ef1c92ef"><div class="ttname"><a href="classssh_1_1Channel.html#a38880d18d0fc357be0f4f8b8ef1c92ef">ssh::Channel::isClosed</a></div><div class="ttdeci">bool isClosed()</div><div class="ttdoc">returns true if channel is in closed state </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:451</div></div>
<div class="ttc" id="group__libssh__auth_html_ga58e7c265236edbc97a2f117d3f23b4dd"><div class="ttname"><a href="group__libssh__auth.html#ga58e7c265236edbc97a2f117d3f23b4dd">ssh_userauth_none</a></div><div class="ttdeci">int ssh_userauth_none(ssh_session session, const char *username)</div><div class="ttdoc">Try to authenticate through the &quot;none&quot; method. </div><div class="ttdef"><b>Definition:</b> auth.c:354</div></div>
<div class="ttc" id="group__libssh__channel_html_ga548bd0f77a50b7c8180942544b375866"><div class="ttname"><a href="group__libssh__channel.html#ga548bd0f77a50b7c8180942544b375866">ssh_channel_accept_x11</a></div><div class="ttdeci">ssh_channel ssh_channel_accept_x11(ssh_channel channel, int timeout_ms)</div><div class="ttdoc">Accept an X11 forwarding channel. </div><div class="ttdef"><b>Definition:</b> channels.c:2012</div></div>
<div class="ttc" id="group__libssh__channel_html_ga758cda957227751870c8772df46e5b39"><div class="ttname"><a href="group__libssh__channel.html#ga758cda957227751870c8772df46e5b39">ssh_channel_listen_forward</a></div><div class="ttdeci">int ssh_channel_listen_forward(ssh_session session, const char *address, int port, int *bound_port)</div><div class="ttdoc">Sends the &quot;tcpip-forward&quot; global request to ask the server to begin listening for inbound connections...</div><div class="ttdef"><b>Definition:</b> channels.c:2216</div></div>
<div class="ttc" id="group__libssh__channel_html_gaa98315fca818b561970a6950683f4053"><div class="ttname"><a href="group__libssh__channel.html#gaa98315fca818b561970a6950683f4053">ssh_channel_request_send_signal</a></div><div class="ttdeci">int ssh_channel_request_send_signal(ssh_channel channel, const char *signum)</div><div class="ttdoc">Send a signal to remote process (as described in RFC 4254, section 6.9). </div><div class="ttdef"><b>Definition:</b> channels.c:2494</div></div>
<div class="ttc" id="classssh_1_1SshException_html_a712f65602f9ae8bc6737ed4b1e4ee4cc"><div class="ttname"><a href="classssh_1_1SshException.html#a712f65602f9ae8bc6737ed4b1e4ee4cc">ssh::SshException::getError</a></div><div class="ttdeci">std::string getError()</div><div class="ttdoc">returns the error message of the last exception </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:96</div></div>
<div class="ttc" id="group__libssh__channel_html_ga490e4b0a7adc022507b7f165b336afe4"><div class="ttname"><a href="group__libssh__channel.html#ga490e4b0a7adc022507b7f165b336afe4">ssh_channel_accept_forward</a></div><div class="ttdeci">ssh_channel ssh_channel_accept_forward(ssh_session session, int timeout_ms, int *destination_port)</div><div class="ttdoc">Accept an incoming TCP/IP forwarding channel and get information about incomming connection. </div><div class="ttdef"><b>Definition:</b> channels.c:2279</div></div>
<div class="ttc" id="classssh_1_1Session_html_afb635d7f84b000bbabb09a86ad5ad074"><div class="ttname"><a href="classssh_1_1Session.html#afb635d7f84b000bbabb09a86ad5ad074">ssh::Session::userauthTryPublickey</a></div><div class="ttdeci">int userauthTryPublickey(ssh_key pubkey)</div><div class="ttdoc">Try to authenticate using the publickey method. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:215</div></div>
<div class="ttc" id="classssh_1_1Session_html_a15b2a58607cc42628e17c94c8f7eb793"><div class="ttname"><a href="classssh_1_1Session.html#a15b2a58607cc42628e17c94c8f7eb793">ssh::Session::silentDisconnect</a></div><div class="ttdeci">void silentDisconnect()</div><div class="ttdoc">silently disconnect from remote host </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:343</div></div>
<div class="ttc" id="classssh_1_1Session_html_a6cd5318d71a3850a87b87bdfd89a5983"><div class="ttname"><a href="classssh_1_1Session.html#a6cd5318d71a3850a87b87bdfd89a5983">ssh::Session::acceptForward</a></div><div class="ttdeci">Channel * acceptForward(int timeout_ms)</div><div class="ttdoc">accept an incoming forward connection </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:603</div></div>
<div class="ttc" id="group__libssh__channel_html_ga567d509183ade0a77190f390e2b5747d"><div class="ttname"><a href="group__libssh__channel.html#ga567d509183ade0a77190f390e2b5747d">ssh_channel_request_exec</a></div><div class="ttdeci">int ssh_channel_request_exec(ssh_channel channel, const char *cmd)</div><div class="ttdoc">Run a shell command without an interactive shell. </div><div class="ttdef"><b>Definition:</b> channels.c:2419</div></div>
<div class="ttc" id="classssh_1_1Channel_html_aa2794c09f819f3132b241aa6b72b0664"><div class="ttname"><a href="classssh_1_1Channel.html#aa2794c09f819f3132b241aa6b72b0664">ssh::Channel::isOpen</a></div><div class="ttdeci">bool isOpen()</div><div class="ttdoc">returns true if channel is in open state </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:463</div></div>
<div class="ttc" id="group__libssh__channel_html_ga37c1cec33fe5a2f184768aba52e3a0db"><div class="ttname"><a href="group__libssh__channel.html#ga37c1cec33fe5a2f184768aba52e3a0db">ssh_channel_request_pty</a></div><div class="ttdeci">int ssh_channel_request_pty(ssh_channel channel)</div><div class="ttdoc">Request a PTY. </div><div class="ttdef"><b>Definition:</b> channels.c:1720</div></div>
<div class="ttc" id="group__libssh__session_html_gae1bd16255ba373325adf76307d0c8c42"><div class="ttname"><a href="group__libssh__session.html#gae1bd16255ba373325adf76307d0c8c42">ssh_silent_disconnect</a></div><div class="ttdeci">void ssh_silent_disconnect(ssh_session session)</div><div class="ttdoc">Disconnect impolitely from a remote host by closing the socket. </div><div class="ttdef"><b>Definition:</b> session.c:442</div></div>
<div class="ttc" id="classssh_1_1Session_html_ad6dc221d1212370608516c89115f6470"><div class="ttname"><a href="classssh_1_1Session.html#ad6dc221d1212370608516c89115f6470">ssh::Session::setOption</a></div><div class="ttdeci">void setOption(enum ssh_options_e type, long int option)</div><div class="ttdoc">sets an SSH session options </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:152</div></div>
<div class="ttc" id="group__libssh__session_html_gad19e368e35d48e02ba95970a7d1e87f5"><div class="ttname"><a href="group__libssh__session.html#gad19e368e35d48e02ba95970a7d1e87f5">ssh_get_disconnect_message</a></div><div class="ttdeci">const char * ssh_get_disconnect_message(ssh_session session)</div><div class="ttdoc">Get the disconnect message from the server. </div><div class="ttdef"><b>Definition:</b> session.c:783</div></div>
<div class="ttc" id="group__libssh__session_html_gaadadc0f9601547c30db7c4d62017d32c"><div class="ttname"><a href="group__libssh__session.html#gaadadc0f9601547c30db7c4d62017d32c">ssh_new</a></div><div class="ttdeci">ssh_session ssh_new(void)</div><div class="ttdoc">Create a new ssh session. </div><div class="ttdef"><b>Definition:</b> session.c:61</div></div>
<div class="ttc" id="group__libssh__channel_html_gad1417f9eae8928fed20faafe2d9dbfff"><div class="ttname"><a href="group__libssh__channel.html#gad1417f9eae8928fed20faafe2d9dbfff">ssh_channel_free</a></div><div class="ttdeci">void ssh_channel_free(ssh_channel channel)</div><div class="ttdoc">Close and free a channel. </div><div class="ttdef"><b>Definition:</b> channels.c:1005</div></div>
<div class="ttc" id="group__libssh__auth_html_ga592f673c4d417a6a46cd4876ac8287aa"><div class="ttname"><a href="group__libssh__auth.html#ga592f673c4d417a6a46cd4876ac8287aa">ssh_userauth_try_publickey</a></div><div class="ttdeci">int ssh_userauth_try_publickey(ssh_session session, const char *username, const ssh_key pubkey)</div><div class="ttdoc">Try to authenticate with the given public key. </div><div class="ttdef"><b>Definition:</b> auth.c:441</div></div>
<div class="ttc" id="group__libssh__session_html_ga6f37e3d7bb6b938b44d6a34a76fdfa0b"><div class="ttname"><a href="group__libssh__session.html#ga6f37e3d7bb6b938b44d6a34a76fdfa0b">ssh_is_server_known</a></div><div class="ttdeci">int ssh_is_server_known(ssh_session session)</div><div class="ttdoc">Check if the server is known. </div><div class="ttdef"><b>Definition:</b> known_hosts.c:406</div></div>
<div class="ttc" id="classssh_1_1Session_html_ad19ae4a0927094c12f383907cbf40ccc"><div class="ttname"><a href="classssh_1_1Session.html#ad19ae4a0927094c12f383907cbf40ccc">ssh::Session::setOption</a></div><div class="ttdeci">void setOption(enum ssh_options_e type, const char *option)</div><div class="ttdoc">sets an SSH session options </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:142</div></div>
<div class="ttc" id="group__libssh__channel_html_ga9eea019dd0bbaa8a817fff2c762d1a2d"><div class="ttname"><a href="group__libssh__channel.html#ga9eea019dd0bbaa8a817fff2c762d1a2d">ssh_channel_get_exit_status</a></div><div class="ttdeci">int ssh_channel_get_exit_status(ssh_channel channel)</div><div class="ttdoc">Get the exit status of the channel (error code from the executed instruction). </div><div class="ttdef"><b>Definition:</b> channels.c:2969</div></div>
<div class="ttc" id="group__libssh__channel_html_ga3bff751afc5ecb5bbf9d6447e4e5370f"><div class="ttname"><a href="group__libssh__channel.html#ga3bff751afc5ecb5bbf9d6447e4e5370f">ssh_channel_cancel_forward</a></div><div class="ttdeci">int ssh_channel_cancel_forward(ssh_session session, const char *address, int port)</div><div class="ttdoc">Sends the &quot;cancel-tcpip-forward&quot; global request to ask the server to cancel the tcpip-forward request...</div><div class="ttdef"><b>Definition:</b> channels.c:2298</div></div>
<div class="ttc" id="group__libssh__channel_html_ga7ebd0ed490ee4485c6d5feb7d22bc162"><div class="ttname"><a href="group__libssh__channel.html#ga7ebd0ed490ee4485c6d5feb7d22bc162">ssh_channel_write_stderr</a></div><div class="ttdeci">int ssh_channel_write_stderr(ssh_channel channel, const void *data, uint32_t len)</div><div class="ttdoc">Blocking write on a channel stderr. </div><div class="ttdef"><b>Definition:</b> channels.c:3226</div></div>
<div class="ttc" id="classssh_1_1Session_html_a4e0c0bcc2cc0d129e049b5b51bf1cbe8"><div class="ttname"><a href="classssh_1_1Session.html#a4e0c0bcc2cc0d129e049b5b51bf1cbe8">ssh::Session::getDisconnectMessage</a></div><div class="ttdeci">const char * getDisconnectMessage()</div><div class="ttdoc">Returns the disconnect message from the server, if any. </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:253</div></div>
<div class="ttc" id="classssh_1_1Session_html_a05cbc79d7b3ef14499fe258f56031957"><div class="ttname"><a href="classssh_1_1Session.html#a05cbc79d7b3ef14499fe258f56031957">ssh::Session::optionsCopy</a></div><div class="ttdeci">void optionsCopy(const Session &amp;source)</div><div class="ttdoc">copies options from a session to another </div><div class="ttdef"><b>Definition:</b> libsshpp.hpp:327</div></div>
<div class="ttc" id="group__libssh__session_html_gae5af27a98a7488e9f5ded6b37c274156"><div class="ttname"><a href="group__libssh__session.html#gae5af27a98a7488e9f5ded6b37c274156">ssh_free</a></div><div class="ttdeci">void ssh_free(ssh_session session)</div><div class="ttdoc">Deallocate a SSH session handle. </div><div class="ttdef"><b>Definition:</b> session.c:184</div></div>
<div class="ttc" id="group__libssh__channel_html_gaaca5a3fbe9839c3ffb37b746afc35f4c"><div class="ttname"><a href="group__libssh__channel.html#gaaca5a3fbe9839c3ffb37b746afc35f4c">ssh_channel_read_nonblocking</a></div><div class="ttdeci">int ssh_channel_read_nonblocking(ssh_channel channel, void *dest, uint32_t count, int is_stderr)</div><div class="ttdoc">Do a nonblocking read on the channel. </div><div class="ttdef"><b>Definition:</b> channels.c:2788</div></div>
<div class="ttc" id="group__libssh__error_html_ga036433b7bf3d4ca94206253f58d136f9"><div class="ttname"><a href="group__libssh__error.html#ga036433b7bf3d4ca94206253f58d136f9">ssh_get_error_code</a></div><div class="ttdeci">int ssh_get_error_code(void *error)</div><div class="ttdoc">Retrieve the error code from the last error. </div><div class="ttdef"><b>Definition:</b> error.c:131</div></div>
</div><!-- fragment --></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.13
</small></address>
</body>
</html>