Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/remminadoc.gitlab.io.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntenore Gatta <antenore@simbiosi.org>2021-01-15 16:31:30 +0300
committerAntenore Gatta <antenore@simbiosi.org>2021-01-15 16:31:30 +0300
commit585cb45c5ec2b5296f24cfbbc44e69d1f10e8dd5 (patch)
tree0369b6878dbed50f2dc0f2ca5dc5cac048600ce3 /public/remmina__ssh_8h_source.html
parent1c00e2314af538f9f70c446d00f38b24fd2d89fe (diff)
Automatic doc build by remmina-ci
Diffstat (limited to 'public/remmina__ssh_8h_source.html')
-rw-r--r--public/remmina__ssh_8h_source.html115
1 files changed, 59 insertions, 56 deletions
diff --git a/public/remmina__ssh_8h_source.html b/public/remmina__ssh_8h_source.html
index d61fec70a..540f9162f 100644
--- a/public/remmina__ssh_8h_source.html
+++ b/public/remmina__ssh_8h_source.html
@@ -86,16 +86,17 @@ $(document).ready(function(){initNavTree('remmina__ssh_8h_source.html','');});
<div class="title">remmina_ssh.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__ssh_8h.html">Go to the documentation of this file.</a><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"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2021 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#define LIBSSH_STATIC 1</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;libssh/libssh.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;libssh/callbacks.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;libssh/sftp.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment">* SSH Base *</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#define REMMINA_SSH(a) ((RemminaSSH *)a)</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html"> 59</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h.html">_RemminaSSH</a> {</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a46cdb47db9c0ce8c1ac267cb3d10bbb3"> 60</a></span>&#160; ssh_session <a class="code" href="struct___remmina_s_s_h.html#a46cdb47db9c0ce8c1ac267cb3d10bbb3">session</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aa8e75d0a635b3390100218bee6b49378"> 61</a></span>&#160; ssh_callbacks <a class="code" href="struct___remmina_s_s_h.html#aa8e75d0a635b3390100218bee6b49378">callback</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ac148c436afa70f426d665b4ddd2d8f4d"> 62</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h.html#ac148c436afa70f426d665b4ddd2d8f4d">authenticated</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ae396f0b535e2e92d640a0eb971aa082b"> 64</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#ae396f0b535e2e92d640a0eb971aa082b">server</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc"> 65</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">port</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a3a8dc7679e22208bbdf076c520f25bbb"> 66</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a3a8dc7679e22208bbdf076c520f25bbb">user</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#abf5a73c3444790177635a6eab6417d03"> 67</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#abf5a73c3444790177635a6eab6417d03">auth</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89"> 68</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89">password</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#af9f34b088c5af320708cf02dfc45d59e"> 69</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#af9f34b088c5af320708cf02dfc45d59e">privkeyfile</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a0b35a5a573abb5e8b8a27a91434a00a5"> 71</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a0b35a5a573abb5e8b8a27a91434a00a5">charset</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a345d41b54490dd39e35280122d22feed"> 72</a></span>&#160; <span class="keyword">const</span> gchar * <a class="code" href="struct___remmina_s_s_h.html#a345d41b54490dd39e35280122d22feed">kex_algorithms</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a0b3e071eb2c6011efdcea3f65f8e7fa0"> 73</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a0b3e071eb2c6011efdcea3f65f8e7fa0">ciphers</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a69e209a1ee77d6dfe5d87961e2a50a6a"> 74</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a69e209a1ee77d6dfe5d87961e2a50a6a">hostkeytypes</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ac03e015f09baa46d4a9a118c606736af"> 75</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#ac03e015f09baa46d4a9a118c606736af">proxycommand</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a62e6a209747daa65061273243e830ae9"> 76</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#a62e6a209747daa65061273243e830ae9">stricthostkeycheck</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ab017331f59fceff63bb33ff00d088870"> 77</a></span>&#160; <span class="keyword">const</span> gchar * <a class="code" href="struct___remmina_s_s_h.html#ab017331f59fceff63bb33ff00d088870">compression</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a3aaebd7f03b7d8601818fabc46b787ed"> 79</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a3aaebd7f03b7d8601818fabc46b787ed">error</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a547feb6e46dfb8e37a4eb338c17d7b52"> 81</a></span>&#160; pthread_mutex_t <a class="code" href="struct___remmina_s_s_h.html#a547feb6e46dfb8e37a4eb338c17d7b52">ssh_mutex</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aa34e103281dafaa073d2a676b3368529"> 83</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#aa34e103281dafaa073d2a676b3368529">passphrase</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6"> 85</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6">is_tunnel</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aebc7525b6f72d22c1ce4df93c1576602"> 86</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#aebc7525b6f72d22c1ce4df93c1576602">tunnel_entrance_host</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a76ed92539dfe749a24a3a3b99f3a644f"> 87</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#a76ed92539dfe749a24a3a3b99f3a644f">tunnel_entrance_port</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;} <a class="code" href="remmina__ssh_8h.html#af0f6d172a5ceae64f62ad54883666ccc">RemminaSSH</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh_identity_path</a>(<span class="keyword">const</span> gchar *<span class="keywordtype">id</span>);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment">/* Auto-detect commonly used private key identities */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh_find_identity</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment">/* Initialize the ssh object */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a6815a78f65795cbc6795ca1c59e73102">remmina_ssh_init_from_file</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gboolean <a class="code" href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6">is_tunnel</a>);</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="comment">/* Initialize the SSH session */</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a624b8ac30ddcd00ebda0b51d504f5a33">remmina_ssh_init_session</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment">/* Authenticate SSH session */</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1"> 105</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a> {</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266"> 106</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266">REMMINA_SSH_AUTH_SUCCESS</a>,</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f"> 107</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f">REMMINA_SSH_AUTH_AUTHFAILED_RETRY_AFTER_PROMPT</a>,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea"> 108</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea">REMMINA_SSH_AUTH_USERCANCEL</a>,</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735"> 109</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735">REMMINA_SSH_AUTH_FATAL_ERROR</a>,</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7"> 110</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7">REMMINA_SSH_AUTH_RECONNECT</a></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;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keyword">enum</span> <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a> <a class="code" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh_auth</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *<a class="code" href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89">password</a>, <a class="code" href="struct___remmina_protocol_widget.html">RemminaProtocolWidget</a> *gp, <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keyword">enum</span> <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a> <a class="code" href="remmina__ssh_8h.html#acf69725720378340e1a51c87e7638a7f">remmina_ssh_auth_gui</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <a class="code" href="struct___remmina_protocol_widget.html">RemminaProtocolWidget</a> *gp, <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment">/* Error handling */</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor">#define remmina_ssh_has_error(ssh) (((RemminaSSH *)ssh)-&gt;error != NULL)</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh_set_error</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *fmt);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh_set_application_error</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *fmt, ...);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment">/* Converts a string to/from UTF-8, or simply duplicate it if no conversion */</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#a09bd4aee40b6e8d6ba8ffaa84dc95330">remmina_ssh_convert</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *from);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#aeccf94afb57bcad37b4241d45fcb3fea">remmina_ssh_unconvert</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *from);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#acdb9f57d2f9b47913715a8d8a0ea0c02">remmina_ssh_free</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment">* SSH Tunnel *</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a3f84b047e47b96a0475ac9e9fa60b286"> 131</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h_tunnel.html">_RemminaSSHTunnel</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0"> 132</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>_RemminaSSHTunnelBuffer <a class="code" href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0">RemminaSSHTunnelBuffer</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924"> 134</a></span>&#160;<span class="keyword">typedef</span> gboolean (*<a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a>) (<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *, gpointer);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14"> 137</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14">REMMINA_SSH_TUNNEL_OPEN</a>,</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91"> 138</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91">REMMINA_SSH_TUNNEL_X11</a>,</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326"> 139</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326">REMMINA_SSH_TUNNEL_XPORT</a>,</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459"> 140</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459">REMMINA_SSH_TUNNEL_REVERSE</a></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;};</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html"> 144</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h_tunnel.html">_RemminaSSHTunnel</a> {</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ad9887ee0673a2b0b03b091746ae02d23"> 145</a></span>&#160; <a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#ad9887ee0673a2b0b03b091746ae02d23">ssh</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ac86d0d359e5d97d8d60fac69c9af69df"> 147</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#ac86d0d359e5d97d8d60fac69c9af69df">tunnel_type</a>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ab11c1bcc8549ce8b154f65f9009c65d4"> 149</a></span>&#160; ssh_channel * <a class="code" href="struct___remmina_s_s_h_tunnel.html#ab11c1bcc8549ce8b154f65f9009c65d4">channels</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#aa9ab1684349da8bfd6b84cc135c053b3"> 150</a></span>&#160; gint * <a class="code" href="struct___remmina_s_s_h_tunnel.html#aa9ab1684349da8bfd6b84cc135c053b3">sockets</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a27cb79f54113bb4aa46ea163717087b1"> 151</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0">RemminaSSHTunnelBuffer</a> ** <a class="code" href="struct___remmina_s_s_h_tunnel.html#a27cb79f54113bb4aa46ea163717087b1">socketbuffers</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#abb17dc2972e189660c20eff7ec0fe513"> 152</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#abb17dc2972e189660c20eff7ec0fe513">num_channels</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a6a184c6ca8fa267012d86986dac396c6"> 153</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#a6a184c6ca8fa267012d86986dac396c6">max_channels</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a069b886ad870cb318693fe1022179b3d"> 155</a></span>&#160; ssh_channel <a class="code" href="struct___remmina_s_s_h_tunnel.html#a069b886ad870cb318693fe1022179b3d">x11_channel</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#aa496acab4967f380e3520aeb9dae2bbd"> 157</a></span>&#160; pthread_t <a class="code" href="struct___remmina_s_s_h_tunnel.html#aa496acab4967f380e3520aeb9dae2bbd">thread</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a956cb7289e147875ae5f745b33514ebd"> 158</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h_tunnel.html#a956cb7289e147875ae5f745b33514ebd">running</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a155d773294b0671aac4e710e97d90047"> 160</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a155d773294b0671aac4e710e97d90047">buffer</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a88ae4fb816713bd90d8e452b5e7ef0bb"> 161</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#a88ae4fb816713bd90d8e452b5e7ef0bb">buffer_len</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a37244b9fafd3ab48c0f11ad0b8cfdf91"> 162</a></span>&#160; ssh_channel * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a37244b9fafd3ab48c0f11ad0b8cfdf91">channels_out</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a7fd94fc8f610d86eb71a7a7fa1500d69"> 164</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#a7fd94fc8f610d86eb71a7a7fa1500d69">server_sock</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a4d61f0c0926686f8451dcf49d2d857da"> 165</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a4d61f0c0926686f8451dcf49d2d857da">dest</a>;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ad883561d61ee8d32d2201e642b0ab9cc"> 166</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#ad883561d61ee8d32d2201e642b0ab9cc">port</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ae41b6af92643cfbcd3e13275f4281260"> 167</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#ae41b6af92643cfbcd3e13275f4281260">localport</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#af670e0b0960c3e71e9f0b8b797ef9c28"> 169</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#af670e0b0960c3e71e9f0b8b797ef9c28">remotedisplay</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a6fa916d3736cb8e2a0e6541f608c209b"> 170</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h_tunnel.html#a6fa916d3736cb8e2a0e6541f608c209b">bindlocalhost</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1"> 171</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1">localdisplay</a>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a8066492c4a0181f1b39b2fb2098fb56d"> 173</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#a8066492c4a0181f1b39b2fb2098fb56d">init_func</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660"> 174</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660">connect_func</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a19fed9a85494d40d3f2ae2ae1d1bc18c"> 175</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#a19fed9a85494d40d3f2ae2ae1d1bc18c">disconnect_func</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6"> 176</a></span>&#160; gpointer <a class="code" href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6">callback_data</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a1e1f1bfaec497b1365ea70ebe795d778"> 178</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#a1e1f1bfaec497b1365ea70ebe795d778">destroy_func</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795"> 179</a></span>&#160; gpointer <a class="code" href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795">destroy_func_callback_data</a>;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;};</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment">/* Create a new SSH Tunnel session and connects to the SSH server */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *<a class="code" href="remmina__ssh_8h.html#abf04fd329ab77bbd4f6aa1cb1eaa349d">remmina_ssh_tunnel_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment">/* Open the tunnel. A new thread will be started and listen on a local port.</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> * dest: The host:port of the remote destination</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> * local_port: The listening local port for the tunnel</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53">remmina_ssh_tunnel_open</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, <span class="keyword">const</span> gchar *host, gint <a class="code" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">port</a>, gint local_port);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment">/* Cancel accepting any incoming tunnel request.</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> * Typically called after the connection has already been establish.</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#ae9f52b1a3a545acae8c93007e20ec909">remmina_ssh_tunnel_cancel_accept</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment">/* Accept the X11 tunnel. A new thread will be started and connect to local display.</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> * cmd: The remote X11 application to be executed</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#ac6d58beb4df141c6353e897c39748146">remmina_ssh_tunnel_x11</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, <span class="keyword">const</span> gchar *cmd);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment">/* start X Port Forwarding */</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#aba49db2ced40e21e8adfad69dcfda2c4">remmina_ssh_tunnel_xport</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, gboolean bindlocalhost);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment">/* start reverse tunnel. A new thread will be started and waiting for incoming connection.</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> * port: the port listening on the remote server side.</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> * local_port: the port listening on the local side. When connection on the server side comes</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> * in, it will connect to the local port and create the tunnel. The caller should</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> * start listening on the local port before calling it or in connect_func callback.</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2">remmina_ssh_tunnel_reverse</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, gint <a class="code" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">port</a>, gint local_port);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment">/* Tells if the tunnel is terminated after start */</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#aeb20d31243a4d30e469a34fe01684e38">remmina_ssh_tunnel_terminated</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment">/* Free the tunnel */</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#a223f8dd7a678bcec2ece40a2d8f7ea06">remmina_ssh_tunnel_free</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment">* SSH sFTP *</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="struct___remmina_s_f_t_p.html"> 223</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_f_t_p.html">_RemminaSFTP</a> {</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e"> 224</a></span>&#160; <a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> <a class="code" href="struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e">ssh</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df"> 226</a></span>&#160; sftp_session <a class="code" href="struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df">sftp_sess</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;} <a class="code" href="remmina__ssh_8h.html#a8853669690f71506f9fe04ff08e2eaca">RemminaSFTP</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment">/* Create a new SFTP session object from RemminaFile */</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *<a class="code" href="remmina__ssh_8h.html#a3d7138d9cbbe44aea15440436ce85d6e">remmina_sftp_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment">/* Create a new SFTP session object from existing SSH session */</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *<a class="code" href="remmina__ssh_8h.html#a1500d65d1f0751812f237c1cb4d15188">remmina_sftp_new_from_ssh</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment">/* open the SFTP session, assuming the session already authenticated */</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a1e09b32044c240a7dce0ad8afcbf0ff2">remmina_sftp_open</a>(<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *sftp);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment">/* Free the SFTP session */</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#aaaf171c31b73f06f1026239253d9f6b9">remmina_sftp_free</a>(<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *sftp);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment">* SSH Shell *</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01"> 244</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a>) (gpointer data);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html"> 246</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h_shell.html">_RemminaSSHShell</a> {</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#af347a2bbe1bf439695d181387042b098"> 247</a></span>&#160; <a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> <a class="code" href="struct___remmina_s_s_h_shell.html#af347a2bbe1bf439695d181387042b098">ssh</a>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#ab02f57e79ea0ba35f8a3788ef01a707f"> 249</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_shell.html#ab02f57e79ea0ba35f8a3788ef01a707f">master</a>;</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a78edb0cd27564e88b6c92b425a383df6"> 250</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_shell.html#a78edb0cd27564e88b6c92b425a383df6">slave</a>;</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a2d56befd61e28b83f90fe3eff0e6dfe7"> 251</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_shell.html#a2d56befd61e28b83f90fe3eff0e6dfe7">exec</a>;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a878854125f24a8de520ec91066d0d226"> 252</a></span>&#160; pthread_t <a class="code" href="struct___remmina_s_s_h_shell.html#a878854125f24a8de520ec91066d0d226">thread</a>;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a7c546634f855c217faa75ab4d4c7c2e2"> 253</a></span>&#160; ssh_channel <a class="code" href="struct___remmina_s_s_h_shell.html#a7c546634f855c217faa75ab4d4c7c2e2">channel</a>;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a6b2e8c1d9705b4c5b64a0e07a1159e80"> 254</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h_shell.html#a6b2e8c1d9705b4c5b64a0e07a1159e80">closed</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a88090ecb372853a19640c883f5bf606a"> 255</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a> <a class="code" href="struct___remmina_s_s_h_shell.html#a88090ecb372853a19640c883f5bf606a">exit_callback</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#adedb04066148973fed2de9f04b80286d"> 256</a></span>&#160; gpointer <a class="code" href="struct___remmina_s_s_h_shell.html#adedb04066148973fed2de9f04b80286d">user_data</a>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;} <a class="code" href="remmina__ssh_8h.html#a1dd627c6195e879ba5ca12f5d590b10d">RemminaSSHShell</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment">/* Create a new SSH Shell session object from RemminaFile */</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *<a class="code" href="remmina__ssh_8h.html#a30412e0b4302f5ae0b9be2749390a48d">remmina_ssh_shell_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment">/* Create a new SSH Shell session object from existing SSH session */</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *<a class="code" href="remmina__ssh_8h.html#ae0792ddb4adcaafefc1a4604cefdd8f4">remmina_ssh_shell_new_from_ssh</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment">/* open the SSH Shell, assuming the session already authenticated */</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a1c095a955af21b3ed9952ba2ea94691b">remmina_ssh_shell_open</a>(<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *shell, <a class="code" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a> exit_callback, gpointer data);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment">/* Change the SSH Shell terminal size */</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#ac2d3f3b6550e4d1fe4caabe1df6af508">remmina_ssh_shell_set_size</a>(<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *shell, gint columns, gint rows);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment">/* Free the SFTP session */</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#a316f97b879e147ec52967344f6ad1d84">remmina_ssh_shell_free</a>(<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *shell);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;G_END_DECLS</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="preprocessor">#define RemminaSSH void</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="preprocessor">#define RemminaSSHTunnel void</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="preprocessor">#define RemminaSFTP void</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="preprocessor">#define RemminaSSHShell void</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a>)(void);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_LIBSSH */</span><span class="preprocessor"></span></div><div class="ttc" id="struct___remmina_s_s_h_tunnel_html"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html">_RemminaSSHTunnel</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00144">remmina_ssh.h:144</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f">REMMINA_SSH_AUTH_AUTHFAILED_RETRY_AFTER_PROMPT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00107">remmina_ssh.h:107</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_afd166711167c39b8c1f6e8be3eb0c4e0"><div class="ttname"><a href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0">RemminaSSHTunnelBuffer</a></div><div class="ttdeci">struct _RemminaSSHTunnelBuffer RemminaSSHTunnelBuffer</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00132">remmina_ssh.h:132</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a4d61f0c0926686f8451dcf49d2d857da"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a4d61f0c0926686f8451dcf49d2d857da">_RemminaSSHTunnel::dest</a></div><div class="ttdeci">gchar * dest</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00165">remmina_ssh.h:165</a></div></div>
+<a href="remmina__ssh_8h.html">Go to the documentation of this file.</a><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"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2021 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#define LIBSSH_STATIC 1</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;libssh/libssh.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;libssh/callbacks.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;libssh/sftp.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment">* SSH Base *</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#define REMMINA_SSH(a) ((RemminaSSH *)a)</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html"> 59</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h.html">_RemminaSSH</a> {</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a46cdb47db9c0ce8c1ac267cb3d10bbb3"> 60</a></span>&#160; ssh_session <a class="code" href="struct___remmina_s_s_h.html#a46cdb47db9c0ce8c1ac267cb3d10bbb3">session</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aa8e75d0a635b3390100218bee6b49378"> 61</a></span>&#160; ssh_callbacks <a class="code" href="struct___remmina_s_s_h.html#aa8e75d0a635b3390100218bee6b49378">callback</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ac148c436afa70f426d665b4ddd2d8f4d"> 62</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h.html#ac148c436afa70f426d665b4ddd2d8f4d">authenticated</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ae396f0b535e2e92d640a0eb971aa082b"> 64</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#ae396f0b535e2e92d640a0eb971aa082b">server</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc"> 65</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">port</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a3a8dc7679e22208bbdf076c520f25bbb"> 66</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a3a8dc7679e22208bbdf076c520f25bbb">user</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#abf5a73c3444790177635a6eab6417d03"> 67</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#abf5a73c3444790177635a6eab6417d03">auth</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89"> 68</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89">password</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#af9f34b088c5af320708cf02dfc45d59e"> 69</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#af9f34b088c5af320708cf02dfc45d59e">privkeyfile</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a0b35a5a573abb5e8b8a27a91434a00a5"> 71</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a0b35a5a573abb5e8b8a27a91434a00a5">charset</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a345d41b54490dd39e35280122d22feed"> 72</a></span>&#160; <span class="keyword">const</span> gchar * <a class="code" href="struct___remmina_s_s_h.html#a345d41b54490dd39e35280122d22feed">kex_algorithms</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a0b3e071eb2c6011efdcea3f65f8e7fa0"> 73</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a0b3e071eb2c6011efdcea3f65f8e7fa0">ciphers</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a69e209a1ee77d6dfe5d87961e2a50a6a"> 74</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a69e209a1ee77d6dfe5d87961e2a50a6a">hostkeytypes</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ac03e015f09baa46d4a9a118c606736af"> 75</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#ac03e015f09baa46d4a9a118c606736af">proxycommand</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a62e6a209747daa65061273243e830ae9"> 76</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#a62e6a209747daa65061273243e830ae9">stricthostkeycheck</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ab017331f59fceff63bb33ff00d088870"> 77</a></span>&#160; <span class="keyword">const</span> gchar * <a class="code" href="struct___remmina_s_s_h.html#ab017331f59fceff63bb33ff00d088870">compression</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a3aaebd7f03b7d8601818fabc46b787ed"> 79</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#a3aaebd7f03b7d8601818fabc46b787ed">error</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a547feb6e46dfb8e37a4eb338c17d7b52"> 81</a></span>&#160; pthread_mutex_t <a class="code" href="struct___remmina_s_s_h.html#a547feb6e46dfb8e37a4eb338c17d7b52">ssh_mutex</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aa34e103281dafaa073d2a676b3368529"> 83</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#aa34e103281dafaa073d2a676b3368529">passphrase</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6"> 85</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6">is_tunnel</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a6de32421fea0537fb29c03e0ae8b41d6"> 86</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h.html#a6de32421fea0537fb29c03e0ae8b41d6">is_multiauth</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#aebc7525b6f72d22c1ce4df93c1576602"> 87</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h.html#aebc7525b6f72d22c1ce4df93c1576602">tunnel_entrance_host</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h.html#a76ed92539dfe749a24a3a3b99f3a644f"> 88</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h.html#a76ed92539dfe749a24a3a3b99f3a644f">tunnel_entrance_port</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;} <a class="code" href="remmina__ssh_8h.html#af0f6d172a5ceae64f62ad54883666ccc">RemminaSSH</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh_identity_path</a>(<span class="keyword">const</span> gchar *<span class="keywordtype">id</span>);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment">/* Auto-detect commonly used private key identities */</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh_find_identity</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment">/* Initialize the ssh object */</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a6815a78f65795cbc6795ca1c59e73102">remmina_ssh_init_from_file</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gboolean <a class="code" href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6">is_tunnel</a>);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment">/* Initialize the SSH session */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a624b8ac30ddcd00ebda0b51d504f5a33">remmina_ssh_init_session</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</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;<span class="comment">/* Authenticate SSH session */</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1"> 106</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a> {</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266"> 107</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266">REMMINA_SSH_AUTH_SUCCESS</a>,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a17f0c32b34a9d3a56fbb8cb09ad896a0"> 108</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a17f0c32b34a9d3a56fbb8cb09ad896a0">REMMINA_SSH_AUTH_PARTIAL</a>,</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a416a26d636d492c3530b6c5f0f04a623"> 109</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a416a26d636d492c3530b6c5f0f04a623">REMMINA_SSH_AUTH_AGAIN</a>,</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f"> 110</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f">REMMINA_SSH_AUTH_AUTHFAILED_RETRY_AFTER_PROMPT</a>,</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea"> 111</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea">REMMINA_SSH_AUTH_USERCANCEL</a>,</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735"> 112</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735">REMMINA_SSH_AUTH_FATAL_ERROR</a>,</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7"> 113</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7">REMMINA_SSH_AUTH_RECONNECT</a></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;};</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keyword">enum</span> <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a> <a class="code" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh_auth</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *<a class="code" href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89">password</a>, <a class="code" href="struct___remmina_protocol_widget.html">RemminaProtocolWidget</a> *gp, <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keyword">enum</span> <a class="code" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a> <a class="code" href="remmina__ssh_8h.html#acf69725720378340e1a51c87e7638a7f">remmina_ssh_auth_gui</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <a class="code" href="struct___remmina_protocol_widget.html">RemminaProtocolWidget</a> *gp, <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment">/* Error handling */</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor">#define remmina_ssh_has_error(ssh) (((RemminaSSH *)ssh)-&gt;error != NULL)</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh_set_error</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *fmt);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh_set_application_error</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *fmt, ...);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment">/* Converts a string to/from UTF-8, or simply duplicate it if no conversion */</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#a09bd4aee40b6e8d6ba8ffaa84dc95330">remmina_ssh_convert</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *from);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;gchar *<a class="code" href="remmina__ssh_8h.html#aeccf94afb57bcad37b4241d45fcb3fea">remmina_ssh_unconvert</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh, <span class="keyword">const</span> gchar *from);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#acdb9f57d2f9b47913715a8d8a0ea0c02">remmina_ssh_free</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment">* SSH Tunnel *</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a3f84b047e47b96a0475ac9e9fa60b286"> 134</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h_tunnel.html">_RemminaSSHTunnel</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0"> 135</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>_RemminaSSHTunnelBuffer <a class="code" href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0">RemminaSSHTunnelBuffer</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924"> 137</a></span>&#160;<span class="keyword">typedef</span> gboolean (*<a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a>) (<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *, gpointer);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14"> 140</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14">REMMINA_SSH_TUNNEL_OPEN</a>,</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91"> 141</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91">REMMINA_SSH_TUNNEL_X11</a>,</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326"> 142</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326">REMMINA_SSH_TUNNEL_XPORT</a>,</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459"> 143</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459">REMMINA_SSH_TUNNEL_REVERSE</a></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;};</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html"> 147</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h_tunnel.html">_RemminaSSHTunnel</a> {</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ad9887ee0673a2b0b03b091746ae02d23"> 148</a></span>&#160; <a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#ad9887ee0673a2b0b03b091746ae02d23">ssh</a>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ac86d0d359e5d97d8d60fac69c9af69df"> 150</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#ac86d0d359e5d97d8d60fac69c9af69df">tunnel_type</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ab11c1bcc8549ce8b154f65f9009c65d4"> 152</a></span>&#160; ssh_channel * <a class="code" href="struct___remmina_s_s_h_tunnel.html#ab11c1bcc8549ce8b154f65f9009c65d4">channels</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#aa9ab1684349da8bfd6b84cc135c053b3"> 153</a></span>&#160; gint * <a class="code" href="struct___remmina_s_s_h_tunnel.html#aa9ab1684349da8bfd6b84cc135c053b3">sockets</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a27cb79f54113bb4aa46ea163717087b1"> 154</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0">RemminaSSHTunnelBuffer</a> ** <a class="code" href="struct___remmina_s_s_h_tunnel.html#a27cb79f54113bb4aa46ea163717087b1">socketbuffers</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#abb17dc2972e189660c20eff7ec0fe513"> 155</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#abb17dc2972e189660c20eff7ec0fe513">num_channels</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a6a184c6ca8fa267012d86986dac396c6"> 156</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#a6a184c6ca8fa267012d86986dac396c6">max_channels</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a069b886ad870cb318693fe1022179b3d"> 158</a></span>&#160; ssh_channel <a class="code" href="struct___remmina_s_s_h_tunnel.html#a069b886ad870cb318693fe1022179b3d">x11_channel</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#aa496acab4967f380e3520aeb9dae2bbd"> 160</a></span>&#160; pthread_t <a class="code" href="struct___remmina_s_s_h_tunnel.html#aa496acab4967f380e3520aeb9dae2bbd">thread</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a956cb7289e147875ae5f745b33514ebd"> 161</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h_tunnel.html#a956cb7289e147875ae5f745b33514ebd">running</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a155d773294b0671aac4e710e97d90047"> 163</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a155d773294b0671aac4e710e97d90047">buffer</a>;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a88ae4fb816713bd90d8e452b5e7ef0bb"> 164</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#a88ae4fb816713bd90d8e452b5e7ef0bb">buffer_len</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a37244b9fafd3ab48c0f11ad0b8cfdf91"> 165</a></span>&#160; ssh_channel * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a37244b9fafd3ab48c0f11ad0b8cfdf91">channels_out</a>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a7fd94fc8f610d86eb71a7a7fa1500d69"> 167</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#a7fd94fc8f610d86eb71a7a7fa1500d69">server_sock</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a4d61f0c0926686f8451dcf49d2d857da"> 168</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a4d61f0c0926686f8451dcf49d2d857da">dest</a>;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ad883561d61ee8d32d2201e642b0ab9cc"> 169</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#ad883561d61ee8d32d2201e642b0ab9cc">port</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#ae41b6af92643cfbcd3e13275f4281260"> 170</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#ae41b6af92643cfbcd3e13275f4281260">localport</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#af670e0b0960c3e71e9f0b8b797ef9c28"> 172</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_tunnel.html#af670e0b0960c3e71e9f0b8b797ef9c28">remotedisplay</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a6fa916d3736cb8e2a0e6541f608c209b"> 173</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h_tunnel.html#a6fa916d3736cb8e2a0e6541f608c209b">bindlocalhost</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1"> 174</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1">localdisplay</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a8066492c4a0181f1b39b2fb2098fb56d"> 176</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#a8066492c4a0181f1b39b2fb2098fb56d">init_func</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660"> 177</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660">connect_func</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a19fed9a85494d40d3f2ae2ae1d1bc18c"> 178</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#a19fed9a85494d40d3f2ae2ae1d1bc18c">disconnect_func</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6"> 179</a></span>&#160; gpointer <a class="code" href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6">callback_data</a>;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a1e1f1bfaec497b1365ea70ebe795d778"> 181</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a> <a class="code" href="struct___remmina_s_s_h_tunnel.html#a1e1f1bfaec497b1365ea70ebe795d778">destroy_func</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795"> 182</a></span>&#160; gpointer <a class="code" href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795">destroy_func_callback_data</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;};</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment">/* Create a new SSH Tunnel session and connects to the SSH server */</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *<a class="code" href="remmina__ssh_8h.html#abf04fd329ab77bbd4f6aa1cb1eaa349d">remmina_ssh_tunnel_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment">/* Open the tunnel. A new thread will be started and listen on a local port.</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> * dest: The host:port of the remote destination</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> * local_port: The listening local port for the tunnel</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53">remmina_ssh_tunnel_open</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, <span class="keyword">const</span> gchar *host, gint <a class="code" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">port</a>, gint local_port);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment">/* Cancel accepting any incoming tunnel request.</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> * Typically called after the connection has already been establish.</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#ae9f52b1a3a545acae8c93007e20ec909">remmina_ssh_tunnel_cancel_accept</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment">/* Accept the X11 tunnel. A new thread will be started and connect to local display.</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> * cmd: The remote X11 application to be executed</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#ac6d58beb4df141c6353e897c39748146">remmina_ssh_tunnel_x11</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, <span class="keyword">const</span> gchar *cmd);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment">/* start X Port Forwarding */</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#aba49db2ced40e21e8adfad69dcfda2c4">remmina_ssh_tunnel_xport</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, gboolean bindlocalhost);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment">/* start reverse tunnel. A new thread will be started and waiting for incoming connection.</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> * port: the port listening on the remote server side.</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> * local_port: the port listening on the local side. When connection on the server side comes</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> * in, it will connect to the local port and create the tunnel. The caller should</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> * start listening on the local port before calling it or in connect_func callback.</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2">remmina_ssh_tunnel_reverse</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel, gint <a class="code" href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">port</a>, gint local_port);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment">/* Tells if the tunnel is terminated after start */</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#aeb20d31243a4d30e469a34fe01684e38">remmina_ssh_tunnel_terminated</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment">/* Free the tunnel */</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#a223f8dd7a678bcec2ece40a2d8f7ea06">remmina_ssh_tunnel_free</a>(<a class="code" href="struct___remmina_s_s_h_tunnel.html">RemminaSSHTunnel</a> *tunnel);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment">* SSH sFTP *</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="struct___remmina_s_f_t_p.html"> 226</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_f_t_p.html">_RemminaSFTP</a> {</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e"> 227</a></span>&#160; <a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> <a class="code" href="struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e">ssh</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df"> 229</a></span>&#160; sftp_session <a class="code" href="struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df">sftp_sess</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;} <a class="code" href="remmina__ssh_8h.html#a8853669690f71506f9fe04ff08e2eaca">RemminaSFTP</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment">/* Create a new SFTP session object from RemminaFile */</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *<a class="code" href="remmina__ssh_8h.html#a3d7138d9cbbe44aea15440436ce85d6e">remmina_sftp_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment">/* Create a new SFTP session object from existing SSH session */</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *<a class="code" href="remmina__ssh_8h.html#a1500d65d1f0751812f237c1cb4d15188">remmina_sftp_new_from_ssh</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment">/* open the SFTP session, assuming the session already authenticated */</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a1e09b32044c240a7dce0ad8afcbf0ff2">remmina_sftp_open</a>(<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *sftp);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment">/* Free the SFTP session */</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#aaaf171c31b73f06f1026239253d9f6b9">remmina_sftp_free</a>(<a class="code" href="struct___remmina_s_f_t_p.html">RemminaSFTP</a> *sftp);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment">/*-----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment">* SSH Shell *</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment">*-----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01"> 247</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a>) (gpointer data);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html"> 249</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_s_s_h_shell.html">_RemminaSSHShell</a> {</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#af347a2bbe1bf439695d181387042b098"> 250</a></span>&#160; <a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> <a class="code" href="struct___remmina_s_s_h_shell.html#af347a2bbe1bf439695d181387042b098">ssh</a>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#ab02f57e79ea0ba35f8a3788ef01a707f"> 252</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_shell.html#ab02f57e79ea0ba35f8a3788ef01a707f">master</a>;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a78edb0cd27564e88b6c92b425a383df6"> 253</a></span>&#160; gint <a class="code" href="struct___remmina_s_s_h_shell.html#a78edb0cd27564e88b6c92b425a383df6">slave</a>;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a2d56befd61e28b83f90fe3eff0e6dfe7"> 254</a></span>&#160; gchar * <a class="code" href="struct___remmina_s_s_h_shell.html#a2d56befd61e28b83f90fe3eff0e6dfe7">exec</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a878854125f24a8de520ec91066d0d226"> 255</a></span>&#160; pthread_t <a class="code" href="struct___remmina_s_s_h_shell.html#a878854125f24a8de520ec91066d0d226">thread</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a7c546634f855c217faa75ab4d4c7c2e2"> 256</a></span>&#160; ssh_channel <a class="code" href="struct___remmina_s_s_h_shell.html#a7c546634f855c217faa75ab4d4c7c2e2">channel</a>;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a6b2e8c1d9705b4c5b64a0e07a1159e80"> 257</a></span>&#160; gboolean <a class="code" href="struct___remmina_s_s_h_shell.html#a6b2e8c1d9705b4c5b64a0e07a1159e80">closed</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#a88090ecb372853a19640c883f5bf606a"> 258</a></span>&#160; <a class="code" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a> <a class="code" href="struct___remmina_s_s_h_shell.html#a88090ecb372853a19640c883f5bf606a">exit_callback</a>;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="struct___remmina_s_s_h_shell.html#adedb04066148973fed2de9f04b80286d"> 259</a></span>&#160; gpointer <a class="code" href="struct___remmina_s_s_h_shell.html#adedb04066148973fed2de9f04b80286d">user_data</a>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;} <a class="code" href="remmina__ssh_8h.html#a1dd627c6195e879ba5ca12f5d590b10d">RemminaSSHShell</a>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment">/* Create a new SSH Shell session object from RemminaFile */</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *<a class="code" href="remmina__ssh_8h.html#a30412e0b4302f5ae0b9be2749390a48d">remmina_ssh_shell_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment">/* Create a new SSH Shell session object from existing SSH session */</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *<a class="code" href="remmina__ssh_8h.html#ae0792ddb4adcaafefc1a4604cefdd8f4">remmina_ssh_shell_new_from_ssh</a>(<a class="code" href="struct___remmina_s_s_h.html">RemminaSSH</a> *ssh);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment">/* open the SSH Shell, assuming the session already authenticated */</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;gboolean <a class="code" href="remmina__ssh_8h.html#a1c095a955af21b3ed9952ba2ea94691b">remmina_ssh_shell_open</a>(<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *shell, <a class="code" href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a> exit_callback, gpointer data);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment">/* Change the SSH Shell terminal size */</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#ac2d3f3b6550e4d1fe4caabe1df6af508">remmina_ssh_shell_set_size</a>(<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *shell, gint columns, gint rows);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="comment">/* Free the SFTP session */</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__ssh_8h.html#a316f97b879e147ec52967344f6ad1d84">remmina_ssh_shell_free</a>(<a class="code" href="struct___remmina_s_s_h_shell.html">RemminaSSHShell</a> *shell);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;G_END_DECLS</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="preprocessor">#define RemminaSSH void</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="preprocessor">#define RemminaSSHTunnel void</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="preprocessor">#define RemminaSFTP void</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="preprocessor">#define RemminaSSHShell void</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a>)(void);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_LIBSSH */</span><span class="preprocessor"></span></div><div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1a17f0c32b34a9d3a56fbb8cb09ad896a0"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a17f0c32b34a9d3a56fbb8cb09ad896a0">REMMINA_SSH_AUTH_PARTIAL</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00108">remmina_ssh.h:108</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html">_RemminaSSHTunnel</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00147">remmina_ssh.h:147</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a61bd3f6b00c5a5cf2983990eb6f0840f">REMMINA_SSH_AUTH_AUTHFAILED_RETRY_AFTER_PROMPT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00110">remmina_ssh.h:110</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_afd166711167c39b8c1f6e8be3eb0c4e0"><div class="ttname"><a href="remmina__ssh_8h.html#afd166711167c39b8c1f6e8be3eb0c4e0">RemminaSSHTunnelBuffer</a></div><div class="ttdeci">struct _RemminaSSHTunnelBuffer RemminaSSHTunnelBuffer</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00135">remmina_ssh.h:135</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a4d61f0c0926686f8451dcf49d2d857da"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a4d61f0c0926686f8451dcf49d2d857da">_RemminaSSHTunnel::dest</a></div><div class="ttdeci">gchar * dest</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00168">remmina_ssh.h:168</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_acf69725720378340e1a51c87e7638a7f"><div class="ttname"><a href="remmina__ssh_8h.html#acf69725720378340e1a51c87e7638a7f">remmina_ssh_auth_gui</a></div><div class="ttdeci">enum remmina_ssh_auth_result remmina_ssh_auth_gui(RemminaSSH *ssh, RemminaProtocolWidget *gp, RemminaFile *remminafile)</div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326">REMMINA_SSH_TUNNEL_XPORT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00139">remmina_ssh.h:139</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609afbca41cd7b252c2594e1d53cd081b326">REMMINA_SSH_TUNNEL_XPORT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00142">remmina_ssh.h:142</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_ac03e015f09baa46d4a9a118c606736af"><div class="ttname"><a href="struct___remmina_s_s_h.html#ac03e015f09baa46d4a9a118c606736af">_RemminaSSH::proxycommand</a></div><div class="ttdeci">gchar * proxycommand</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00075">remmina_ssh.h:75</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_af670e0b0960c3e71e9f0b8b797ef9c28"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#af670e0b0960c3e71e9f0b8b797ef9c28">_RemminaSSHTunnel::remotedisplay</a></div><div class="ttdeci">gint remotedisplay</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00169">remmina_ssh.h:169</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a1e1f1bfaec497b1365ea70ebe795d778"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a1e1f1bfaec497b1365ea70ebe795d778">_RemminaSSHTunnel::destroy_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback destroy_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00178">remmina_ssh.h:178</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a956cb7289e147875ae5f745b33514ebd"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a956cb7289e147875ae5f745b33514ebd">_RemminaSSHTunnel::running</a></div><div class="ttdeci">gboolean running</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00158">remmina_ssh.h:158</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_af670e0b0960c3e71e9f0b8b797ef9c28"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#af670e0b0960c3e71e9f0b8b797ef9c28">_RemminaSSHTunnel::remotedisplay</a></div><div class="ttdeci">gint remotedisplay</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00172">remmina_ssh.h:172</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a1e1f1bfaec497b1365ea70ebe795d778"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a1e1f1bfaec497b1365ea70ebe795d778">_RemminaSSHTunnel::destroy_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback destroy_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00181">remmina_ssh.h:181</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a956cb7289e147875ae5f745b33514ebd"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a956cb7289e147875ae5f745b33514ebd">_RemminaSSHTunnel::running</a></div><div class="ttdeci">gboolean running</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00161">remmina_ssh.h:161</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_ac6d58beb4df141c6353e897c39748146"><div class="ttname"><a href="remmina__ssh_8h.html#ac6d58beb4df141c6353e897c39748146">remmina_ssh_tunnel_x11</a></div><div class="ttdeci">gboolean remmina_ssh_tunnel_x11(RemminaSSHTunnel *tunnel, const gchar *cmd)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_aeccf94afb57bcad37b4241d45fcb3fea"><div class="ttname"><a href="remmina__ssh_8h.html#aeccf94afb57bcad37b4241d45fcb3fea">remmina_ssh_unconvert</a></div><div class="ttdeci">gchar * remmina_ssh_unconvert(RemminaSSH *ssh, const gchar *from)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_ae47c8270267b02b9c0ff5b36074101c2"><div class="ttname"><a href="remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2">remmina_ssh_tunnel_reverse</a></div><div class="ttdeci">gboolean remmina_ssh_tunnel_reverse(RemminaSSHTunnel *tunnel, gint port, gint local_port)</div></div>
@@ -105,98 +106,100 @@ $(document).ready(function(){initNavTree('remmina__ssh_8h_source.html','');});
<div class="ttc" id="struct___remmina_s_s_h_html_a547feb6e46dfb8e37a4eb338c17d7b52"><div class="ttname"><a href="struct___remmina_s_s_h.html#a547feb6e46dfb8e37a4eb338c17d7b52">_RemminaSSH::ssh_mutex</a></div><div class="ttdeci">pthread_mutex_t ssh_mutex</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00081">remmina_ssh.h:81</a></div></div>
<div class="ttc" id="types_8h_html_a112d7cc6c755209cabb68cf2a62ad515"><div class="ttname"><a href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a></div><div class="ttdeci">typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00043">types.h:43</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a0b3e071eb2c6011efdcea3f65f8e7fa0"><div class="ttname"><a href="struct___remmina_s_s_h.html#a0b3e071eb2c6011efdcea3f65f8e7fa0">_RemminaSSH::ciphers</a></div><div class="ttdeci">gchar * ciphers</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00073">remmina_ssh.h:73</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_adedb04066148973fed2de9f04b80286d"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#adedb04066148973fed2de9f04b80286d">_RemminaSSHShell::user_data</a></div><div class="ttdeci">gpointer user_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00256">remmina_ssh.h:256</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a5b2c22bb155eee623a0a1f22293c4924"><div class="ttname"><a href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a></div><div class="ttdeci">gboolean(* RemminaSSHTunnelCallback)(RemminaSSHTunnel *, gpointer)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00134">remmina_ssh.h:134</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a33ae9b7cd8cb3dcd85223017dfd13795"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795">_RemminaSSHTunnel::destroy_func_callback_data</a></div><div class="ttdeci">gpointer destroy_func_callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00179">remmina_ssh.h:179</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_adedb04066148973fed2de9f04b80286d"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#adedb04066148973fed2de9f04b80286d">_RemminaSSHShell::user_data</a></div><div class="ttdeci">gpointer user_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00259">remmina_ssh.h:259</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a5b2c22bb155eee623a0a1f22293c4924"><div class="ttname"><a href="remmina__ssh_8h.html#a5b2c22bb155eee623a0a1f22293c4924">RemminaSSHTunnelCallback</a></div><div class="ttdeci">gboolean(* RemminaSSHTunnelCallback)(RemminaSSHTunnel *, gpointer)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00137">remmina_ssh.h:137</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a33ae9b7cd8cb3dcd85223017dfd13795"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795">_RemminaSSHTunnel::destroy_func_callback_data</a></div><div class="ttdeci">gpointer destroy_func_callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00182">remmina_ssh.h:182</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a0b35a5a573abb5e8b8a27a91434a00a5"><div class="ttname"><a href="struct___remmina_s_s_h.html#a0b35a5a573abb5e8b8a27a91434a00a5">_RemminaSSH::charset</a></div><div class="ttdeci">gchar * charset</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00071">remmina_ssh.h:71</a></div></div>
-<div class="ttc" id="struct___remmina_s_f_t_p_html"><div class="ttname"><a href="struct___remmina_s_f_t_p.html">_RemminaSFTP</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00223">remmina_ssh.h:223</a></div></div>
+<div class="ttc" id="struct___remmina_s_f_t_p_html"><div class="ttname"><a href="struct___remmina_s_f_t_p.html">_RemminaSFTP</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00226">remmina_ssh.h:226</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_acdb9f57d2f9b47913715a8d8a0ea0c02"><div class="ttname"><a href="remmina__ssh_8h.html#acdb9f57d2f9b47913715a8d8a0ea0c02">remmina_ssh_free</a></div><div class="ttdeci">void remmina_ssh_free(RemminaSSH *ssh)</div></div>
-<div class="ttc" id="struct___remmina_s_f_t_p_html_adef92bcfa7b9a86debf0531d0239a5df"><div class="ttname"><a href="struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df">_RemminaSFTP::sftp_sess</a></div><div class="ttdeci">sftp_session sftp_sess</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00226">remmina_ssh.h:226</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_a878854125f24a8de520ec91066d0d226"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a878854125f24a8de520ec91066d0d226">_RemminaSSHShell::thread</a></div><div class="ttdeci">pthread_t thread</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00252">remmina_ssh.h:252</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1a416a26d636d492c3530b6c5f0f04a623"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a416a26d636d492c3530b6c5f0f04a623">REMMINA_SSH_AUTH_AGAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00109">remmina_ssh.h:109</a></div></div>
+<div class="ttc" id="struct___remmina_s_f_t_p_html_adef92bcfa7b9a86debf0531d0239a5df"><div class="ttname"><a href="struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df">_RemminaSFTP::sftp_sess</a></div><div class="ttdeci">sftp_session sftp_sess</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00229">remmina_ssh.h:229</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_a878854125f24a8de520ec91066d0d226"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a878854125f24a8de520ec91066d0d226">_RemminaSSHShell::thread</a></div><div class="ttdeci">pthread_t thread</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00255">remmina_ssh.h:255</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a69e209a1ee77d6dfe5d87961e2a50a6a"><div class="ttname"><a href="struct___remmina_s_s_h.html#a69e209a1ee77d6dfe5d87961e2a50a6a">_RemminaSSH::hostkeytypes</a></div><div class="ttdeci">gchar * hostkeytypes</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00074">remmina_ssh.h:74</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ae41b6af92643cfbcd3e13275f4281260"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ae41b6af92643cfbcd3e13275f4281260">_RemminaSSHTunnel::localport</a></div><div class="ttdeci">gint localport</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00167">remmina_ssh.h:167</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ae41b6af92643cfbcd3e13275f4281260"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ae41b6af92643cfbcd3e13275f4281260">_RemminaSSHTunnel::localport</a></div><div class="ttdeci">gint localport</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00170">remmina_ssh.h:170</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html"><div class="ttname"><a href="struct___remmina_s_s_h.html">_RemminaSSH</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00059">remmina_ssh.h:59</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a88ae4fb816713bd90d8e452b5e7ef0bb"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a88ae4fb816713bd90d8e452b5e7ef0bb">_RemminaSSHTunnel::buffer_len</a></div><div class="ttdeci">gint buffer_len</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00161">remmina_ssh.h:161</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_aad84c6609cb431d48121ae5e0902441b"><div class="ttname"><a href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh_auth</a></div><div class="ttdeci">enum remmina_ssh_auth_result remmina_ssh_auth(RemminaSSH *ssh, const gchar *password, RemminaProtocolWidget *gp, RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8c_source.html#l00336">remmina_ssh.c:336</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea">REMMINA_SSH_AUTH_USERCANCEL</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00108">remmina_ssh.h:108</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_a7c546634f855c217faa75ab4d4c7c2e2"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a7c546634f855c217faa75ab4d4c7c2e2">_RemminaSSHShell::channel</a></div><div class="ttdeci">ssh_channel channel</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00253">remmina_ssh.h:253</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6fa916d3736cb8e2a0e6541f608c209b"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6fa916d3736cb8e2a0e6541f608c209b">_RemminaSSHTunnel::bindlocalhost</a></div><div class="ttdeci">gboolean bindlocalhost</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00170">remmina_ssh.h:170</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266">REMMINA_SSH_AUTH_SUCCESS</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00106">remmina_ssh.h:106</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_a78edb0cd27564e88b6c92b425a383df6"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a78edb0cd27564e88b6c92b425a383df6">_RemminaSSHShell::slave</a></div><div class="ttdeci">gint slave</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00250">remmina_ssh.h:250</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ad9887ee0673a2b0b03b091746ae02d23"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ad9887ee0673a2b0b03b091746ae02d23">_RemminaSSHTunnel::ssh</a></div><div class="ttdeci">RemminaSSH ssh</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00145">remmina_ssh.h:145</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a88ae4fb816713bd90d8e452b5e7ef0bb"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a88ae4fb816713bd90d8e452b5e7ef0bb">_RemminaSSHTunnel::buffer_len</a></div><div class="ttdeci">gint buffer_len</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00164">remmina_ssh.h:164</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_aad84c6609cb431d48121ae5e0902441b"><div class="ttname"><a href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh_auth</a></div><div class="ttdeci">enum remmina_ssh_auth_result remmina_ssh_auth(RemminaSSH *ssh, const gchar *password, RemminaProtocolWidget *gp, RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8c_source.html#l00468">remmina_ssh.c:468</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1aa554c8cad3a99ccb8cf3a48ed9e219ea">REMMINA_SSH_AUTH_USERCANCEL</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00111">remmina_ssh.h:111</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_a7c546634f855c217faa75ab4d4c7c2e2"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a7c546634f855c217faa75ab4d4c7c2e2">_RemminaSSHShell::channel</a></div><div class="ttdeci">ssh_channel channel</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00256">remmina_ssh.h:256</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6fa916d3736cb8e2a0e6541f608c209b"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6fa916d3736cb8e2a0e6541f608c209b">_RemminaSSHTunnel::bindlocalhost</a></div><div class="ttdeci">gboolean bindlocalhost</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00173">remmina_ssh.h:173</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ae5b80d959def61ac57ee6a919ca87266">REMMINA_SSH_AUTH_SUCCESS</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00107">remmina_ssh.h:107</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_a78edb0cd27564e88b6c92b425a383df6"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a78edb0cd27564e88b6c92b425a383df6">_RemminaSSHShell::slave</a></div><div class="ttdeci">gint slave</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00253">remmina_ssh.h:253</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ad9887ee0673a2b0b03b091746ae02d23"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ad9887ee0673a2b0b03b091746ae02d23">_RemminaSSHTunnel::ssh</a></div><div class="ttdeci">RemminaSSH ssh</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00148">remmina_ssh.h:148</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a345d41b54490dd39e35280122d22feed"><div class="ttname"><a href="struct___remmina_s_s_h.html#a345d41b54490dd39e35280122d22feed">_RemminaSSH::kex_algorithms</a></div><div class="ttdeci">const gchar * kex_algorithms</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00072">remmina_ssh.h:72</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a72a58e416c4eeb9d17eaf76360ebee42"><div class="ttname"><a href="remmina__ssh_8h.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh_identity_path</a></div><div class="ttdeci">gchar * remmina_ssh_identity_path(const gchar *id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8c_source.html#l00120">remmina_ssh.c:120</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_a6b2e8c1d9705b4c5b64a0e07a1159e80"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a6b2e8c1d9705b4c5b64a0e07a1159e80">_RemminaSSHShell::closed</a></div><div class="ttdeci">gboolean closed</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00254">remmina_ssh.h:254</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a7fd94fc8f610d86eb71a7a7fa1500d69"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a7fd94fc8f610d86eb71a7a7fa1500d69">_RemminaSSHTunnel::server_sock</a></div><div class="ttdeci">gint server_sock</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00164">remmina_ssh.h:164</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a19fed9a85494d40d3f2ae2ae1d1bc18c"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a19fed9a85494d40d3f2ae2ae1d1bc18c">_RemminaSSHTunnel::disconnect_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback disconnect_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00175">remmina_ssh.h:175</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_a6b2e8c1d9705b4c5b64a0e07a1159e80"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a6b2e8c1d9705b4c5b64a0e07a1159e80">_RemminaSSHShell::closed</a></div><div class="ttdeci">gboolean closed</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00257">remmina_ssh.h:257</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a7fd94fc8f610d86eb71a7a7fa1500d69"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a7fd94fc8f610d86eb71a7a7fa1500d69">_RemminaSSHTunnel::server_sock</a></div><div class="ttdeci">gint server_sock</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00167">remmina_ssh.h:167</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a19fed9a85494d40d3f2ae2ae1d1bc18c"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a19fed9a85494d40d3f2ae2ae1d1bc18c">_RemminaSSHTunnel::disconnect_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback disconnect_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00178">remmina_ssh.h:178</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a6815a78f65795cbc6795ca1c59e73102"><div class="ttname"><a href="remmina__ssh_8h.html#a6815a78f65795cbc6795ca1c59e73102">remmina_ssh_init_from_file</a></div><div class="ttdeci">gboolean remmina_ssh_init_from_file(RemminaSSH *ssh, RemminaFile *remminafile, gboolean is_tunnel)</div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a></div><div class="ttdeci">remmina_ssh_auth_result</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00105">remmina_ssh.h:105</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1">remmina_ssh_auth_result</a></div><div class="ttdeci">remmina_ssh_auth_result</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00106">remmina_ssh.h:106</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_abc556f0a4335083436f6e19c204fa553"><div class="ttname"><a href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh_set_error</a></div><div class="ttdeci">void remmina_ssh_set_error(RemminaSSH *ssh, const gchar *fmt)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8c_source.html#l00145">remmina_ssh.c:145</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_aa064626a7fd528e7d8c1fc34d1bd8dfc"><div class="ttname"><a href="struct___remmina_s_s_h.html#aa064626a7fd528e7d8c1fc34d1bd8dfc">_RemminaSSH::port</a></div><div class="ttdeci">gint port</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00065">remmina_ssh.h:65</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a316f97b879e147ec52967344f6ad1d84"><div class="ttname"><a href="remmina__ssh_8h.html#a316f97b879e147ec52967344f6ad1d84">remmina_ssh_shell_free</a></div><div class="ttdeci">void remmina_ssh_shell_free(RemminaSSHShell *shell)</div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a3a8dc7679e22208bbdf076c520f25bbb"><div class="ttname"><a href="struct___remmina_s_s_h.html#a3a8dc7679e22208bbdf076c520f25bbb">_RemminaSSH::user</a></div><div class="ttdeci">gchar * user</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00066">remmina_ssh.h:66</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14">REMMINA_SSH_TUNNEL_OPEN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00137">remmina_ssh.h:137</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a37244b9fafd3ab48c0f11ad0b8cfdf91"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a37244b9fafd3ab48c0f11ad0b8cfdf91">_RemminaSSHTunnel::channels_out</a></div><div class="ttdeci">ssh_channel * channels_out</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00162">remmina_ssh.h:162</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735">REMMINA_SSH_AUTH_FATAL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00109">remmina_ssh.h:109</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a155d773294b0671aac4e710e97d90047"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a155d773294b0671aac4e710e97d90047">_RemminaSSHTunnel::buffer</a></div><div class="ttdeci">gchar * buffer</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00160">remmina_ssh.h:160</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_html_a76ed92539dfe749a24a3a3b99f3a644f"><div class="ttname"><a href="struct___remmina_s_s_h.html#a76ed92539dfe749a24a3a3b99f3a644f">_RemminaSSH::tunnel_entrance_port</a></div><div class="ttdeci">gint tunnel_entrance_port</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00087">remmina_ssh.h:87</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a78cac65c66c1f72592488c7c5728ea14">REMMINA_SSH_TUNNEL_OPEN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00140">remmina_ssh.h:140</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a37244b9fafd3ab48c0f11ad0b8cfdf91"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a37244b9fafd3ab48c0f11ad0b8cfdf91">_RemminaSSHTunnel::channels_out</a></div><div class="ttdeci">ssh_channel * channels_out</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00165">remmina_ssh.h:165</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ab4ec94c8b9ef6d9b69d0b836750a8735">REMMINA_SSH_AUTH_FATAL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00112">remmina_ssh.h:112</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a155d773294b0671aac4e710e97d90047"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a155d773294b0671aac4e710e97d90047">_RemminaSSHTunnel::buffer</a></div><div class="ttdeci">gchar * buffer</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00163">remmina_ssh.h:163</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_html_a76ed92539dfe749a24a3a3b99f3a644f"><div class="ttname"><a href="struct___remmina_s_s_h.html#a76ed92539dfe749a24a3a3b99f3a644f">_RemminaSSH::tunnel_entrance_port</a></div><div class="ttdeci">gint tunnel_entrance_port</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00088">remmina_ssh.h:88</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a30412e0b4302f5ae0b9be2749390a48d"><div class="ttname"><a href="remmina__ssh_8h.html#a30412e0b4302f5ae0b9be2749390a48d">remmina_ssh_shell_new_from_file</a></div><div class="ttdeci">RemminaSSHShell * remmina_ssh_shell_new_from_file(RemminaFile *remminafile)</div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7">REMMINA_SSH_AUTH_RECONNECT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00110">remmina_ssh.h:110</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7"><div class="ttname"><a href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1ad56c3878c4a651b51fdb3d0e8b9cebd7">REMMINA_SSH_AUTH_RECONNECT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00113">remmina_ssh.h:113</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_abf5a73c3444790177635a6eab6417d03"><div class="ttname"><a href="struct___remmina_s_s_h.html#abf5a73c3444790177635a6eab6417d03">_RemminaSSH::auth</a></div><div class="ttdeci">gint auth</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00067">remmina_ssh.h:67</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_html"><div class="ttname"><a href="struct___remmina_protocol_widget.html">_RemminaProtocolWidget</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8h_source.html#l00058">remmina_protocol_widget.h:58</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_aba49db2ced40e21e8adfad69dcfda2c4"><div class="ttname"><a href="remmina__ssh_8h.html#aba49db2ced40e21e8adfad69dcfda2c4">remmina_ssh_tunnel_xport</a></div><div class="ttdeci">gboolean remmina_ssh_tunnel_xport(RemminaSSHTunnel *tunnel, gboolean bindlocalhost)</div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_ae396f0b535e2e92d640a0eb971aa082b"><div class="ttname"><a href="struct___remmina_s_s_h.html#ae396f0b535e2e92d640a0eb971aa082b">_RemminaSSH::server</a></div><div class="ttdeci">gchar * server</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00064">remmina_ssh.h:64</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_abf04fd329ab77bbd4f6aa1cb1eaa349d"><div class="ttname"><a href="remmina__ssh_8h.html#abf04fd329ab77bbd4f6aa1cb1eaa349d">remmina_ssh_tunnel_new_from_file</a></div><div class="ttdeci">RemminaSSHTunnel * remmina_ssh_tunnel_new_from_file(RemminaFile *remminafile)</div></div>
-<div class="ttc" id="struct___remmina_s_f_t_p_html_a7dab48a7603f1dd6671a8dd1efe1958e"><div class="ttname"><a href="struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e">_RemminaSFTP::ssh</a></div><div class="ttdeci">RemminaSSH ssh</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00224">remmina_ssh.h:224</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a8066492c4a0181f1b39b2fb2098fb56d"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a8066492c4a0181f1b39b2fb2098fb56d">_RemminaSSHTunnel::init_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback init_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00173">remmina_ssh.h:173</a></div></div>
+<div class="ttc" id="struct___remmina_s_f_t_p_html_a7dab48a7603f1dd6671a8dd1efe1958e"><div class="ttname"><a href="struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e">_RemminaSFTP::ssh</a></div><div class="ttdeci">RemminaSSH ssh</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00227">remmina_ssh.h:227</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a8066492c4a0181f1b39b2fb2098fb56d"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a8066492c4a0181f1b39b2fb2098fb56d">_RemminaSSHTunnel::init_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback init_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00176">remmina_ssh.h:176</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a62e6a209747daa65061273243e830ae9"><div class="ttname"><a href="struct___remmina_s_s_h.html#a62e6a209747daa65061273243e830ae9">_RemminaSSH::stricthostkeycheck</a></div><div class="ttdeci">gint stricthostkeycheck</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00076">remmina_ssh.h:76</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6f2cd8a2535e180e7bd428e84030ffb6"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6">_RemminaSSHTunnel::callback_data</a></div><div class="ttdeci">gpointer callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00176">remmina_ssh.h:176</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6f2cd8a2535e180e7bd428e84030ffb6"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6">_RemminaSSHTunnel::callback_data</a></div><div class="ttdeci">gpointer callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00179">remmina_ssh.h:179</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_ab017331f59fceff63bb33ff00d088870"><div class="ttname"><a href="struct___remmina_s_s_h.html#ab017331f59fceff63bb33ff00d088870">_RemminaSSH::compression</a></div><div class="ttdeci">const gchar * compression</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00077">remmina_ssh.h:77</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_ace4bb7170f349bd7f127f72c9c7b6ac6"><div class="ttname"><a href="struct___remmina_s_s_h.html#ace4bb7170f349bd7f127f72c9c7b6ac6">_RemminaSSH::is_tunnel</a></div><div class="ttdeci">gboolean is_tunnel</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00085">remmina_ssh.h:85</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_ae9f52b1a3a545acae8c93007e20ec909"><div class="ttname"><a href="remmina__ssh_8h.html#ae9f52b1a3a545acae8c93007e20ec909">remmina_ssh_tunnel_cancel_accept</a></div><div class="ttdeci">void remmina_ssh_tunnel_cancel_accept(RemminaSSHTunnel *tunnel)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_a1c095a955af21b3ed9952ba2ea94691b"><div class="ttname"><a href="remmina__ssh_8h.html#a1c095a955af21b3ed9952ba2ea94691b">remmina_ssh_shell_open</a></div><div class="ttdeci">gboolean remmina_ssh_shell_open(RemminaSSHShell *shell, RemminaSSHExitFunc exit_callback, gpointer data)</div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ac86d0d359e5d97d8d60fac69c9af69df"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ac86d0d359e5d97d8d60fac69c9af69df">_RemminaSSHTunnel::tunnel_type</a></div><div class="ttdeci">gint tunnel_type</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00147">remmina_ssh.h:147</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa496acab4967f380e3520aeb9dae2bbd"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa496acab4967f380e3520aeb9dae2bbd">_RemminaSSHTunnel::thread</a></div><div class="ttdeci">pthread_t thread</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00157">remmina_ssh.h:157</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ab11c1bcc8549ce8b154f65f9009c65d4"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ab11c1bcc8549ce8b154f65f9009c65d4">_RemminaSSHTunnel::channels</a></div><div class="ttdeci">ssh_channel * channels</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00149">remmina_ssh.h:149</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ac86d0d359e5d97d8d60fac69c9af69df"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ac86d0d359e5d97d8d60fac69c9af69df">_RemminaSSHTunnel::tunnel_type</a></div><div class="ttdeci">gint tunnel_type</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00150">remmina_ssh.h:150</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa496acab4967f380e3520aeb9dae2bbd"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa496acab4967f380e3520aeb9dae2bbd">_RemminaSSHTunnel::thread</a></div><div class="ttdeci">pthread_t thread</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00160">remmina_ssh.h:160</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ab11c1bcc8549ce8b154f65f9009c65d4"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ab11c1bcc8549ce8b154f65f9009c65d4">_RemminaSSHTunnel::channels</a></div><div class="ttdeci">ssh_channel * channels</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00152">remmina_ssh.h:152</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a223f8dd7a678bcec2ece40a2d8f7ea06"><div class="ttname"><a href="remmina__ssh_8h.html#a223f8dd7a678bcec2ece40a2d8f7ea06">remmina_ssh_tunnel_free</a></div><div class="ttdeci">void remmina_ssh_tunnel_free(RemminaSSHTunnel *tunnel)</div></div>
-<div class="ttc" id="struct___remmina_s_s_h_html_aebc7525b6f72d22c1ce4df93c1576602"><div class="ttname"><a href="struct___remmina_s_s_h.html#aebc7525b6f72d22c1ce4df93c1576602">_RemminaSSH::tunnel_entrance_host</a></div><div class="ttdeci">gchar * tunnel_entrance_host</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00086">remmina_ssh.h:86</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_html_aebc7525b6f72d22c1ce4df93c1576602"><div class="ttname"><a href="struct___remmina_s_s_h.html#aebc7525b6f72d22c1ce4df93c1576602">_RemminaSSH::tunnel_entrance_host</a></div><div class="ttdeci">gchar * tunnel_entrance_host</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00087">remmina_ssh.h:87</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_af0f6d172a5ceae64f62ad54883666ccc"><div class="ttname"><a href="remmina__ssh_8h.html#af0f6d172a5ceae64f62ad54883666ccc">RemminaSSH</a></div><div class="ttdeci">struct _RemminaSSH RemminaSSH</div></div>
<div class="ttc" id="rcw_8h_html"><div class="ttname"><a href="rcw_8h.html">rcw.h</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_adedb385c39effff9c9dd5767250f8c89"><div class="ttname"><a href="struct___remmina_s_s_h.html#adedb385c39effff9c9dd5767250f8c89">_RemminaSSH::password</a></div><div class="ttdeci">gchar * password</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00068">remmina_ssh.h:68</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a1500d65d1f0751812f237c1cb4d15188"><div class="ttname"><a href="remmina__ssh_8h.html#a1500d65d1f0751812f237c1cb4d15188">remmina_sftp_new_from_ssh</a></div><div class="ttdeci">RemminaSFTP * remmina_sftp_new_from_ssh(RemminaSSH *ssh)</div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa9ab1684349da8bfd6b84cc135c053b3"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa9ab1684349da8bfd6b84cc135c053b3">_RemminaSSHTunnel::sockets</a></div><div class="ttdeci">gint * sockets</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00150">remmina_ssh.h:150</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa9ab1684349da8bfd6b84cc135c053b3"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa9ab1684349da8bfd6b84cc135c053b3">_RemminaSSHTunnel::sockets</a></div><div class="ttdeci">gint * sockets</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00153">remmina_ssh.h:153</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_af9f34b088c5af320708cf02dfc45d59e"><div class="ttname"><a href="struct___remmina_s_s_h.html#af9f34b088c5af320708cf02dfc45d59e">_RemminaSSH::privkeyfile</a></div><div class="ttdeci">gchar * privkeyfile</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00069">remmina_ssh.h:69</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_a46cdb47db9c0ce8c1ac267cb3d10bbb3"><div class="ttname"><a href="struct___remmina_s_s_h.html#a46cdb47db9c0ce8c1ac267cb3d10bbb3">_RemminaSSH::session</a></div><div class="ttdeci">ssh_session session</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00060">remmina_ssh.h:60</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a27cb79f54113bb4aa46ea163717087b1"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a27cb79f54113bb4aa46ea163717087b1">_RemminaSSHTunnel::socketbuffers</a></div><div class="ttdeci">RemminaSSHTunnelBuffer ** socketbuffers</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00151">remmina_ssh.h:151</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_a88090ecb372853a19640c883f5bf606a"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a88090ecb372853a19640c883f5bf606a">_RemminaSSHShell::exit_callback</a></div><div class="ttdeci">RemminaSSHExitFunc exit_callback</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00255">remmina_ssh.h:255</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_af347a2bbe1bf439695d181387042b098"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#af347a2bbe1bf439695d181387042b098">_RemminaSSHShell::ssh</a></div><div class="ttdeci">RemminaSSH ssh</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00247">remmina_ssh.h:247</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a069b886ad870cb318693fe1022179b3d"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a069b886ad870cb318693fe1022179b3d">_RemminaSSHTunnel::x11_channel</a></div><div class="ttdeci">ssh_channel x11_channel</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00155">remmina_ssh.h:155</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a27cb79f54113bb4aa46ea163717087b1"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a27cb79f54113bb4aa46ea163717087b1">_RemminaSSHTunnel::socketbuffers</a></div><div class="ttdeci">RemminaSSHTunnelBuffer ** socketbuffers</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00154">remmina_ssh.h:154</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_a88090ecb372853a19640c883f5bf606a"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a88090ecb372853a19640c883f5bf606a">_RemminaSSHShell::exit_callback</a></div><div class="ttdeci">RemminaSSHExitFunc exit_callback</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00258">remmina_ssh.h:258</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_af347a2bbe1bf439695d181387042b098"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#af347a2bbe1bf439695d181387042b098">_RemminaSSHShell::ssh</a></div><div class="ttdeci">RemminaSSH ssh</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00250">remmina_ssh.h:250</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a069b886ad870cb318693fe1022179b3d"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a069b886ad870cb318693fe1022179b3d">_RemminaSSHTunnel::x11_channel</a></div><div class="ttdeci">ssh_channel x11_channel</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00158">remmina_ssh.h:158</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a09bd4aee40b6e8d6ba8ffaa84dc95330"><div class="ttname"><a href="remmina__ssh_8h.html#a09bd4aee40b6e8d6ba8ffaa84dc95330">remmina_ssh_convert</a></div><div class="ttdeci">gchar * remmina_ssh_convert(RemminaSSH *ssh, const gchar *from)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_ab6d8bdad543b3caead2b2b0339484798"><div class="ttname"><a href="remmina__ssh_8h.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh_find_identity</a></div><div class="ttdeci">gchar * remmina_ssh_find_identity(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8c_source.html#l00129">remmina_ssh.c:129</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_a2d56befd61e28b83f90fe3eff0e6dfe7"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a2d56befd61e28b83f90fe3eff0e6dfe7">_RemminaSSHShell::exec</a></div><div class="ttdeci">gchar * exec</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00251">remmina_ssh.h:251</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_a2d56befd61e28b83f90fe3eff0e6dfe7"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#a2d56befd61e28b83f90fe3eff0e6dfe7">_RemminaSSHShell::exec</a></div><div class="ttdeci">gchar * exec</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00254">remmina_ssh.h:254</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_aa8e75d0a635b3390100218bee6b49378"><div class="ttname"><a href="struct___remmina_s_s_h.html#aa8e75d0a635b3390100218bee6b49378">_RemminaSSH::callback</a></div><div class="ttdeci">ssh_callbacks callback</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00061">remmina_ssh.h:61</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a1e09b32044c240a7dce0ad8afcbf0ff2"><div class="ttname"><a href="remmina__ssh_8h.html#a1e09b32044c240a7dce0ad8afcbf0ff2">remmina_sftp_open</a></div><div class="ttdeci">gboolean remmina_sftp_open(RemminaSFTP *sftp)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_a1dd627c6195e879ba5ca12f5d590b10d"><div class="ttname"><a href="remmina__ssh_8h.html#a1dd627c6195e879ba5ca12f5d590b10d">RemminaSSHShell</a></div><div class="ttdeci">struct _RemminaSSHShell RemminaSSHShell</div></div>
<div class="ttc" id="remmina__ssh_8h_html_aeb20d31243a4d30e469a34fe01684e38"><div class="ttname"><a href="remmina__ssh_8h.html#aeb20d31243a4d30e469a34fe01684e38">remmina_ssh_tunnel_terminated</a></div><div class="ttdeci">gboolean remmina_ssh_tunnel_terminated(RemminaSSHTunnel *tunnel)</div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459">REMMINA_SSH_TUNNEL_REVERSE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00140">remmina_ssh.h:140</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_abb17dc2972e189660c20eff7ec0fe513"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#abb17dc2972e189660c20eff7ec0fe513">_RemminaSSHTunnel::num_channels</a></div><div class="ttdeci">gint num_channels</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00152">remmina_ssh.h:152</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609ae14c0d50235951946ca18866a1329459">REMMINA_SSH_TUNNEL_REVERSE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00143">remmina_ssh.h:143</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_abb17dc2972e189660c20eff7ec0fe513"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#abb17dc2972e189660c20eff7ec0fe513">_RemminaSSHTunnel::num_channels</a></div><div class="ttdeci">gint num_channels</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00155">remmina_ssh.h:155</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_aaaf171c31b73f06f1026239253d9f6b9"><div class="ttname"><a href="remmina__ssh_8h.html#aaaf171c31b73f06f1026239253d9f6b9">remmina_sftp_free</a></div><div class="ttdeci">void remmina_sftp_free(RemminaSFTP *sftp)</div></div>
<div class="ttc" id="struct___remmina_s_s_h_html_ac148c436afa70f426d665b4ddd2d8f4d"><div class="ttname"><a href="struct___remmina_s_s_h.html#ac148c436afa70f426d665b4ddd2d8f4d">_RemminaSSH::authenticated</a></div><div class="ttdeci">gboolean authenticated</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00062">remmina_ssh.h:62</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a8853669690f71506f9fe04ff08e2eaca"><div class="ttname"><a href="remmina__ssh_8h.html#a8853669690f71506f9fe04ff08e2eaca">RemminaSFTP</a></div><div class="ttdeci">struct _RemminaSFTP RemminaSFTP</div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a4c56936cde97775b102a3e7b48fe5a01"><div class="ttname"><a href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a></div><div class="ttdeci">void(* RemminaSSHExitFunc)(gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00244">remmina_ssh.h:244</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ad883561d61ee8d32d2201e642b0ab9cc"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ad883561d61ee8d32d2201e642b0ab9cc">_RemminaSSHTunnel::port</a></div><div class="ttdeci">gint port</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00166">remmina_ssh.h:166</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a4c56936cde97775b102a3e7b48fe5a01"><div class="ttname"><a href="remmina__ssh_8h.html#a4c56936cde97775b102a3e7b48fe5a01">RemminaSSHExitFunc</a></div><div class="ttdeci">void(* RemminaSSHExitFunc)(gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00247">remmina_ssh.h:247</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_ad883561d61ee8d32d2201e642b0ab9cc"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#ad883561d61ee8d32d2201e642b0ab9cc">_RemminaSSHTunnel::port</a></div><div class="ttdeci">gint port</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00169">remmina_ssh.h:169</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a52b3f47eac79f2781ba81d61505f4f53"><div class="ttname"><a href="remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53">remmina_ssh_tunnel_open</a></div><div class="ttdeci">gboolean remmina_ssh_tunnel_open(RemminaSSHTunnel *tunnel, const gchar *host, gint port, gint local_port)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_a3d7138d9cbbe44aea15440436ce85d6e"><div class="ttname"><a href="remmina__ssh_8h.html#a3d7138d9cbbe44aea15440436ce85d6e">remmina_sftp_new_from_file</a></div><div class="ttdeci">RemminaSFTP * remmina_sftp_new_from_file(RemminaFile *remminafile)</div></div>
<div class="ttc" id="remmina__ssh_8h_html_a1f3297263703b4259c1c9607d710995d"><div class="ttname"><a href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh_set_application_error</a></div><div class="ttdeci">void remmina_ssh_set_application_error(RemminaSSH *ssh, const gchar *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8c_source.html#l00155">remmina_ssh.c:155</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html_ab02f57e79ea0ba35f8a3788ef01a707f"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#ab02f57e79ea0ba35f8a3788ef01a707f">_RemminaSSHShell::master</a></div><div class="ttdeci">gint master</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00249">remmina_ssh.h:249</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a071153b511500c3faa6804ebd76aeba1"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1">_RemminaSSHTunnel::localdisplay</a></div><div class="ttdeci">gchar * localdisplay</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00171">remmina_ssh.h:171</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html_ab02f57e79ea0ba35f8a3788ef01a707f"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html#ab02f57e79ea0ba35f8a3788ef01a707f">_RemminaSSHShell::master</a></div><div class="ttdeci">gint master</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00252">remmina_ssh.h:252</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a071153b511500c3faa6804ebd76aeba1"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1">_RemminaSSHTunnel::localdisplay</a></div><div class="ttdeci">gchar * localdisplay</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00174">remmina_ssh.h:174</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_ac2d3f3b6550e4d1fe4caabe1df6af508"><div class="ttname"><a href="remmina__ssh_8h.html#ac2d3f3b6550e4d1fe4caabe1df6af508">remmina_ssh_shell_set_size</a></div><div class="ttdeci">void remmina_ssh_shell_set_size(RemminaSSHShell *shell, gint columns, gint rows)</div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6a184c6ca8fa267012d86986dac396c6"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6a184c6ca8fa267012d86986dac396c6">_RemminaSSHTunnel::max_channels</a></div><div class="ttdeci">gint max_channels</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00153">remmina_ssh.h:153</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6a184c6ca8fa267012d86986dac396c6"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6a184c6ca8fa267012d86986dac396c6">_RemminaSSHTunnel::max_channels</a></div><div class="ttdeci">gint max_channels</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00156">remmina_ssh.h:156</a></div></div>
<div class="ttc" id="remmina__file_8h_html"><div class="ttname"><a href="remmina__file_8h.html">remmina_file.h</a></div></div>
-<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91">REMMINA_SSH_TUNNEL_X11</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00138">remmina_ssh.h:138</a></div></div>
-<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa904bb1d9f643f6fde2b0eea4a8b1660"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660">_RemminaSSHTunnel::connect_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback connect_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00174">remmina_ssh.h:174</a></div></div>
+<div class="ttc" id="remmina__ssh_8h_html_a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91"><div class="ttname"><a href="remmina__ssh_8h.html#a458e651af6690959efa2afb96be7d609a57b0a0c05bcbc57fc8bc384524803a91">REMMINA_SSH_TUNNEL_X11</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00141">remmina_ssh.h:141</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa904bb1d9f643f6fde2b0eea4a8b1660"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660">_RemminaSSHTunnel::connect_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback connect_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00177">remmina_ssh.h:177</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_html_a6de32421fea0537fb29c03e0ae8b41d6"><div class="ttname"><a href="struct___remmina_s_s_h.html#a6de32421fea0537fb29c03e0ae8b41d6">_RemminaSSH::is_multiauth</a></div><div class="ttdeci">gboolean is_multiauth</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00086">remmina_ssh.h:86</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_a624b8ac30ddcd00ebda0b51d504f5a33"><div class="ttname"><a href="remmina__ssh_8h.html#a624b8ac30ddcd00ebda0b51d504f5a33">remmina_ssh_init_session</a></div><div class="ttdeci">gboolean remmina_ssh_init_session(RemminaSSH *ssh)</div></div>
-<div class="ttc" id="struct___remmina_s_s_h_shell_html"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html">_RemminaSSHShell</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00246">remmina_ssh.h:246</a></div></div>
+<div class="ttc" id="struct___remmina_s_s_h_shell_html"><div class="ttname"><a href="struct___remmina_s_s_h_shell.html">_RemminaSSHShell</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00249">remmina_ssh.h:249</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->