Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 18f163d8470339714afe65905bac971a > files > 290

libguac-devel-1.3.0-1.mga7.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libguac: guacamole/socket.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libguac
   &#160;<span id="projectnumber">1.3.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6bb9fad85c98b48a11165f494b9f53ce.html">guacamole</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">socket.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="socket_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"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</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"> * Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifndef _GUAC_SOCKET_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define _GUAC_SOCKET_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="client-types_8h.html">client-types.h</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="socket-constants_8h.html">socket-constants.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="socket-fntypes_8h.html">socket-fntypes.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="socket-types_8h.html">socket-types.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="timestamp-types_8h.html">timestamp-types.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</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"><a class="line" href="structguac__socket.html">   39</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structguac__socket.html">guac_socket</a> {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structguac__socket.html#ac8340e5627b43138bb50aac6c4368c0d">   44</a></span>&#160;    <span class="keywordtype">void</span>* <a class="code" href="structguac__socket.html#ac8340e5627b43138bb50aac6c4368c0d">data</a>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structguac__socket.html#a10042a8e591737aec8d4db5a3423b250">   49</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#a75396c8cb7b0ba91102fcd447a1eb36b">guac_socket_read_handler</a>* <a class="code" href="structguac__socket.html#a10042a8e591737aec8d4db5a3423b250">read_handler</a>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structguac__socket.html#a0f5f24200b0dad4ef1443b863d1bfc7d">   54</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#a7198af0a6bbac52794eb248c81d90c6a">guac_socket_write_handler</a>* <a class="code" href="structguac__socket.html#a0f5f24200b0dad4ef1443b863d1bfc7d">write_handler</a>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structguac__socket.html#afc6ff82e38b84c9e876fd797aafedd1b">   59</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#a894bc88c6288ee6b6713a2ea64bd05a0">guac_socket_flush_handler</a>* <a class="code" href="structguac__socket.html#afc6ff82e38b84c9e876fd797aafedd1b">flush_handler</a>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structguac__socket.html#a1d39f1476d3d3440485697a0eabfe471">   65</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#a1b714d65f18d57bb52f929c7d3909526">guac_socket_lock_handler</a>* <a class="code" href="structguac__socket.html#a1d39f1476d3d3440485697a0eabfe471">lock_handler</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structguac__socket.html#a67be8367b5e1b330ee151b22c692500b">   71</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#af1a6f8eb81522aab289c9f4ed6051d3f">guac_socket_unlock_handler</a>* <a class="code" href="structguac__socket.html#a67be8367b5e1b330ee151b22c692500b">unlock_handler</a>;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structguac__socket.html#ad29e7f8a6819ca7bb541e8a947d5bc4f">   77</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#a934350207615e0e2066954f9484153f8">guac_socket_select_handler</a>* <a class="code" href="structguac__socket.html#ad29e7f8a6819ca7bb541e8a947d5bc4f">select_handler</a>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structguac__socket.html#a1044cde496cfe11c914c623dc1e29678">   82</a></span>&#160;    <a class="code" href="socket-fntypes_8h.html#a9700a8ba2011d6e6ce13e3e6c6397fc2">guac_socket_free_handler</a>* <a class="code" href="structguac__socket.html#a1044cde496cfe11c914c623dc1e29678">free_handler</a>;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structguac__socket.html#ac2d5236c7e570dfee207511241edaa9b">   87</a></span>&#160;    <a class="code" href="socket-types_8h.html#a0ac0c0cd123b57d8aba5e6ec6fd20939">guac_socket_state</a> <a class="code" href="structguac__socket.html#ac2d5236c7e570dfee207511241edaa9b">state</a>;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structguac__socket.html#adf00e9c13ff3808fceb4c71c1172fb51">   93</a></span>&#160;    <a class="code" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a> <a class="code" href="structguac__socket.html#adf00e9c13ff3808fceb4c71c1172fb51">last_write_timestamp</a>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordtype">int</span> __ready;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">int</span> __ready_buf[3];</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">int</span> __keep_alive_enabled;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    pthread_t __keep_alive_thread;</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;};</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<a class="code" href="structguac__socket.html">guac_socket</a>* <a class="code" href="socket_8h.html#a7e5859b812923b894779f59353fdadb4">guac_socket_alloc</a>();</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordtype">void</span> <a class="code" href="socket_8h.html#a376df8efcc02a7104504f104433884ed">guac_socket_free</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">void</span> <a class="code" href="socket_8h.html#a1d8c5111a8234c7785ae23f379f7db03">guac_socket_require_keep_alive</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordtype">void</span> <a class="code" href="socket_8h.html#a00c8f00ab54c42e42c9f489caf5478b1">guac_socket_instruction_begin</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keywordtype">void</span> <a class="code" href="socket_8h.html#a603c23b24e2e2e95eeb2ce08d8115e94">guac_socket_instruction_end</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<a class="code" href="structguac__socket.html">guac_socket</a>* <a class="code" href="socket_8h.html#a076f62b9b6082260462e18ca77c64e7a">guac_socket_open</a>(<span class="keywordtype">int</span> fd);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<a class="code" href="structguac__socket.html">guac_socket</a>* <a class="code" href="socket_8h.html#af23ab23c93eb09eac0e15a87f5690bda">guac_socket_nest</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* parent, <span class="keywordtype">int</span> index);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<a class="code" href="structguac__socket.html">guac_socket</a>* <a class="code" href="socket_8h.html#add9c80240912b0c8d309cf7de94f5305">guac_socket_tee</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* primary, <a class="code" href="structguac__socket.html">guac_socket</a>* secondary);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<a class="code" href="structguac__socket.html">guac_socket</a>* <a class="code" href="socket_8h.html#a2b570fec1d86f1eb09e057d4bbed3be6">guac_socket_broadcast</a>(<a class="code" href="structguac__client.html">guac_client</a>* client);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;ssize_t <a class="code" href="socket_8h.html#a57a963e37377de2104c2d785980ff400">guac_socket_write_int</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket, int64_t i);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;ssize_t <a class="code" href="socket_8h.html#ad0cb48c7896361b522ae5a222a3b5efc">guac_socket_write_string</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>* str);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;ssize_t <a class="code" href="socket_8h.html#ac7ec68bc42436ba316805718c292c510">guac_socket_write_base64</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> count);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;ssize_t <a class="code" href="socket_8h.html#adb6eb960de27526bc96e1f9af797e2c4">guac_socket_write</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> count);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;ssize_t <a class="code" href="socket_8h.html#af5d6846212d792c5bce7f8a4fd46cd31">guac_socket_read</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket, <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> count);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;ssize_t <a class="code" href="socket_8h.html#a09d5f60d75c57640a4c483d42445c1ab">guac_socket_flush_base64</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket);</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;ssize_t <a class="code" href="socket_8h.html#ababc834d5812e006b55a79da417bfe12">guac_socket_flush</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="keywordtype">int</span> <a class="code" href="socket_8h.html#a41b0d7a25ccda3d0ae20143880cf53b7">guac_socket_select</a>(<a class="code" href="structguac__socket.html">guac_socket</a>* socket, <span class="keywordtype">int</span> usec_timeout);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="ttc" id="socket-types_8h_html_a0ac0c0cd123b57d8aba5e6ec6fd20939"><div class="ttname"><a href="socket-types_8h.html#a0ac0c0cd123b57d8aba5e6ec6fd20939">guac_socket_state</a></div><div class="ttdeci">guac_socket_state</div><div class="ttdoc">Possible current states of a guac_socket.</div><div class="ttdef"><b>Definition:</b> socket-types.h:38</div></div>
