blob: a54d43b4397d508c5c0b60dba629fe3324487525 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>libguac: guacamole/protocol.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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libguac
&#160;<span id="projectnumber">0.8.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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">protocol.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="protocol_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;</div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">/* ***** BEGIN LICENSE BLOCK *****</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Version: MPL 1.1/GPL 2.0/LGPL 2.1</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * The contents of this file are subject to the Mozilla Public License Version</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * 1.1 (the &quot;License&quot;); you may not use this file except in compliance with</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the License. You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * http://www.mozilla.org/MPL/</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"> * Software distributed under the License is distributed on an &quot;AS IS&quot; basis,</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * for the specific language governing rights and limitations under the</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * License.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * The Original Code is libguac.</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"> * The Initial Developer of the Original Code is</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Michael Jumper.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Portions created by the Initial Developer are Copyright (C) 2010</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * the Initial Developer. All Rights Reserved.</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"> * Contributor(s):</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * Alternatively, the contents of this file may be used under the terms of</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * either the GNU General Public License Version 2 or later (the &quot;GPL&quot;), or</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * the GNU Lesser General Public License Version 2.1 or later (the &quot;LGPL&quot;),</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * in which case the provisions of the GPL or the LGPL are applicable instead</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * of those above. If you wish to allow use of your version of this file only</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * under the terms of either the GPL or the LGPL, and not to allow others to</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * use your version of this file under the terms of the MPL, indicate your</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * decision by deleting the provisions above and replace them with the notice</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * and other provisions required by the GPL or the LGPL. If you do not delete</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * the provisions above, a recipient may use your version of this file under</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * the terms of any one of the MPL, the GPL or the LGPL.</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;<span class="comment"> * ***** END LICENSE BLOCK ***** */</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#ifndef _GUAC_PROTOCOL_H</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _GUAC_PROTOCOL_H</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;cairo/cairo.h&gt;</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">#include &quot;<a class="code" href="layer_8h.html" title="Provides functions and structures required for allocating and using layers.">layer.h</a>&quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="socket_8h.html" title="Defines the guac_socket object and functionss for using and manipulating it.">socket.h</a>&quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="timestamp_8h.html" title="Provides functions and structures for creating timestamps.">timestamp.h</a>&quot;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186"> 59</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> * A: Source where destination transparent = S n D&#39;</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> * B: Source where destination opaque = S n D</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> * C: Destination where source transparent = D n S&#39;</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> * D: Destination where source opaque = D n S</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> * 0 = Active, 1 = Inactive</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">/* ABCD */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; GUAC_COMP_ROUT = 0x2, <span class="comment">/* 0010 - Clears destination where source opaque */</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; GUAC_COMP_ATOP = 0x6, <span class="comment">/* 0110 - Fill where destination opaque only */</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; GUAC_COMP_XOR = 0xA, <span class="comment">/* 1010 - XOR */</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; GUAC_COMP_ROVER = 0xB, <span class="comment">/* 1011 - Fill where destination transparent only */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; GUAC_COMP_OVER = 0xE, <span class="comment">/* 1110 - Draw normally */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; GUAC_COMP_PLUS = 0xF, <span class="comment">/* 1111 - Add */</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">/* Unimplemented in client: */</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0000 - Clear */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0011 - No operation */</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0101 - Additive IN */</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0111 - Additive ATOP */</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 1101 - Additive RATOP */</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">/* Buggy in webkit browsers, as they keep channel C on in all cases: */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; GUAC_COMP_RIN = 0x1, <span class="comment">/* 0001 */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; GUAC_COMP_IN = 0x4, <span class="comment">/* 0100 */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; GUAC_COMP_OUT = 0x8, <span class="comment">/* 1000 */</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; GUAC_COMP_RATOP = 0x9, <span class="comment">/* 1001 */</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; GUAC_COMP_SRC = 0xC <span class="comment">/* 1100 */</span></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; <span class="comment">/* Bitwise composite operations (binary) */</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">/*</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> * A: S&#39; &amp; D&#39;</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> * B: S&#39; &amp; D</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> * C: S &amp; D&#39;</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> * D: S &amp; D</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> * 0 = Active, 1 = Inactive</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> */</span></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;} <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a>;</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="l00109"></a><span class="lineno"><a class="code" href="protocol_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff"> 109</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff" title="Default transfer functions.">guac_transfer_function</a> {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">/* Constant functions */</span> <span class="comment">/* ABCD */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; GUAC_TRANSFER_BINARY_BLACK = 0x0, <span class="comment">/* 0000 */</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; GUAC_TRANSFER_BINARY_WHITE = 0xF, <span class="comment">/* 1111 */</span></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="comment">/* Copy functions */</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; GUAC_TRANSFER_BINARY_SRC = 0x3, <span class="comment">/* 0011 */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; GUAC_TRANSFER_BINARY_DEST = 0x5, <span class="comment">/* 0101 */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; GUAC_TRANSFER_BINARY_NSRC = 0xC, <span class="comment">/* 1100 */</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; GUAC_TRANSFER_BINARY_NDEST = 0xA, <span class="comment">/* 1010 */</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">/* AND / NAND */</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; GUAC_TRANSFER_BINARY_AND = 0x1, <span class="comment">/* 0001 */</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; GUAC_TRANSFER_BINARY_NAND = 0xE, <span class="comment">/* 1110 */</span></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">/* OR / NOR */</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; GUAC_TRANSFER_BINARY_OR = 0x7, <span class="comment">/* 0111 */</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; GUAC_TRANSFER_BINARY_NOR = 0x8, <span class="comment">/* 1000 */</span></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="comment">/* XOR / XNOR */</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; GUAC_TRANSFER_BINARY_XOR = 0x6, <span class="comment">/* 0110 */</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; GUAC_TRANSFER_BINARY_XNOR = 0x9, <span class="comment">/* 1001 */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">/* AND / NAND with inverted source */</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; GUAC_TRANSFER_BINARY_NSRC_AND = 0x4, <span class="comment">/* 0100 */</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; GUAC_TRANSFER_BINARY_NSRC_NAND = 0xB, <span class="comment">/* 1011 */</span></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"> 137</span>&#160; <span class="comment">/* OR / NOR with inverted source */</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; GUAC_TRANSFER_BINARY_NSRC_OR = 0xD, <span class="comment">/* 1101 */</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; GUAC_TRANSFER_BINARY_NSRC_NOR = 0x2, <span class="comment">/* 0010 */</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">/* AND / NAND with inverted destination */</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; GUAC_TRANSFER_BINARY_NDEST_AND = 0x2, <span class="comment">/* 0010 */</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; GUAC_TRANSFER_BINARY_NDEST_NAND = 0xD, <span class="comment">/* 1101 */</span></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; <span class="comment">/* OR / NOR with inverted destination */</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; GUAC_TRANSFER_BINARY_NDEST_OR = 0xB, <span class="comment">/* 1011 */</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; GUAC_TRANSFER_BINARY_NDEST_NOR = 0x4 <span class="comment">/* 0100 */</span></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"> 149</span>&#160;} <a class="code" href="protocol_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff" title="Default transfer functions.">guac_transfer_function</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="protocol_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc"> 154</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc" title="Supported line cap styles.">guac_line_cap_style</a> {</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; GUAC_LINE_CAP_BUTT = 0x0,</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; GUAC_LINE_CAP_ROUND = 0x1,</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; GUAC_LINE_CAP_SQUARE = 0x2</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;} <a class="code" href="protocol_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc" title="Supported line cap styles.">guac_line_cap_style</a>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="protocol_8h.html#a6333200b3ff1634e0cb1826b271438b1"> 163</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol_8h.html#a6333200b3ff1634e0cb1826b271438b1" title="Supported line join styles.">guac_line_join_style</a> {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; GUAC_LINE_JOIN_BEVEL = 0x0,</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; GUAC_LINE_JOIN_MITER = 0x1,</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; GUAC_LINE_JOIN_ROUND = 0x2</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;} <a class="code" href="protocol_8h.html#a6333200b3ff1634e0cb1826b271438b1" title="Supported line join styles.">guac_line_join_style</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"> 169</span>&#160;<span class="comment">/* CONTROL INSTRUCTIONS */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a6047d380b097ebc7d5f35b167e3419e6" title="Sends an args instruction over the given guac_socket connection.">guac_protocol_send_args</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>** args);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ac8dea4393e2ec69d5d27fd0759a70fcb" title="Sends a connect instruction over the given guac_socket connection.">guac_protocol_send_connect</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>** args);</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#afd463766036afda4798edbe788d29524" title="Sends a disconnect instruction over the given guac_socket connection.">guac_protocol_send_disconnect</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a64226ea11e39d75d57b998e021ee75e0" title="Sends an error instruction over the given guac_socket connection.">guac_protocol_send_error</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>* error);</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a94efa63c9895383e142a3f7ce559300b" title="Sends a nest instruction over the given guac_socket connection.">guac_protocol_send_nest</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">int</span> index,</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* data);</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#aa3750a6c0fbf190fb71a6ab0955cb31a" title="Sends a set instruction over the given guac_socket connection.">guac_protocol_send_set</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a8757c7870e648b220dbc76b8292fe5cf" title="Sends a select instruction over the given guac_socket connection.">guac_protocol_send_select</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>* protocol);</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#aa11f8798abca85fd2b47b5f9a027fa73" title="Sends a sync instruction over the given guac_socket connection.">guac_protocol_send_sync</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <a class="code" href="timestamp_8h.html#a69e916d1ff324fbe0e527f32359c9cea" title="An arbitrary timestamp denoting a relative time value in milliseconds.">guac_timestamp</a> timestamp);</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">/* MEDIA INSTRUCTIONS */</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a22e5c9912f91c69d95ff7aacffd2ade2" title="Sends an audio instruction over the given guac_socket connection.">guac_protocol_send_audio</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">int</span> channel,</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* mimetype, <span class="keywordtype">double</span> duration, <span class="keywordtype">void</span>* data, <span class="keywordtype">int</span> size);</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a4b7f8dd69cbf5688c2ddf06917be8753" title="Begins a audio instruction over the given guac_socket connection.">guac_protocol_send_audio_header</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket,</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordtype">int</span> channel, <span class="keyword">const</span> <span class="keywordtype">char</span>* mimetype, <span class="keywordtype">double</span> duration, <span class="keywordtype">int</span> size);</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a6e78f28b210a38ea7bb259d230a05b0c" title="Writes a block of audio data to the currently in-progress audio instruction which was started with gu...">guac_protocol_send_audio_data</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">void</span>* data, <span class="keywordtype">int</span> count);</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a846b52caf665481f27a35e52b8fc7e3c" title="Completes the audio instruction which was started with guac_protocol_send_audio_header(), and whose data has been written with guac_protocol_send_audio_data().">guac_protocol_send_audio_end</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket);</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ae34f5e855b7846bd8a863a8fa641a146" title="Sends a file instruction over the given guac_socket connection.">guac_protocol_send_file</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">int</span> index, <span class="keyword">const</span> <span class="keywordtype">char</span>* mimetype, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#af6e2c6aa2a3902a95d031f12dff1d2d4" title="Writes a block of data to the currently in-progress blob which was already created.">guac_protocol_send_blob</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">int</span> index, <span class="keywordtype">void</span>* data, <span class="keywordtype">int</span> count);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a8bd279fe295e7d0810273cf295d0c19b" title="Sends an end instruction over the given guac_socket connection.">guac_protocol_send_end</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">int</span> index);</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a3cf3bd1ac026e37696ae3c013e65b7d8" title="Sends a video instruction over the given guac_socket connection.">guac_protocol_send_video</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* mimetype, <span class="keywordtype">double</span> duration, <span class="keywordtype">void</span>* data, <span class="keywordtype">int</span> size);</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a493247163fc61bae1b3152aa02c80298" title="Begins a video instruction over the given guac_socket connection.">guac_protocol_send_video_header</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket,</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer, <span class="keyword">const</span> <span class="keywordtype">char</span>* mimetype, <span class="keywordtype">double</span> duration, <span class="keywordtype">int</span> size);</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a9b38e87d489e2c719f7cae5a0421bd8e" title="Writes a block of video data to the currently in-progress video instruction which was started with gu...">guac_protocol_send_video_data</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">void</span>* data, <span class="keywordtype">int</span> count);</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a9c397383eda5c7cf9f2fd250572b6439" title="Completes the video instruction which was started with guac_protocol_send_video_header(), and whose data has been written with guac_protocol_send_video_data().">guac_protocol_send_video_end</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket);</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="comment">/* DRAWING INSTRUCTIONS */</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ad74bc43b5f03b79027bf02d873cd77b3" title="Sends an arc instruction over the given guac_socket connection.">guac_protocol_send_arc</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> radius, <span class="keywordtype">double</span> startAngle, <span class="keywordtype">double</span> endAngle,</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordtype">int</span> negative);</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#afda3a1a8285e323fca6aef50cb2feb5e" title="Sends a cfill instruction over the given guac_socket connection.">guac_protocol_send_cfill</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket,</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> mode, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordtype">int</span> r, <span class="keywordtype">int</span> g, <span class="keywordtype">int</span> b, <span class="keywordtype">int</span> a);</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#acbd1869635b752bbf52998613804df00" title="Sends a clip instruction over the given guac_socket connection.">guac_protocol_send_clip</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a45a3e4e32900594e17c49db6939fc10a" title="Sends a close instruction over the given guac_socket connection.">guac_protocol_send_close</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ad035df3781dc19ba2330b02ef1dd6eda" title="Sends a copy instruction over the given guac_socket connection.">guac_protocol_send_copy</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, </div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* srcl, <span class="keywordtype">int</span> srcx, <span class="keywordtype">int</span> srcy, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h,</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> mode, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* dstl, <span class="keywordtype">int</span> dstx, <span class="keywordtype">int</span> dsty);</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ac6f28f1beb2fa07e1b3f6fa774789fd9" title="Sends a cstroke instruction over the given guac_socket connection.">guac_protocol_send_cstroke</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket,</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> mode, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <a class="code" href="protocol_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc" title="Supported line cap styles.">guac_line_cap_style</a> cap, <a class="code" href="protocol_8h.html#a6333200b3ff1634e0cb1826b271438b1" title="Supported line join styles.">guac_line_join_style</a> join, <span class="keywordtype">int</span> thickness,</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordtype">int</span> r, <span class="keywordtype">int</span> g, <span class="keywordtype">int</span> b, <span class="keywordtype">int</span> a);</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a17da53514189083fa84aa3cc0bf6883a" title="Sends a cursor instruction over the given guac_socket connection.">guac_protocol_send_cursor</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y,</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* srcl, <span class="keywordtype">int</span> srcx, <span class="keywordtype">int</span> srcy, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h);</div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a1b9985b080a339dcd14b95f5e46e8ab5" title="Sends a curve instruction over the given guac_socket connection.">guac_protocol_send_curve</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordtype">int</span> cp1x, <span class="keywordtype">int</span> cp1y, <span class="keywordtype">int</span> cp2x, <span class="keywordtype">int</span> cp2y, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#aac205e52801a875bfbef02ae237b6b15" title="Sends an identity instruction over the given guac_socket connection.">guac_protocol_send_identity</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a9271e3b6cc0030b833d18137969a4018" title="Sends an lfill instruction over the given guac_socket connection.">guac_protocol_send_lfill</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket,</div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> mode, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* srcl);</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#afac3f57649c20b5e39c484a52d264005" title="Sends a line instruction over the given guac_socket connection.">guac_protocol_send_line</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a5b7d621d534126e26178789800a1a5d5" title="Sends an lstroke instruction over the given guac_socket connection.">guac_protocol_send_lstroke</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket,</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> mode, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <a class="code" href="protocol_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc" title="Supported line cap styles.">guac_line_cap_style</a> cap, <a class="code" href="protocol_8h.html#a6333200b3ff1634e0cb1826b271438b1" title="Supported line join styles.">guac_line_join_style</a> join, <span class="keywordtype">int</span> thickness,</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* srcl);</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a747c852c0d5de9c59d81171d9e6f44a1" title="Sends a png instruction over the given guac_socket connection.">guac_protocol_send_png</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <a class="code" href="protocol_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> mode,</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, cairo_surface_t* surface);</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ab29ab6edd91e954fd686742c92eab6d4" title="Sends a pop instruction over the given guac_socket connection.">guac_protocol_send_pop</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a9db04720cbb2bc972f48f2e9332f23a8" title="Sends a push instruction over the given guac_socket connection.">guac_protocol_send_push</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;</div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a42dc3db797b83accd3418b76648adac5" title="Sends a rect instruction over the given guac_socket connection.">guac_protocol_send_rect</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a5f6433cc21bc043c57fb7c468428373a" title="Sends a reset instruction over the given guac_socket connection.">guac_protocol_send_reset</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a60d33439eb4b5a11535a9a77e57c4126" title="Sends a start instruction over the given guac_socket connection.">guac_protocol_send_start</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#aecdce272ed4c317c5b7291e42239a1f9" title="Sends a transfer instruction over the given guac_socket connection.">guac_protocol_send_transfer</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, </div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* srcl, <span class="keywordtype">int</span> srcx, <span class="keywordtype">int</span> srcy, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h,</div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <a class="code" href="protocol_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff" title="Default transfer functions.">guac_transfer_function</a> fn, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* dstl, <span class="keywordtype">int</span> dstx, <span class="keywordtype">int</span> dsty);</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a17058795c93be51c82a9df95eca8e62b" title="Sends a transform instruction over the given guac_socket connection.">guac_protocol_send_transform</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, </div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordtype">double</span> a, <span class="keywordtype">double</span> b, <span class="keywordtype">double</span> c,</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordtype">double</span> d, <span class="keywordtype">double</span> e, <span class="keywordtype">double</span> f);</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;<span class="comment">/* LAYER INSTRUCTIONS */</span></div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;</div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a7b2456a017f772a39be6d33a5da9149d" title="Sends a dispose instruction over the given guac_socket connection.">guac_protocol_send_dispose</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer);</div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;</div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a6b4cdd9133dbdca8cfc1e78a0d6bdf13" title="Sends a distort instruction over the given guac_socket connection.">guac_protocol_send_distort</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, </div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordtype">double</span> a, <span class="keywordtype">double</span> b, <span class="keywordtype">double</span> c,</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="keywordtype">double</span> d, <span class="keywordtype">double</span> e, <span class="keywordtype">double</span> f);</div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;</div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#ac7409451b0f2b18dc870d347545c9afd" title="Sends a move instruction over the given guac_socket connection.">guac_protocol_send_move</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* parent, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> z);</div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;</div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a0e72a4122a3a7c45fa21e0d5607cc4d5" title="Sends a shade instruction over the given guac_socket connection.">guac_protocol_send_shade</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordtype">int</span> a);</div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#affc4cf09c3337bd860439da99bdfef98" title="Sends a size instruction over the given guac_socket connection.">guac_protocol_send_size</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <a class="code" href="structguac__layer.html" title="Represents a single layer within the Guacamole protocol.">guac_layer</a>* layer,</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h);</div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;<span class="comment">/* TEXT INSTRUCTIONS */</span></div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;</div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#abc0656e8b2e722e8bc0e02a50513c01c" title="Sends a clipboard instruction over the given guac_socket connection.">guac_protocol_send_clipboard</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>* data);</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;<span class="keywordtype">int</span> <a class="code" href="protocol_8h.html#a481fbaab3b8e72505df752ac2f6cc59e" title="Sends a name instruction over the given guac_socket connection.">guac_protocol_send_name</a>(<a class="code" href="structguac__socket.html" title="The core I/O object of Guacamole.">guac_socket</a>* socket, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri May 23 2014 12:01:41 for libguac by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.2
</small></address>
<!-- Google Analytics -->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-75289145-1', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
</body>
</html>