blob: 6c09583e0022412f1436509ab173daed4231a0a0 [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-types.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.9.2</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-types.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="protocol-types_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"> * Copyright (C) 2014 Glyptodon LLC</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * of this software and associated documentation files (the &quot;Software&quot;), to deal</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * in the Software without restriction, including without limitation the rights</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * all copies or substantial portions of the Software.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * THE SOFTWARE.</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;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef _GUAC_PROTOCOL_TYPES_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _GUAC_PROTOCOL_TYPES_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2"> 47</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2" title="Set of all possible status codes returned by protocol operations.">guac_protocol_status</a> {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2aece4c889b9d626073bf7a0cb8fe6d5ac"> 52</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2aece4c889b9d626073bf7a0cb8fe6d5ac" title="The operation succeeded.">GUAC_PROTOCOL_STATUS_SUCCESS</a> = 0x0000,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a3a967a2c59d846eb6e6106066d95ef75"> 57</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a3a967a2c59d846eb6e6106066d95ef75" title="The requested operation is unsupported.">GUAC_PROTOCOL_STATUS_UNSUPPORTED</a> = 0x0100,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a1540c5c1a0668f06a9d71443d95063ff"> 62</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a1540c5c1a0668f06a9d71443d95063ff" title="The operation could not be performed due to an internal failure.">GUAC_PROTOCOL_STATUS_SERVER_ERROR</a> = 0x0200,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a0344ce1d993b626382a44969934354d6"> 67</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a0344ce1d993b626382a44969934354d6" title="The operation could not be performed due as the server is busy.">GUAC_PROTOCOL_STATUS_SERVER_BUSY</a> = 0x0201,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a5829c4335b31db5c6f1e1764264f281f"> 73</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a5829c4335b31db5c6f1e1764264f281f" title="The operation could not be performed because the upstream server is not responding.">GUAC_PROTOCOL_STATUS_UPSTREAM_TIMEOUT</a> = 0x202,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a00d154907f7b45e526db18a5a5685d78"> 79</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a00d154907f7b45e526db18a5a5685d78" title="The operation was unsuccessful due to an error or otherwise unexpected condition of the upstream serv...">GUAC_PROTOCOL_STATUS_UPSTREAM_ERROR</a> = 0x203,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a3aa788cd4b2bbcfab592573dbddc2e22"> 85</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a3aa788cd4b2bbcfab592573dbddc2e22" title="The operation could not be performed as the requested resource does not exist.">GUAC_PROTOCOL_STATUS_RESOURCE_NOT_FOUND</a> = 0x204,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a6f19a3fac58e804570a16351f8c35ee9"> 91</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a6f19a3fac58e804570a16351f8c35ee9" title="The operation could not be performed as the requested resource is already in use.">GUAC_PROTOCOL_STATUS_RESOURCE_CONFLICT</a> = 0x205,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a3368d253bd711779821fd35cfce26fb7"> 97</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a3368d253bd711779821fd35cfce26fb7" title="The operation could not be performed because bad parameters were given.">GUAC_PROTOCOL_STATUS_CLIENT_BAD_REQUEST</a> = 0x300,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2af235e2bc03b76506e2b145bef2faadca"> 103</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2af235e2bc03b76506e2b145bef2faadca" title="Permission was denied to perform the operation, as the user is not yet authorized (not yet logged in...">GUAC_PROTOCOL_STATUS_CLIENT_UNAUTHORIZED</a> = 0x0301,</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-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2ae69699ec97ca233ff2080e258cbaffc5"> 109</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2ae69699ec97ca233ff2080e258cbaffc5" title="Permission was denied to perform the operation, and this permission will not be granted even if the u...">GUAC_PROTOCOL_STATUS_CLIENT_FORBIDDEN</a> = 0x0303,</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"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a48bbc2974575fc1418a74367b090dfff"> 114</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a48bbc2974575fc1418a74367b090dfff" title="The client took too long to respond.">GUAC_PROTOCOL_STATUS_CLIENT_TIMEOUT</a> = 0x308,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a8d525475c60f4851a0e54f80e2106d13"> 119</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2a8d525475c60f4851a0e54f80e2106d13" title="The client sent too much data.">GUAC_PROTOCOL_STATUS_CLIENT_OVERRUN</a> = 0x30D,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2aee8dbe77e34276c2c63ac48cfd9efb6a"> 124</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2aee8dbe77e34276c2c63ac48cfd9efb6a" title="The client sent data of an unsupported or unexpected type.">GUAC_PROTOCOL_STATUS_CLIENT_BAD_TYPE</a> = 0x30F,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2aea1d0ee50c190b937904da2ad68cabdc"> 130</a></span>&#160; <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2aea1d0ee50c190b937904da2ad68cabdc" title="The operation failed because the current client is already using too many resources.">GUAC_PROTOCOL_STATUS_CLIENT_TOO_MANY</a> = 0x31D</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;} <a class="code" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2" title="Set of all possible status codes returned by protocol operations.">guac_protocol_status</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186"> 138</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a> {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> * A: Source where destination transparent = S n D&#39;</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> * B: Source where destination opaque = S n D</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> * C: Destination where source transparent = D n S&#39;</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> * D: Destination where source opaque = D n S</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> * 0 = Active, 1 = Inactive</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="comment">/* ABCD */</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; GUAC_COMP_ROUT = 0x2, <span class="comment">/* 0010 - Clears destination where source opaque */</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; GUAC_COMP_ATOP = 0x6, <span class="comment">/* 0110 - Fill where destination opaque only */</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; GUAC_COMP_XOR = 0xA, <span class="comment">/* 1010 - XOR */</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; GUAC_COMP_ROVER = 0xB, <span class="comment">/* 1011 - Fill where destination transparent only */</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; GUAC_COMP_OVER = 0xE, <span class="comment">/* 1110 - Draw normally */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; GUAC_COMP_PLUS = 0xF, <span class="comment">/* 1111 - Add */</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">/* Unimplemented in client: */</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0000 - Clear */</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0011 - No operation */</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0101 - Additive IN */</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 0111 - Additive ATOP */</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">/* NOT IMPLEMENTED: 1101 - Additive RATOP */</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</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="l00164"></a><span class="lineno"> 164</span>&#160; GUAC_COMP_RIN = 0x1, <span class="comment">/* 0001 */</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; GUAC_COMP_IN = 0x4, <span class="comment">/* 0100 */</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; GUAC_COMP_OUT = 0x8, <span class="comment">/* 1000 */</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; GUAC_COMP_RATOP = 0x9, <span class="comment">/* 1001 */</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; GUAC_COMP_SRC = 0xC <span class="comment">/* 1100 */</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">/* Bitwise composite operations (binary) */</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> * A: S&#39; &amp; D&#39;</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> * B: S&#39; &amp; D</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> * C: S &amp; D&#39;</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> * D: S &amp; D</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> * 0 = Active, 1 = Inactive</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;} <a class="code" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186" title="Composite modes used by Guacamole draw instructions.">guac_composite_mode</a>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff"> 187</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol-types_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff" title="Default transfer functions.">guac_transfer_function</a> {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="comment">/* Constant functions */</span> <span class="comment">/* ABCD */</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; GUAC_TRANSFER_BINARY_BLACK = 0x0, <span class="comment">/* 0000 */</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; GUAC_TRANSFER_BINARY_WHITE = 0xF, <span class="comment">/* 1111 */</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">/* Copy functions */</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; GUAC_TRANSFER_BINARY_SRC = 0x3, <span class="comment">/* 0011 */</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; GUAC_TRANSFER_BINARY_DEST = 0x5, <span class="comment">/* 0101 */</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; GUAC_TRANSFER_BINARY_NSRC = 0xC, <span class="comment">/* 1100 */</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; GUAC_TRANSFER_BINARY_NDEST = 0xA, <span class="comment">/* 1010 */</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="comment">/* AND / NAND */</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; GUAC_TRANSFER_BINARY_AND = 0x1, <span class="comment">/* 0001 */</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; GUAC_TRANSFER_BINARY_NAND = 0xE, <span class="comment">/* 1110 */</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="comment">/* OR / NOR */</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; GUAC_TRANSFER_BINARY_OR = 0x7, <span class="comment">/* 0111 */</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; GUAC_TRANSFER_BINARY_NOR = 0x8, <span class="comment">/* 1000 */</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="comment">/* XOR / XNOR */</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; GUAC_TRANSFER_BINARY_XOR = 0x6, <span class="comment">/* 0110 */</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; GUAC_TRANSFER_BINARY_XNOR = 0x9, <span class="comment">/* 1001 */</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="comment">/* AND / NAND with inverted source */</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; GUAC_TRANSFER_BINARY_NSRC_AND = 0x4, <span class="comment">/* 0100 */</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; GUAC_TRANSFER_BINARY_NSRC_NAND = 0xB, <span class="comment">/* 1011 */</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">/* OR / NOR with inverted source */</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; GUAC_TRANSFER_BINARY_NSRC_OR = 0xD, <span class="comment">/* 1101 */</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; GUAC_TRANSFER_BINARY_NSRC_NOR = 0x2, <span class="comment">/* 0010 */</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">/* AND / NAND with inverted destination */</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; GUAC_TRANSFER_BINARY_NDEST_AND = 0x2, <span class="comment">/* 0010 */</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; GUAC_TRANSFER_BINARY_NDEST_NAND = 0xD, <span class="comment">/* 1101 */</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">/* OR / NOR with inverted destination */</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; GUAC_TRANSFER_BINARY_NDEST_OR = 0xB, <span class="comment">/* 1011 */</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; GUAC_TRANSFER_BINARY_NDEST_NOR = 0x4 <span class="comment">/* 0100 */</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;} <a class="code" href="protocol-types_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff" title="Default transfer functions.">guac_transfer_function</a>;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc"> 232</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc" title="Supported line cap styles.">guac_line_cap_style</a> {</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; GUAC_LINE_CAP_BUTT = 0x0,</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; GUAC_LINE_CAP_ROUND = 0x1,</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; GUAC_LINE_CAP_SQUARE = 0x2</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;} <a class="code" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc" title="Supported line cap styles.">guac_line_cap_style</a>;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1"> 241</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1" title="Supported line join styles.">guac_line_join_style</a> {</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; GUAC_LINE_JOIN_BEVEL = 0x0,</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; GUAC_LINE_JOIN_MITER = 0x1,</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; GUAC_LINE_JOIN_ROUND = 0x2</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;} <a class="code" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1" title="Supported line join styles.">guac_line_join_style</a>;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jul 21 2014 14:14:14 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>