<div class="ttc" id="socket-fntypes_8h_html_a1b714d65f18d57bb52f929c7d3909526"><div class="ttname"><a href="socket-fntypes_8h.html#a1b714d65f18d57bb52f929c7d3909526">guac_socket_lock_handler</a></div><div class="ttdeci">void guac_socket_lock_handler(guac_socket *socket)</div><div class="ttdoc">When set within a guac_socket, a handler of this type will be called whenever exclusive access to the...</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:93</div></div>
<div class="ttc" id="socket_8h_html_af23ab23c93eb09eac0e15a87f5690bda"><div class="ttname"><a href="socket_8h.html#af23ab23c93eb09eac0e15a87f5690bda">guac_socket_nest</a></div><div class="ttdeci">guac_socket * guac_socket_nest(guac_socket *parent, int index)</div><div class="ttdoc">Allocates and initializes a new guac_socket which writes all data via nest instructions to the given ...</div></div>
<div class="ttc" id="socket_8h_html_a09d5f60d75c57640a4c483d42445c1ab"><div class="ttname"><a href="socket_8h.html#a09d5f60d75c57640a4c483d42445c1ab">guac_socket_flush_base64</a></div><div class="ttdeci">ssize_t guac_socket_flush_base64(guac_socket *socket)</div><div class="ttdoc">Flushes the base64 buffer, writing padding characters as necessary.</div></div>
<div class="ttc" id="structguac__socket_html_a1044cde496cfe11c914c623dc1e29678"><div class="ttname"><a href="structguac__socket.html#a1044cde496cfe11c914c623dc1e29678">guac_socket::free_handler</a></div><div class="ttdeci">guac_socket_free_handler * free_handler</div><div class="ttdoc">Handler which will be called when the socket is free'd (closed).</div><div class="ttdef"><b>Definition:</b> socket.h:82</div></div>
<div class="ttc" id="socket-types_8h_html"><div class="ttname"><a href="socket-types_8h.html">socket-types.h</a></div><div class="ttdoc">Type definitions related to the guac_socket object.</div></div>
<div class="ttc" id="socket_8h_html_a00c8f00ab54c42e42c9f489caf5478b1"><div class="ttname"><a href="socket_8h.html#a00c8f00ab54c42e42c9f489caf5478b1">guac_socket_instruction_begin</a></div><div class="ttdeci">void guac_socket_instruction_begin(guac_socket *socket)</div><div class="ttdoc">Marks the beginning of a Guacamole protocol instruction.</div></div>
<div class="ttc" id="socket_8h_html_a2b570fec1d86f1eb09e057d4bbed3be6"><div class="ttname"><a href="socket_8h.html#a2b570fec1d86f1eb09e057d4bbed3be6">guac_socket_broadcast</a></div><div class="ttdeci">guac_socket * guac_socket_broadcast(guac_client *client)</div><div class="ttdoc">Allocates and initializes a new guac_socket which duplicates all instructions written across the sock...</div></div>
<div class="ttc" id="socket-constants_8h_html"><div class="ttname"><a href="socket-constants_8h.html">socket-constants.h</a></div><div class="ttdoc">Constants related to the guac_socket object.</div></div>
<div class="ttc" id="socket-fntypes_8h_html_a894bc88c6288ee6b6713a2ea64bd05a0"><div class="ttname"><a href="socket-fntypes_8h.html#a894bc88c6288ee6b6713a2ea64bd05a0">guac_socket_flush_handler</a></div><div class="ttdeci">ssize_t guac_socket_flush_handler(guac_socket *socket)</div><div class="ttdoc">Generic flush handler for socket flush operations.</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:83</div></div>
<div class="ttc" id="structguac__socket_html"><div class="ttname"><a href="structguac__socket.html">guac_socket</a></div><div class="ttdoc">The core I/O object of Guacamole.</div><div class="ttdef"><b>Definition:</b> socket.h:39</div></div>
<div class="ttc" id="socket-fntypes_8h_html"><div class="ttname"><a href="socket-fntypes_8h.html">socket-fntypes.h</a></div><div class="ttdoc">Function type definitions related to the guac_socket object.</div></div>
<div class="ttc" id="structguac__socket_html_a1d39f1476d3d3440485697a0eabfe471"><div class="ttname"><a href="structguac__socket.html#a1d39f1476d3d3440485697a0eabfe471">guac_socket::lock_handler</a></div><div class="ttdeci">guac_socket_lock_handler * lock_handler</div><div class="ttdoc">Handler which will be called whenever a socket needs to be acquired for exclusive access,...</div><div class="ttdef"><b>Definition:</b> socket.h:65</div></div>
<div class="ttc" id="socket_8h_html_a376df8efcc02a7104504f104433884ed"><div class="ttname"><a href="socket_8h.html#a376df8efcc02a7104504f104433884ed">guac_socket_free</a></div><div class="ttdeci">void guac_socket_free(guac_socket *socket)</div><div class="ttdoc">Frees the given guac_socket and all associated resources.</div></div>
<div class="ttc" id="socket_8h_html_a076f62b9b6082260462e18ca77c64e7a"><div class="ttname"><a href="socket_8h.html#a076f62b9b6082260462e18ca77c64e7a">guac_socket_open</a></div><div class="ttdeci">guac_socket * guac_socket_open(int fd)</div><div class="ttdoc">Allocates and initializes a new guac_socket object with the given open file descriptor.</div></div>
<div class="ttc" id="socket_8h_html_ad0cb48c7896361b522ae5a222a3b5efc"><div class="ttname"><a href="socket_8h.html#ad0cb48c7896361b522ae5a222a3b5efc">guac_socket_write_string</a></div><div class="ttdeci">ssize_t guac_socket_write_string(guac_socket *socket, const char *str)</div><div class="ttdoc">Writes the given string to the given guac_socket object.</div></div>
<div class="ttc" id="client-types_8h_html"><div class="ttname"><a href="client-types_8h.html">client-types.h</a></div><div class="ttdoc">Type definitions related to the Guacamole client structure, guac_client.</div></div>
<div class="ttc" id="socket-fntypes_8h_html_a7198af0a6bbac52794eb248c81d90c6a"><div class="ttname"><a href="socket-fntypes_8h.html#a7198af0a6bbac52794eb248c81d90c6a">guac_socket_write_handler</a></div><div class="ttdeci">ssize_t guac_socket_write_handler(guac_socket *socket, const void *buf, size_t count)</div><div class="ttdoc">Generic write handler for socket write operations, modeled after the standard POSIX write() function.</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:56</div></div>
<div class="ttc" id="structguac__socket_html_a0f5f24200b0dad4ef1443b863d1bfc7d"><div class="ttname"><a href="structguac__socket.html#a0f5f24200b0dad4ef1443b863d1bfc7d">guac_socket::write_handler</a></div><div class="ttdeci">guac_socket_write_handler * write_handler</div><div class="ttdoc">Handler which will be called whenever data is written to this socket.</div><div class="ttdef"><b>Definition:</b> socket.h:54</div></div>
<div class="ttc" id="socket_8h_html_ac7ec68bc42436ba316805718c292c510"><div class="ttname"><a href="socket_8h.html#ac7ec68bc42436ba316805718c292c510">guac_socket_write_base64</a></div><div class="ttdeci">ssize_t guac_socket_write_base64(guac_socket *socket, const void *buf, size_t count)</div><div class="ttdoc">Writes the given binary data to the given guac_socket object as base64- encoded data.</div></div>
<div class="ttc" id="structguac__socket_html_ac2d5236c7e570dfee207511241edaa9b"><div class="ttname"><a href="structguac__socket.html#ac2d5236c7e570dfee207511241edaa9b">guac_socket::state</a></div><div class="ttdeci">guac_socket_state state</div><div class="ttdoc">The current state of this guac_socket.</div><div class="ttdef"><b>Definition:</b> socket.h:87</div></div>
<div class="ttc" id="socket_8h_html_af5d6846212d792c5bce7f8a4fd46cd31"><div class="ttname"><a href="socket_8h.html#af5d6846212d792c5bce7f8a4fd46cd31">guac_socket_read</a></div><div class="ttdeci">ssize_t guac_socket_read(guac_socket *socket, void *buf, size_t count)</div><div class="ttdoc">Attempts to read data from the socket, filling up to the specified number of bytes in the given buffe...</div></div>
<div class="ttc" id="structguac__socket_html_a67be8367b5e1b330ee151b22c692500b"><div class="ttname"><a href="structguac__socket.html#a67be8367b5e1b330ee151b22c692500b">guac_socket::unlock_handler</a></div><div class="ttdeci">guac_socket_unlock_handler * unlock_handler</div><div class="ttdoc">Handler which will be called whenever exclusive access to a socket is being released,...</div><div class="ttdef"><b>Definition:</b> socket.h:71</div></div>
<div class="ttc" id="socket-fntypes_8h_html_af1a6f8eb81522aab289c9f4ed6051d3f"><div class="ttname"><a href="socket-fntypes_8h.html#af1a6f8eb81522aab289c9f4ed6051d3f">guac_socket_unlock_handler</a></div><div class="ttdeci">void guac_socket_unlock_handler(guac_socket *socket)</div><div class="ttdoc">When set within a guac_socket, a handler of this type will be called whenever exclusive access to the...</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:103</div></div>
<div class="ttc" id="socket_8h_html_adb6eb960de27526bc96e1f9af797e2c4"><div class="ttname"><a href="socket_8h.html#adb6eb960de27526bc96e1f9af797e2c4">guac_socket_write</a></div><div class="ttdeci">ssize_t guac_socket_write(guac_socket *socket, const void *buf, size_t count)</div><div class="ttdoc">Writes the given data to the specified socket.</div></div>
<div class="ttc" id="timestamp-types_8h_html_a69e916d1ff324fbe0e527f32359c9cea"><div class="ttname"><a href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a></div><div class="ttdeci">int64_t guac_timestamp</div><div class="ttdoc">An arbitrary timestamp denoting a relative time value in milliseconds.</div><div class="ttdef"><b>Definition:</b> timestamp-types.h:34</div></div>
<div class="ttc" id="structguac__socket_html_afc6ff82e38b84c9e876fd797aafedd1b"><div class="ttname"><a href="structguac__socket.html#afc6ff82e38b84c9e876fd797aafedd1b">guac_socket::flush_handler</a></div><div class="ttdeci">guac_socket_flush_handler * flush_handler</div><div class="ttdoc">Handler which will be called whenever this socket needs to be flushed.</div><div class="ttdef"><b>Definition:</b> socket.h:59</div></div>
<div class="ttc" id="structguac__socket_html_adf00e9c13ff3808fceb4c71c1172fb51"><div class="ttname"><a href="structguac__socket.html#adf00e9c13ff3808fceb4c71c1172fb51">guac_socket::last_write_timestamp</a></div><div class="ttdeci">guac_timestamp last_write_timestamp</div><div class="ttdoc">The timestamp associated with the time the last block of data was written to this guac_socket.</div><div class="ttdef"><b>Definition:</b> socket.h:93</div></div>
<div class="ttc" id="structguac__client_html"><div class="ttname"><a href="structguac__client.html">guac_client</a></div><div class="ttdoc">Guacamole proxy client.</div><div class="ttdef"><b>Definition:</b> client.h:46</div></div>
<div class="ttc" id="socket_8h_html_a603c23b24e2e2e95eeb2ce08d8115e94"><div class="ttname"><a href="socket_8h.html#a603c23b24e2e2e95eeb2ce08d8115e94">guac_socket_instruction_end</a></div><div class="ttdeci">void guac_socket_instruction_end(guac_socket *socket)</div><div class="ttdoc">Marks the end of a Guacamole protocol instruction.</div></div>
<div class="ttc" id="socket_8h_html_a7e5859b812923b894779f59353fdadb4"><div class="ttname"><a href="socket_8h.html#a7e5859b812923b894779f59353fdadb4">guac_socket_alloc</a></div><div class="ttdeci">guac_socket * guac_socket_alloc()</div><div class="ttdoc">Allocates a new, completely blank guac_socket.</div></div>
<div class="ttc" id="socket_8h_html_a41b0d7a25ccda3d0ae20143880cf53b7"><div class="ttname"><a href="socket_8h.html#a41b0d7a25ccda3d0ae20143880cf53b7">guac_socket_select</a></div><div class="ttdeci">int guac_socket_select(guac_socket *socket, int usec_timeout)</div><div class="ttdoc">Waits for input to be available on the given guac_socket object until the specified timeout elapses.</div></div>
<div class="ttc" id="socket-fntypes_8h_html_a9700a8ba2011d6e6ce13e3e6c6397fc2"><div class="ttname"><a href="socket-fntypes_8h.html#a9700a8ba2011d6e6ce13e3e6c6397fc2">guac_socket_free_handler</a></div><div class="ttdeci">int guac_socket_free_handler(guac_socket *socket)</div><div class="ttdoc">Generic handler for the closing of a socket, modeled after the standard POSIX close() function.</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:113</div></div>
<div class="ttc" id="structguac__socket_html_ad29e7f8a6819ca7bb541e8a947d5bc4f"><div class="ttname"><a href="structguac__socket.html#ad29e7f8a6819ca7bb541e8a947d5bc4f">guac_socket::select_handler</a></div><div class="ttdeci">guac_socket_select_handler * select_handler</div><div class="ttdoc">Handler which will be called whenever guac_socket_select() is invoked on this socket.</div><div class="ttdef"><b>Definition:</b> socket.h:77</div></div>
<div class="ttc" id="socket_8h_html_a1d8c5111a8234c7785ae23f379f7db03"><div class="ttname"><a href="socket_8h.html#a1d8c5111a8234c7785ae23f379f7db03">guac_socket_require_keep_alive</a></div><div class="ttdeci">void guac_socket_require_keep_alive(guac_socket *socket)</div><div class="ttdoc">Declares that the given socket must automatically send a keep-alive ping to ensure neither side of th...</div></div>
<div class="ttc" id="socket_8h_html_ababc834d5812e006b55a79da417bfe12"><div class="ttname"><a href="socket_8h.html#ababc834d5812e006b55a79da417bfe12">guac_socket_flush</a></div><div class="ttdeci">ssize_t guac_socket_flush(guac_socket *socket)</div><div class="ttdoc">Flushes the write buffer.</div></div>
<div class="ttc" id="socket_8h_html_a57a963e37377de2104c2d785980ff400"><div class="ttname"><a href="socket_8h.html#a57a963e37377de2104c2d785980ff400">guac_socket_write_int</a></div><div class="ttdeci">ssize_t guac_socket_write_int(guac_socket *socket, int64_t i)</div><div class="ttdoc">Writes the given unsigned int to the given guac_socket object.</div></div>
<div class="ttc" id="socket_8h_html_add9c80240912b0c8d309cf7de94f5305"><div class="ttname"><a href="socket_8h.html#add9c80240912b0c8d309cf7de94f5305">guac_socket_tee</a></div><div class="ttdeci">guac_socket * guac_socket_tee(guac_socket *primary, guac_socket *secondary)</div><div class="ttdoc">Allocates and initializes a new guac_socket which delegates all socket operations to the given primar...</div></div>
<div class="ttc" id="structguac__socket_html_ac8340e5627b43138bb50aac6c4368c0d"><div class="ttname"><a href="structguac__socket.html#ac8340e5627b43138bb50aac6c4368c0d">guac_socket::data</a></div><div class="ttdeci">void * data</div><div class="ttdoc">Arbitrary socket-specific data.</div><div class="ttdef"><b>Definition:</b> socket.h:44</div></div>
<div class="ttc" id="socket-fntypes_8h_html_a934350207615e0e2066954f9484153f8"><div class="ttname"><a href="socket-fntypes_8h.html#a934350207615e0e2066954f9484153f8">guac_socket_select_handler</a></div><div class="ttdeci">int guac_socket_select_handler(guac_socket *socket, int usec_timeout)</div><div class="ttdoc">Generic handler for socket select operations, similar to the POSIX select() function.</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:70</div></div>
<div class="ttc" id="socket-fntypes_8h_html_a75396c8cb7b0ba91102fcd447a1eb36b"><div class="ttname"><a href="socket-fntypes_8h.html#a75396c8cb7b0ba91102fcd447a1eb36b">guac_socket_read_handler</a></div><div class="ttdeci">ssize_t guac_socket_read_handler(guac_socket *socket, void *buf, size_t count)</div><div class="ttdoc">Generic read handler for socket read operations, modeled after the standard POSIX read() function.</div><div class="ttdef"><b>Definition:</b> socket-fntypes.h:43</div></div>
<div class="ttc" id="structguac__socket_html_a10042a8e591737aec8d4db5a3423b250"><div class="ttname"><a href="structguac__socket.html#a10042a8e591737aec8d4db5a3423b250">guac_socket::read_handler</a></div><div class="ttdeci">guac_socket_read_handler * read_handler</div><div class="ttdoc">Handler which will be called when data needs to be read from the socket.</div><div class="ttdef"><b>Definition:</b> socket.h:49</div></div>
<div class="ttc" id="timestamp-types_8h_html"><div class="ttname"><a href="timestamp-types_8h.html">timestamp-types.h</a></div><div class="ttdoc">Type definitions related to Guacamole protocol timestamps.</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>