blob: 5f2261faaed95a634f91687deac636bc9b883502 [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"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libguac: guacamole/protocol.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libguac
&#160;<span id="projectnumber">1.1.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_6bb9fad85c98b48a11165f494b9f53ce.html">guacamole</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">protocol.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Provides functions and structures required for communicating using the Guacamole protocol over a <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection, such as that provided by <a class="el" href="structguac__client.html" title="Guacamole proxy client. ">guac_client</a> objects.
<a href="#details">More...</a></p>
<p><a href="protocol_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab02be6102d9f4aaa2bbb0b249f09d63e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ab02be6102d9f4aaa2bbb0b249f09d63e">guac_protocol_send_ack</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *error, <a class="el" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2">guac_protocol_status</a> status)</td></tr>
<tr class="memdesc:ab02be6102d9f4aaa2bbb0b249f09d63e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an ack instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ab02be6102d9f4aaa2bbb0b249f09d63e">More...</a><br /></td></tr>
<tr class="separator:ab02be6102d9f4aaa2bbb0b249f09d63e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6047d380b097ebc7d5f35b167e3419e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a6047d380b097ebc7d5f35b167e3419e6">guac_protocol_send_args</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char **args)</td></tr>
<tr class="memdesc:a6047d380b097ebc7d5f35b167e3419e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an args instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a6047d380b097ebc7d5f35b167e3419e6">More...</a><br /></td></tr>
<tr class="separator:a6047d380b097ebc7d5f35b167e3419e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8dea4393e2ec69d5d27fd0759a70fcb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ac8dea4393e2ec69d5d27fd0759a70fcb">guac_protocol_send_connect</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char **args)</td></tr>
<tr class="memdesc:ac8dea4393e2ec69d5d27fd0759a70fcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a connect instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ac8dea4393e2ec69d5d27fd0759a70fcb">More...</a><br /></td></tr>
<tr class="separator:ac8dea4393e2ec69d5d27fd0759a70fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd463766036afda4798edbe788d29524"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#afd463766036afda4798edbe788d29524">guac_protocol_send_disconnect</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket)</td></tr>
<tr class="memdesc:afd463766036afda4798edbe788d29524"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a disconnect instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#afd463766036afda4798edbe788d29524">More...</a><br /></td></tr>
<tr class="separator:afd463766036afda4798edbe788d29524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe696ca7c9841883c5d5bea513d4ee9a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#abe696ca7c9841883c5d5bea513d4ee9a">guac_protocol_send_error</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char *error, <a class="el" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2">guac_protocol_status</a> status)</td></tr>
<tr class="memdesc:abe696ca7c9841883c5d5bea513d4ee9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an error instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#abe696ca7c9841883c5d5bea513d4ee9a">More...</a><br /></td></tr>
<tr class="separator:abe696ca7c9841883c5d5bea513d4ee9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d276595cea8a2d382240d868487f077"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a2d276595cea8a2d382240d868487f077">guac_protocol_send_key</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, int keysym, int pressed, <a class="el" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a> timestamp)</td></tr>
<tr class="memdesc:a2d276595cea8a2d382240d868487f077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a key instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a2d276595cea8a2d382240d868487f077">More...</a><br /></td></tr>
<tr class="separator:a2d276595cea8a2d382240d868487f077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f832f5b814129d2819f115d84da3cd0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a6f832f5b814129d2819f115d84da3cd0">guac_protocol_send_log</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char *format,...)</td></tr>
<tr class="memdesc:a6f832f5b814129d2819f115d84da3cd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a log instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a6f832f5b814129d2819f115d84da3cd0">More...</a><br /></td></tr>
<tr class="separator:a6f832f5b814129d2819f115d84da3cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a783d771e1727ba2a82b2298acf4ee4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a3a783d771e1727ba2a82b2298acf4ee4">vguac_protocol_send_log</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char *format, va_list args)</td></tr>
<tr class="memdesc:a3a783d771e1727ba2a82b2298acf4ee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a log instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a3a783d771e1727ba2a82b2298acf4ee4">More...</a><br /></td></tr>
<tr class="separator:a3a783d771e1727ba2a82b2298acf4ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8947056262da2f3263b9851370597622"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a8947056262da2f3263b9851370597622">guac_protocol_send_mouse</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, int x, int y, int button_mask, <a class="el" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a> timestamp)</td></tr>
<tr class="memdesc:a8947056262da2f3263b9851370597622"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a mouse instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a8947056262da2f3263b9851370597622">More...</a><br /></td></tr>
<tr class="separator:a8947056262da2f3263b9851370597622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94efa63c9895383e142a3f7ce559300b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a94efa63c9895383e142a3f7ce559300b">guac_protocol_send_nest</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, int index, const char *data)</td></tr>
<tr class="memdesc:a94efa63c9895383e142a3f7ce559300b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a nest instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a94efa63c9895383e142a3f7ce559300b">More...</a><br /></td></tr>
<tr class="separator:a94efa63c9895383e142a3f7ce559300b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fa17d3aa1270b806ac6a386798c6d41"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a8fa17d3aa1270b806ac6a386798c6d41">guac_protocol_send_nop</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket)</td></tr>
<tr class="memdesc:a8fa17d3aa1270b806ac6a386798c6d41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a nop instruction (null-operation) over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a8fa17d3aa1270b806ac6a386798c6d41">More...</a><br /></td></tr>
<tr class="separator:a8fa17d3aa1270b806ac6a386798c6d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a102b7719fbd9c8ea0eb2dc4f51e26359"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a102b7719fbd9c8ea0eb2dc4f51e26359">guac_protocol_send_ready</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char *id)</td></tr>
<tr class="memdesc:a102b7719fbd9c8ea0eb2dc4f51e26359"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a ready instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a102b7719fbd9c8ea0eb2dc4f51e26359">More...</a><br /></td></tr>
<tr class="separator:a102b7719fbd9c8ea0eb2dc4f51e26359"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3750a6c0fbf190fb71a6ab0955cb31a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aa3750a6c0fbf190fb71a6ab0955cb31a">guac_protocol_send_set</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, const char *name, const char *value)</td></tr>
<tr class="memdesc:aa3750a6c0fbf190fb71a6ab0955cb31a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a set instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aa3750a6c0fbf190fb71a6ab0955cb31a">More...</a><br /></td></tr>
<tr class="separator:aa3750a6c0fbf190fb71a6ab0955cb31a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8757c7870e648b220dbc76b8292fe5cf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a8757c7870e648b220dbc76b8292fe5cf">guac_protocol_send_select</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char *protocol)</td></tr>
<tr class="memdesc:a8757c7870e648b220dbc76b8292fe5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a select instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a8757c7870e648b220dbc76b8292fe5cf">More...</a><br /></td></tr>
<tr class="separator:a8757c7870e648b220dbc76b8292fe5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa11f8798abca85fd2b47b5f9a027fa73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aa11f8798abca85fd2b47b5f9a027fa73">guac_protocol_send_sync</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a> timestamp)</td></tr>
<tr class="memdesc:aa11f8798abca85fd2b47b5f9a027fa73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a sync instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aa11f8798abca85fd2b47b5f9a027fa73">More...</a><br /></td></tr>
<tr class="separator:aa11f8798abca85fd2b47b5f9a027fa73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca9fb516e730233c33da297819f7ae7e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aca9fb516e730233c33da297819f7ae7e">guac_protocol_send_body</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__object.html">guac_object</a> *object, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *mimetype, const char *name)</td></tr>
<tr class="memdesc:aca9fb516e730233c33da297819f7ae7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a body instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aca9fb516e730233c33da297819f7ae7e">More...</a><br /></td></tr>
<tr class="separator:aca9fb516e730233c33da297819f7ae7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3779c2287625af70fb001afbcc739da5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a3779c2287625af70fb001afbcc739da5">guac_protocol_send_filesystem</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__object.html">guac_object</a> *object, const char *name)</td></tr>
<tr class="memdesc:a3779c2287625af70fb001afbcc739da5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a filesystem instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a3779c2287625af70fb001afbcc739da5">More...</a><br /></td></tr>
<tr class="separator:a3779c2287625af70fb001afbcc739da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefa251505e61332e8e1c27ade0478e64"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aefa251505e61332e8e1c27ade0478e64">guac_protocol_send_undefine</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__object.html">guac_object</a> *object)</td></tr>
<tr class="memdesc:aefa251505e61332e8e1c27ade0478e64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an undefine instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aefa251505e61332e8e1c27ade0478e64">More...</a><br /></td></tr>
<tr class="separator:aefa251505e61332e8e1c27ade0478e64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab92edb38a4df2db402a013422cee6b42"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ab92edb38a4df2db402a013422cee6b42">guac_protocol_send_audio</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *mimetype)</td></tr>
<tr class="memdesc:ab92edb38a4df2db402a013422cee6b42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an audio instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ab92edb38a4df2db402a013422cee6b42">More...</a><br /></td></tr>
<tr class="separator:ab92edb38a4df2db402a013422cee6b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453e1b22d63a9d07ba23b3a6726c2f06"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a453e1b22d63a9d07ba23b3a6726c2f06">guac_protocol_send_file</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *mimetype, const char *name)</td></tr>
<tr class="memdesc:a453e1b22d63a9d07ba23b3a6726c2f06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a file instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a453e1b22d63a9d07ba23b3a6726c2f06">More...</a><br /></td></tr>
<tr class="separator:a453e1b22d63a9d07ba23b3a6726c2f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18b2c462077b7c51d211f3db09c30292"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a18b2c462077b7c51d211f3db09c30292">guac_protocol_send_pipe</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *mimetype, const char *name)</td></tr>
<tr class="memdesc:a18b2c462077b7c51d211f3db09c30292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a pipe instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a18b2c462077b7c51d211f3db09c30292">More...</a><br /></td></tr>
<tr class="separator:a18b2c462077b7c51d211f3db09c30292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a798d57ec3f3cdfa0d9bb4906f02d5127"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a798d57ec3f3cdfa0d9bb4906f02d5127">guac_protocol_send_blob</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const void *data, int count)</td></tr>
<tr class="memdesc:a798d57ec3f3cdfa0d9bb4906f02d5127"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a block of data to the currently in-progress blob which was already created. <a href="#a798d57ec3f3cdfa0d9bb4906f02d5127">More...</a><br /></td></tr>
<tr class="separator:a798d57ec3f3cdfa0d9bb4906f02d5127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4b3d3b5741b377a197c02384e4b870e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ad4b3d3b5741b377a197c02384e4b870e">guac_protocol_send_blobs</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const void *data, int count)</td></tr>
<tr class="memdesc:ad4b3d3b5741b377a197c02384e4b870e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a series of blob instructions, splitting the given data across the number of instructions required to ensure the size of each blob does not exceed GUAC_PROTOCOL_BLOB_MAX_LENGTH. <a href="#ad4b3d3b5741b377a197c02384e4b870e">More...</a><br /></td></tr>
<tr class="separator:ad4b3d3b5741b377a197c02384e4b870e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1bb569878a14efecccc0c05757d1cae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ae1bb569878a14efecccc0c05757d1cae">guac_protocol_send_end</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream)</td></tr>
<tr class="memdesc:ae1bb569878a14efecccc0c05757d1cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an end instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ae1bb569878a14efecccc0c05757d1cae">More...</a><br /></td></tr>
<tr class="separator:ae1bb569878a14efecccc0c05757d1cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a657216f2e63d2d42e8624f96def84bf8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a657216f2e63d2d42e8624f96def84bf8">guac_protocol_send_video</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, const char *mimetype)</td></tr>
<tr class="memdesc:a657216f2e63d2d42e8624f96def84bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a video instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a657216f2e63d2d42e8624f96def84bf8">More...</a><br /></td></tr>
<tr class="separator:a657216f2e63d2d42e8624f96def84bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad74bc43b5f03b79027bf02d873cd77b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ad74bc43b5f03b79027bf02d873cd77b3">guac_protocol_send_arc</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int x, int y, int radius, double startAngle, double endAngle, int negative)</td></tr>
<tr class="memdesc:ad74bc43b5f03b79027bf02d873cd77b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an arc instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ad74bc43b5f03b79027bf02d873cd77b3">More...</a><br /></td></tr>
<tr class="separator:ad74bc43b5f03b79027bf02d873cd77b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afda3a1a8285e323fca6aef50cb2feb5e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#afda3a1a8285e323fca6aef50cb2feb5e">guac_protocol_send_cfill</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a> mode, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int r, int g, int b, int a)</td></tr>
<tr class="memdesc:afda3a1a8285e323fca6aef50cb2feb5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a cfill instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#afda3a1a8285e323fca6aef50cb2feb5e">More...</a><br /></td></tr>
<tr class="separator:afda3a1a8285e323fca6aef50cb2feb5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbd1869635b752bbf52998613804df00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#acbd1869635b752bbf52998613804df00">guac_protocol_send_clip</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:acbd1869635b752bbf52998613804df00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a clip instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#acbd1869635b752bbf52998613804df00">More...</a><br /></td></tr>
<tr class="separator:acbd1869635b752bbf52998613804df00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a3e4e32900594e17c49db6939fc10a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a45a3e4e32900594e17c49db6939fc10a">guac_protocol_send_close</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:a45a3e4e32900594e17c49db6939fc10a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a close instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a45a3e4e32900594e17c49db6939fc10a">More...</a><br /></td></tr>
<tr class="separator:a45a3e4e32900594e17c49db6939fc10a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad035df3781dc19ba2330b02ef1dd6eda"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ad035df3781dc19ba2330b02ef1dd6eda">guac_protocol_send_copy</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *srcl, int srcx, int srcy, int w, int h, <a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a> mode, const <a class="el" href="structguac__layer.html">guac_layer</a> *dstl, int dstx, int dsty)</td></tr>
<tr class="memdesc:ad035df3781dc19ba2330b02ef1dd6eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a copy instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ad035df3781dc19ba2330b02ef1dd6eda">More...</a><br /></td></tr>
<tr class="separator:ad035df3781dc19ba2330b02ef1dd6eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6f28f1beb2fa07e1b3f6fa774789fd9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ac6f28f1beb2fa07e1b3f6fa774789fd9">guac_protocol_send_cstroke</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a> mode, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, <a class="el" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc">guac_line_cap_style</a> cap, <a class="el" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1">guac_line_join_style</a> join, int thickness, int r, int g, int b, int a)</td></tr>
<tr class="memdesc:ac6f28f1beb2fa07e1b3f6fa774789fd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a cstroke instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ac6f28f1beb2fa07e1b3f6fa774789fd9">More...</a><br /></td></tr>
<tr class="separator:ac6f28f1beb2fa07e1b3f6fa774789fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17da53514189083fa84aa3cc0bf6883a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a17da53514189083fa84aa3cc0bf6883a">guac_protocol_send_cursor</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, int x, int y, const <a class="el" href="structguac__layer.html">guac_layer</a> *srcl, int srcx, int srcy, int w, int h)</td></tr>
<tr class="memdesc:a17da53514189083fa84aa3cc0bf6883a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a cursor instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a17da53514189083fa84aa3cc0bf6883a">More...</a><br /></td></tr>
<tr class="separator:a17da53514189083fa84aa3cc0bf6883a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b9985b080a339dcd14b95f5e46e8ab5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a1b9985b080a339dcd14b95f5e46e8ab5">guac_protocol_send_curve</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int cp1x, int cp1y, int cp2x, int cp2y, int x, int y)</td></tr>
<tr class="memdesc:a1b9985b080a339dcd14b95f5e46e8ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a curve instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a1b9985b080a339dcd14b95f5e46e8ab5">More...</a><br /></td></tr>
<tr class="separator:a1b9985b080a339dcd14b95f5e46e8ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac205e52801a875bfbef02ae237b6b15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aac205e52801a875bfbef02ae237b6b15">guac_protocol_send_identity</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:aac205e52801a875bfbef02ae237b6b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an identity instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aac205e52801a875bfbef02ae237b6b15">More...</a><br /></td></tr>
<tr class="separator:aac205e52801a875bfbef02ae237b6b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9271e3b6cc0030b833d18137969a4018"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a9271e3b6cc0030b833d18137969a4018">guac_protocol_send_lfill</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a> mode, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, const <a class="el" href="structguac__layer.html">guac_layer</a> *srcl)</td></tr>
<tr class="memdesc:a9271e3b6cc0030b833d18137969a4018"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an lfill instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a9271e3b6cc0030b833d18137969a4018">More...</a><br /></td></tr>
<tr class="separator:a9271e3b6cc0030b833d18137969a4018"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afac3f57649c20b5e39c484a52d264005"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#afac3f57649c20b5e39c484a52d264005">guac_protocol_send_line</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int x, int y)</td></tr>
<tr class="memdesc:afac3f57649c20b5e39c484a52d264005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a line instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#afac3f57649c20b5e39c484a52d264005">More...</a><br /></td></tr>
<tr class="separator:afac3f57649c20b5e39c484a52d264005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b7d621d534126e26178789800a1a5d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a5b7d621d534126e26178789800a1a5d5">guac_protocol_send_lstroke</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a> mode, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, <a class="el" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc">guac_line_cap_style</a> cap, <a class="el" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1">guac_line_join_style</a> join, int thickness, const <a class="el" href="structguac__layer.html">guac_layer</a> *srcl)</td></tr>
<tr class="memdesc:a5b7d621d534126e26178789800a1a5d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an lstroke instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a5b7d621d534126e26178789800a1a5d5">More...</a><br /></td></tr>
<tr class="separator:a5b7d621d534126e26178789800a1a5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afda8074f65d35795203f392f6688163e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#afda8074f65d35795203f392f6688163e">guac_protocol_send_img</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, <a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a> mode, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, const char *mimetype, int x, int y)</td></tr>
<tr class="memdesc:afda8074f65d35795203f392f6688163e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an img instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#afda8074f65d35795203f392f6688163e">More...</a><br /></td></tr>
<tr class="separator:afda8074f65d35795203f392f6688163e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab29ab6edd91e954fd686742c92eab6d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ab29ab6edd91e954fd686742c92eab6d4">guac_protocol_send_pop</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:ab29ab6edd91e954fd686742c92eab6d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a pop instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ab29ab6edd91e954fd686742c92eab6d4">More...</a><br /></td></tr>
<tr class="separator:ab29ab6edd91e954fd686742c92eab6d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9db04720cbb2bc972f48f2e9332f23a8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a9db04720cbb2bc972f48f2e9332f23a8">guac_protocol_send_push</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:a9db04720cbb2bc972f48f2e9332f23a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a push instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a9db04720cbb2bc972f48f2e9332f23a8">More...</a><br /></td></tr>
<tr class="separator:a9db04720cbb2bc972f48f2e9332f23a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42dc3db797b83accd3418b76648adac5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a42dc3db797b83accd3418b76648adac5">guac_protocol_send_rect</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int x, int y, int width, int height)</td></tr>
<tr class="memdesc:a42dc3db797b83accd3418b76648adac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a rect instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a42dc3db797b83accd3418b76648adac5">More...</a><br /></td></tr>
<tr class="separator:a42dc3db797b83accd3418b76648adac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6433cc21bc043c57fb7c468428373a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a5f6433cc21bc043c57fb7c468428373a">guac_protocol_send_reset</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:a5f6433cc21bc043c57fb7c468428373a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a reset instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a5f6433cc21bc043c57fb7c468428373a">More...</a><br /></td></tr>
<tr class="separator:a5f6433cc21bc043c57fb7c468428373a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60d33439eb4b5a11535a9a77e57c4126"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a60d33439eb4b5a11535a9a77e57c4126">guac_protocol_send_start</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int x, int y)</td></tr>
<tr class="memdesc:a60d33439eb4b5a11535a9a77e57c4126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a start instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a60d33439eb4b5a11535a9a77e57c4126">More...</a><br /></td></tr>
<tr class="separator:a60d33439eb4b5a11535a9a77e57c4126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecdce272ed4c317c5b7291e42239a1f9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aecdce272ed4c317c5b7291e42239a1f9">guac_protocol_send_transfer</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *srcl, int srcx, int srcy, int w, int h, <a class="el" href="protocol-types_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff">guac_transfer_function</a> fn, const <a class="el" href="structguac__layer.html">guac_layer</a> *dstl, int dstx, int dsty)</td></tr>
<tr class="memdesc:aecdce272ed4c317c5b7291e42239a1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a transfer instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aecdce272ed4c317c5b7291e42239a1f9">More...</a><br /></td></tr>
<tr class="separator:aecdce272ed4c317c5b7291e42239a1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17058795c93be51c82a9df95eca8e62b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a17058795c93be51c82a9df95eca8e62b">guac_protocol_send_transform</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, double a, double b, double c, double d, double e, double f)</td></tr>
<tr class="memdesc:a17058795c93be51c82a9df95eca8e62b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a transform instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a17058795c93be51c82a9df95eca8e62b">More...</a><br /></td></tr>
<tr class="separator:a17058795c93be51c82a9df95eca8e62b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b2456a017f772a39be6d33a5da9149d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a7b2456a017f772a39be6d33a5da9149d">guac_protocol_send_dispose</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer)</td></tr>
<tr class="memdesc:a7b2456a017f772a39be6d33a5da9149d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a dispose instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a7b2456a017f772a39be6d33a5da9149d">More...</a><br /></td></tr>
<tr class="separator:a7b2456a017f772a39be6d33a5da9149d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b4cdd9133dbdca8cfc1e78a0d6bdf13"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a6b4cdd9133dbdca8cfc1e78a0d6bdf13">guac_protocol_send_distort</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, double a, double b, double c, double d, double e, double f)</td></tr>
<tr class="memdesc:a6b4cdd9133dbdca8cfc1e78a0d6bdf13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a distort instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a6b4cdd9133dbdca8cfc1e78a0d6bdf13">More...</a><br /></td></tr>
<tr class="separator:a6b4cdd9133dbdca8cfc1e78a0d6bdf13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7409451b0f2b18dc870d347545c9afd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#ac7409451b0f2b18dc870d347545c9afd">guac_protocol_send_move</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, const <a class="el" href="structguac__layer.html">guac_layer</a> *parent, int x, int y, int z)</td></tr>
<tr class="memdesc:ac7409451b0f2b18dc870d347545c9afd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a move instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#ac7409451b0f2b18dc870d347545c9afd">More...</a><br /></td></tr>
<tr class="separator:ac7409451b0f2b18dc870d347545c9afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e72a4122a3a7c45fa21e0d5607cc4d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a0e72a4122a3a7c45fa21e0d5607cc4d5">guac_protocol_send_shade</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int a)</td></tr>
<tr class="memdesc:a0e72a4122a3a7c45fa21e0d5607cc4d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a shade instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a0e72a4122a3a7c45fa21e0d5607cc4d5">More...</a><br /></td></tr>
<tr class="separator:a0e72a4122a3a7c45fa21e0d5607cc4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affc4cf09c3337bd860439da99bdfef98"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#affc4cf09c3337bd860439da99bdfef98">guac_protocol_send_size</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__layer.html">guac_layer</a> *layer, int w, int h)</td></tr>
<tr class="memdesc:affc4cf09c3337bd860439da99bdfef98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a size instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#affc4cf09c3337bd860439da99bdfef98">More...</a><br /></td></tr>
<tr class="separator:affc4cf09c3337bd860439da99bdfef98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaddd6d7c6ab1289efb3dd38c39bde531"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#aaddd6d7c6ab1289efb3dd38c39bde531">guac_protocol_send_argv</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *mimetype, const char *name)</td></tr>
<tr class="memdesc:aaddd6d7c6ab1289efb3dd38c39bde531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an argv instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#aaddd6d7c6ab1289efb3dd38c39bde531">More...</a><br /></td></tr>
<tr class="separator:aaddd6d7c6ab1289efb3dd38c39bde531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8a055e57afbcd9c9b520767d9a1c64"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a7e8a055e57afbcd9c9b520767d9a1c64">guac_protocol_send_clipboard</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const <a class="el" href="structguac__stream.html">guac_stream</a> *stream, const char *mimetype)</td></tr>
<tr class="memdesc:a7e8a055e57afbcd9c9b520767d9a1c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a clipboard instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a7e8a055e57afbcd9c9b520767d9a1c64">More...</a><br /></td></tr>
<tr class="separator:a7e8a055e57afbcd9c9b520767d9a1c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a481fbaab3b8e72505df752ac2f6cc59e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a481fbaab3b8e72505df752ac2f6cc59e">guac_protocol_send_name</a> (<a class="el" href="structguac__socket.html">guac_socket</a> *socket, const char *name)</td></tr>
<tr class="memdesc:a481fbaab3b8e72505df752ac2f6cc59e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a name instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. <a href="#a481fbaab3b8e72505df752ac2f6cc59e">More...</a><br /></td></tr>
<tr class="separator:a481fbaab3b8e72505df752ac2f6cc59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ad7d9b8b205d6fc368eff2d9e8e40ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="protocol_8h.html#a0ad7d9b8b205d6fc368eff2d9e8e40ec">guac_protocol_decode_base64</a> (char *base64)</td></tr>
<tr class="memdesc:a0ad7d9b8b205d6fc368eff2d9e8e40ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the given base64-encoded string in-place. <a href="#a0ad7d9b8b205d6fc368eff2d9e8e40ec">More...</a><br /></td></tr>
<tr class="separator:a0ad7d9b8b205d6fc368eff2d9e8e40ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Provides functions and structures required for communicating using the Guacamole protocol over a <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection, such as that provided by <a class="el" href="structguac__client.html" title="Guacamole proxy client. ">guac_client</a> objects. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a0ad7d9b8b205d6fc368eff2d9e8e40ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ad7d9b8b205d6fc368eff2d9e8e40ec">&#9670;&nbsp;</a></span>guac_protocol_decode_base64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_decode_base64 </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>base64</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decodes the given base64-encoded string in-place. </p>
<p>The base64 string must be NULL-terminated.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base64</td><td>The base64-encoded string to decode. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes resulting from the decode operation. </dd></dl>
</div>
</div>
<a id="ab02be6102d9f4aaa2bbb0b249f09d63e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab02be6102d9f4aaa2bbb0b249f09d63e">&#9670;&nbsp;</a></span>guac_protocol_send_ack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_ack </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2">guac_protocol_status</a>&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an ack instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">stream</td><td>The <a class="el" href="structguac__stream.html" title="Represents a single stream within the Guacamole protocol. ">guac_stream</a> associated with the operation this ack is acknowledging. </td></tr>
<tr><td class="paramname">error</td><td>The human-readable description associated with the error or status update. </td></tr>
<tr><td class="paramname">status</td><td>The status code related to the error or status. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ad74bc43b5f03b79027bf02d873cd77b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad74bc43b5f03b79027bf02d873cd77b3">&#9670;&nbsp;</a></span>guac_protocol_send_arc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_arc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>radius</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>startAngle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>endAngle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>negative</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an arc instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the center of the circle containing the arc. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the center of the circle containing the arc. </td></tr>
<tr><td class="paramname">radius</td><td>The radius of the circle containing the arc. </td></tr>
<tr><td class="paramname">startAngle</td><td>The starting angle, in radians. </td></tr>
<tr><td class="paramname">endAngle</td><td>The ending angle, in radians. </td></tr>
<tr><td class="paramname">negative</td><td>Zero if the arc should be drawn in order of increasing angle, non-zero otherwise. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a6047d380b097ebc7d5f35b167e3419e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6047d380b097ebc7d5f35b167e3419e6">&#9670;&nbsp;</a></span>guac_protocol_send_args()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_args </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an args instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">args</td><td>The NULL-terminated array of argument names (strings). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aaddd6d7c6ab1289efb3dd38c39bde531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaddd6d7c6ab1289efb3dd38c39bde531">&#9670;&nbsp;</a></span>guac_protocol_send_argv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_argv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an argv instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use to send the connection parameter value.</td></tr>
<tr><td class="paramname">stream</td><td>The stream to use to send the connection parameter value.</td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the connection parameter value being sent.</td></tr>
<tr><td class="paramname">name</td><td>The name of the connection parameter whose current value is being sent.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ab92edb38a4df2db402a013422cee6b42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab92edb38a4df2db402a013422cee6b42">&#9670;&nbsp;</a></span>guac_protocol_send_audio()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_audio </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an audio instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use when sending the audio instruction.</td></tr>
<tr><td class="paramname">stream</td><td>The stream to use for future audio data.</td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the audio data which will be sent over the given stream.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a798d57ec3f3cdfa0d9bb4906f02d5127"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a798d57ec3f3cdfa0d9bb4906f02d5127">&#9670;&nbsp;</a></span>guac_protocol_send_blob()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_blob </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes a block of data to the currently in-progress blob which was already created. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">stream</td><td>The stream to use. </td></tr>
<tr><td class="paramname">data</td><td>The file data to write. </td></tr>
<tr><td class="paramname">count</td><td>The number of bytes within the given buffer of file data that must be written. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ad4b3d3b5741b377a197c02384e4b870e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4b3d3b5741b377a197c02384e4b870e">&#9670;&nbsp;</a></span>guac_protocol_send_blobs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_blobs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a series of blob instructions, splitting the given data across the number of instructions required to ensure the size of each blob does not exceed GUAC_PROTOCOL_BLOB_MAX_LENGTH. </p>
<p>If the size of data provided is zero, no blob instructions are sent.</p>
<p>If an error occurs sending any blob instruction, a non-zero value is returned, guac_error is set appropriately, and no further blobs are sent.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="protocol-constants_8h.html#af5dd5c766aeebead268d0daa6c8c2166" title="The maximum number of bytes that should be sent in any one blob instruction to ensure the instruction...">GUAC_PROTOCOL_BLOB_MAX_LENGTH</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use to send the blob instructions.</td></tr>
<tr><td class="paramname">stream</td><td>The stream to associate with each blob sent.</td></tr>
<tr><td class="paramname">data</td><td>The data which should be sent using the required number of blob instructions.</td></tr>
<tr><td class="paramname">count</td><td>The number of bytes within the given buffer of data that must be written.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aca9fb516e730233c33da297819f7ae7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca9fb516e730233c33da297819f7ae7e">&#9670;&nbsp;</a></span>guac_protocol_send_body()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_body </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__object.html">guac_object</a> *&#160;</td>
<td class="paramname"><em>object</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a body instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use.</td></tr>
<tr><td class="paramname">object</td><td>The object to associated with the stream being used.</td></tr>
<tr><td class="paramname">stream</td><td>The stream to use.</td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the data being sent.</td></tr>
<tr><td class="paramname">name</td><td>The name of the stream whose body is being sent, as requested by a "get" instruction.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="afda3a1a8285e323fca6aef50cb2feb5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afda3a1a8285e323fca6aef50cb2feb5e">&#9670;&nbsp;</a></span>guac_protocol_send_cfill()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_cfill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a cfill instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">mode</td><td>The composite mode to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">r</td><td>The red component of the color of the rectangle. </td></tr>
<tr><td class="paramname">g</td><td>The green component of the color of the rectangle. </td></tr>
<tr><td class="paramname">b</td><td>The blue component of the color of the rectangle. </td></tr>
<tr><td class="paramname">a</td><td>The alpha (transparency) component of the color of the rectangle. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="acbd1869635b752bbf52998613804df00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbd1869635b752bbf52998613804df00">&#9670;&nbsp;</a></span>guac_protocol_send_clip()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_clip </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a clip instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to set the clipping region of. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a7e8a055e57afbcd9c9b520767d9a1c64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e8a055e57afbcd9c9b520767d9a1c64">&#9670;&nbsp;</a></span>guac_protocol_send_clipboard()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_clipboard </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a clipboard instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">stream</td><td>The stream to use. </td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the clipboard data being sent. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a45a3e4e32900594e17c49db6939fc10a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45a3e4e32900594e17c49db6939fc10a">&#9670;&nbsp;</a></span>guac_protocol_send_close()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_close </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a close instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ac8dea4393e2ec69d5d27fd0759a70fcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8dea4393e2ec69d5d27fd0759a70fcb">&#9670;&nbsp;</a></span>guac_protocol_send_connect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_connect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a connect instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">args</td><td>The NULL-terminated array of argument values (strings). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ad035df3781dc19ba2330b02ef1dd6eda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad035df3781dc19ba2330b02ef1dd6eda">&#9670;&nbsp;</a></span>guac_protocol_send_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>srcl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>srcx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>srcy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>dstl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dstx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dsty</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a copy instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">srcl</td><td>The source layer. </td></tr>
<tr><td class="paramname">srcx</td><td>The X coordinate of the source rectangle. </td></tr>
<tr><td class="paramname">srcy</td><td>The Y coordinate of the source rectangle. </td></tr>
<tr><td class="paramname">w</td><td>The width of the source rectangle. </td></tr>
<tr><td class="paramname">h</td><td>The height of the source rectangle. </td></tr>
<tr><td class="paramname">mode</td><td>The composite mode to use. </td></tr>
<tr><td class="paramname">dstl</td><td>The destination layer. </td></tr>
<tr><td class="paramname">dstx</td><td>The X coordinate of the destination, where the source rectangle should be copied. </td></tr>
<tr><td class="paramname">dsty</td><td>The Y coordinate of the destination, where the source rectangle should be copied. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ac6f28f1beb2fa07e1b3f6fa774789fd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6f28f1beb2fa07e1b3f6fa774789fd9">&#9670;&nbsp;</a></span>guac_protocol_send_cstroke()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_cstroke </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc">guac_line_cap_style</a>&#160;</td>
<td class="paramname"><em>cap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1">guac_line_join_style</a>&#160;</td>
<td class="paramname"><em>join</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>thickness</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a cstroke instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">mode</td><td>The composite mode to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">cap</td><td>The style of line cap to use when drawing the stroke. </td></tr>
<tr><td class="paramname">join</td><td>The style of line join to use when drawing the stroke. </td></tr>
<tr><td class="paramname">thickness</td><td>The thickness of the stroke in pixels. </td></tr>
<tr><td class="paramname">r</td><td>The red component of the color of the rectangle. </td></tr>
<tr><td class="paramname">g</td><td>The green component of the color of the rectangle. </td></tr>
<tr><td class="paramname">b</td><td>The blue component of the color of the rectangle. </td></tr>
<tr><td class="paramname">a</td><td>The alpha (transparency) component of the color of the rectangle. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a17da53514189083fa84aa3cc0bf6883a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17da53514189083fa84aa3cc0bf6883a">&#9670;&nbsp;</a></span>guac_protocol_send_cursor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_cursor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>srcl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>srcx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>srcy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a cursor instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the cursor hotspot. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the cursor hotspot. </td></tr>
<tr><td class="paramname">srcl</td><td>The source layer. </td></tr>
<tr><td class="paramname">srcx</td><td>The X coordinate of the source rectangle. </td></tr>
<tr><td class="paramname">srcy</td><td>The Y coordinate of the source rectangle. </td></tr>
<tr><td class="paramname">w</td><td>The width of the source rectangle. </td></tr>
<tr><td class="paramname">h</td><td>The height of the source rectangle. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a1b9985b080a339dcd14b95f5e46e8ab5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b9985b080a339dcd14b95f5e46e8ab5">&#9670;&nbsp;</a></span>guac_protocol_send_curve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_curve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cp1x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cp1y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cp2x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cp2y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a curve instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">cp1x</td><td>The X coordinate of the first control point. </td></tr>
<tr><td class="paramname">cp1y</td><td>The Y coordinate of the first control point. </td></tr>
<tr><td class="paramname">cp2x</td><td>The X coordinate of the second control point. </td></tr>
<tr><td class="paramname">cp2y</td><td>The Y coordinate of the second control point. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the endpoint of the curve. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the endpoint of the curve. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="afd463766036afda4798edbe788d29524"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd463766036afda4798edbe788d29524">&#9670;&nbsp;</a></span>guac_protocol_send_disconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_disconnect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a disconnect instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a7b2456a017f772a39be6d33a5da9149d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b2456a017f772a39be6d33a5da9149d">&#9670;&nbsp;</a></span>guac_protocol_send_dispose()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_dispose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a dispose instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to dispose. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a6b4cdd9133dbdca8cfc1e78a0d6bdf13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b4cdd9133dbdca8cfc1e78a0d6bdf13">&#9670;&nbsp;</a></span>guac_protocol_send_distort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_distort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>f</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a distort instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to distort with the given transform matrix. </td></tr>
<tr><td class="paramname">a</td><td>The first value of the affine transform matrix. </td></tr>
<tr><td class="paramname">b</td><td>The second value of the affine transform matrix. </td></tr>
<tr><td class="paramname">c</td><td>The third value of the affine transform matrix. </td></tr>
<tr><td class="paramname">d</td><td>The fourth value of the affine transform matrix. </td></tr>
<tr><td class="paramname">e</td><td>The fifth value of the affine transform matrix. </td></tr>
<tr><td class="paramname">f</td><td>The sixth value of the affine transform matrix. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ae1bb569878a14efecccc0c05757d1cae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1bb569878a14efecccc0c05757d1cae">&#9670;&nbsp;</a></span>guac_protocol_send_end()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_end </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an end instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">stream</td><td>The stream to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="abe696ca7c9841883c5d5bea513d4ee9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe696ca7c9841883c5d5bea513d4ee9a">&#9670;&nbsp;</a></span>guac_protocol_send_error()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_error </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#af946f7f843fa5935dbeeb08f85dec9e2">guac_protocol_status</a>&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an error instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">error</td><td>The human-readable description associated with the error. </td></tr>
<tr><td class="paramname">status</td><td>The status code related to the error. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a453e1b22d63a9d07ba23b3a6726c2f06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a453e1b22d63a9d07ba23b3a6726c2f06">&#9670;&nbsp;</a></span>guac_protocol_send_file()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_file </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a file instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">stream</td><td>The stream to use. </td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the data being sent. </td></tr>
<tr><td class="paramname">name</td><td>A name describing the file being sent. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a3779c2287625af70fb001afbcc739da5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3779c2287625af70fb001afbcc739da5">&#9670;&nbsp;</a></span>guac_protocol_send_filesystem()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_filesystem </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__object.html">guac_object</a> *&#160;</td>
<td class="paramname"><em>object</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a filesystem instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use.</td></tr>
<tr><td class="paramname">object</td><td>The object representing the filesystem being exposed.</td></tr>
<tr><td class="paramname">name</td><td>A name describing the filesystem being exposed.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aac205e52801a875bfbef02ae237b6b15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac205e52801a875bfbef02ae237b6b15">&#9670;&nbsp;</a></span>guac_protocol_send_identity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_identity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an identity instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="afda8074f65d35795203f392f6688163e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afda8074f65d35795203f392f6688163e">&#9670;&nbsp;</a></span>guac_protocol_send_img()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_img </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an img instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use when sending the img instruction.</td></tr>
<tr><td class="paramname">stream</td><td>The stream over which the image data will be sent.</td></tr>
<tr><td class="paramname">mode</td><td>The composite mode to use when drawing the image over the destination layer.</td></tr>
<tr><td class="paramname">layer</td><td>The destination layer.</td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the image data being sent.</td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the upper-left corner of the destination rectangle within the destination layer, in pixels.</td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the upper-left corner of the destination rectangle within the destination layer, in pixels.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero if the instruction was successfully sent, non-zero on error. </dd></dl>
</div>
</div>
<a id="a2d276595cea8a2d382240d868487f077"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d276595cea8a2d382240d868487f077">&#9670;&nbsp;</a></span>guac_protocol_send_key()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_key </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>keysym</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a>&#160;</td>
<td class="paramname"><em>timestamp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a key instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use.</td></tr>
<tr><td class="paramname">keysym</td><td>The X11 keysym of the key that was pressed or released.</td></tr>
<tr><td class="paramname">pressed</td><td>Non-zero if the key represented by the given keysym is currently pressed, zero if it is released.</td></tr>
<tr><td class="paramname">timestamp</td><td>The server timestamp (in milliseconds) at the point in time this key event was acknowledged.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a9271e3b6cc0030b833d18137969a4018"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9271e3b6cc0030b833d18137969a4018">&#9670;&nbsp;</a></span>guac_protocol_send_lfill()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_lfill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>srcl</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an lfill instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">mode</td><td>The composite mode to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">srcl</td><td>The source layer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="afac3f57649c20b5e39c484a52d264005"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afac3f57649c20b5e39c484a52d264005">&#9670;&nbsp;</a></span>guac_protocol_send_line()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_line </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a line instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the endpoint of the line. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the endpoint of the line. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a6f832f5b814129d2819f115d84da3cd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f832f5b814129d2819f115d84da3cd0">&#9670;&nbsp;</a></span>guac_protocol_send_log()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_log </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a log instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>This is mainly useful in debugging.</p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">format</td><td>A printf-style format string to log. </td></tr>
<tr><td class="paramname">...</td><td>Arguments to use when filling the format string for printing. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a5b7d621d534126e26178789800a1a5d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b7d621d534126e26178789800a1a5d5">&#9670;&nbsp;</a></span>guac_protocol_send_lstroke()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_lstroke </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a93612063886db58071d02b5393abf186">guac_composite_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a4a0205f8ee2e29e1a4d78da74ab58efc">guac_line_cap_style</a>&#160;</td>
<td class="paramname"><em>cap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a6333200b3ff1634e0cb1826b271438b1">guac_line_join_style</a>&#160;</td>
<td class="paramname"><em>join</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>thickness</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>srcl</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an lstroke instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">mode</td><td>The composite mode to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">cap</td><td>The style of line cap to use when drawing the stroke. </td></tr>
<tr><td class="paramname">join</td><td>The style of line join to use when drawing the stroke. </td></tr>
<tr><td class="paramname">thickness</td><td>The thickness of the stroke in pixels. </td></tr>
<tr><td class="paramname">srcl</td><td>The source layer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a8947056262da2f3263b9851370597622"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8947056262da2f3263b9851370597622">&#9670;&nbsp;</a></span>guac_protocol_send_mouse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_mouse </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>button_mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a>&#160;</td>
<td class="paramname"><em>timestamp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a mouse instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use.</td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the current mouse position.</td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the current mouse position.</td></tr>
<tr><td class="paramname">button_mask</td><td>An integer value representing the current state of each button, where the Nth bit within the integer is set to 1 if and only if the Nth mouse button is currently pressed. The lowest-order bit is the left mouse button, followed by the middle button, right button, and finally the up and down buttons of the scroll wheel.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="client-constants_8h.html#a4bb4f5b852ac8c3e2d3c89cd5e63efd2" title="The flag set in the mouse button mask when the left mouse button is down. ">GUAC_CLIENT_MOUSE_LEFT</a> </dd>
<dd>
<a class="el" href="client-constants_8h.html#ad14c5f1800aac863bbebcd676c5c2124" title="The flag set in the mouse button mask when the middle mouse button is down. ">GUAC_CLIENT_MOUSE_MIDDLE</a> </dd>
<dd>
<a class="el" href="client-constants_8h.html#a88917d2d7143a483c219eee62fd6317f" title="The flag set in the mouse button mask when the right mouse button is down. ">GUAC_CLIENT_MOUSE_RIGHT</a> </dd>
<dd>
<a class="el" href="client-constants_8h.html#a134afd8a0d8f10a34af51fc70981e39d" title="The flag set in the mouse button mask when the mouse scrollwheel is scrolled up. ">GUAC_CLIENT_MOUSE_SCROLL_UP</a> </dd>
<dd>
<a class="el" href="client-constants_8h.html#a771231574e9d303aa08fc1cecc9069f0" title="The flag set in the mouse button mask when the mouse scrollwheel is scrolled down. ">GUAC_CLIENT_MOUSE_SCROLL_DOWN</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timestamp</td><td>The server timestamp (in milliseconds) at the point in time this mouse position was acknowledged.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ac7409451b0f2b18dc870d347545c9afd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7409451b0f2b18dc870d347545c9afd">&#9670;&nbsp;</a></span>guac_protocol_send_move()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_move </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a move instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to move. </td></tr>
<tr><td class="paramname">parent</td><td>The parent layer the specified layer will be positioned relative to. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the layer. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the layer. </td></tr>
<tr><td class="paramname">z</td><td>The Z index of the layer, relative to other layers in its parent. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a481fbaab3b8e72505df752ac2f6cc59e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a481fbaab3b8e72505df752ac2f6cc59e">&#9670;&nbsp;</a></span>guac_protocol_send_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_name </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a name instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">name</td><td>The name to send within the name instruction. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a94efa63c9895383e142a3f7ce559300b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94efa63c9895383e142a3f7ce559300b">&#9670;&nbsp;</a></span>guac_protocol_send_nest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_nest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a nest instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>The "nest" instruction and the corresponding <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> implementation are no longer necessary, having been replaced by the streaming instructions ("blob", "ack", "end"). Code using nested sockets or the "nest" instruction should instead write to a normal socket directly.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">index</td><td>The integer index of the stram to send the protocol data over. </td></tr>
<tr><td class="paramname">data</td><td>A string containing protocol data, which must be UTF-8 encoded and null-terminated. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a8fa17d3aa1270b806ac6a386798c6d41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fa17d3aa1270b806ac6a386798c6d41">&#9670;&nbsp;</a></span>guac_protocol_send_nop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_nop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a nop instruction (null-operation) over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a18b2c462077b7c51d211f3db09c30292"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18b2c462077b7c51d211f3db09c30292">&#9670;&nbsp;</a></span>guac_protocol_send_pipe()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_pipe </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a pipe instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">stream</td><td>The stream to use. </td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the data being sent. </td></tr>
<tr><td class="paramname">name</td><td>An arbitrary name uniquely identifying this pipe. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="ab29ab6edd91e954fd686742c92eab6d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab29ab6edd91e954fd686742c92eab6d4">&#9670;&nbsp;</a></span>guac_protocol_send_pop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_pop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a pop instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to set the clipping region of. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a9db04720cbb2bc972f48f2e9332f23a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9db04720cbb2bc972f48f2e9332f23a8">&#9670;&nbsp;</a></span>guac_protocol_send_push()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_push </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a push instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to set the clipping region of. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a102b7719fbd9c8ea0eb2dc4f51e26359"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a102b7719fbd9c8ea0eb2dc4f51e26359">&#9670;&nbsp;</a></span>guac_protocol_send_ready()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_ready </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a ready instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">id</td><td>The connection ID of the connection that is ready. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a42dc3db797b83accd3418b76648adac5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42dc3db797b83accd3418b76648adac5">&#9670;&nbsp;</a></span>guac_protocol_send_rect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_rect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a rect instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the rectangle. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the rectangle. </td></tr>
<tr><td class="paramname">width</td><td>The width of the rectangle. </td></tr>
<tr><td class="paramname">height</td><td>The height of the rectangle. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a5f6433cc21bc043c57fb7c468428373a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f6433cc21bc043c57fb7c468428373a">&#9670;&nbsp;</a></span>guac_protocol_send_reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a reset instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to set the clipping region of. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a8757c7870e648b220dbc76b8292fe5cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8757c7870e648b220dbc76b8292fe5cf">&#9670;&nbsp;</a></span>guac_protocol_send_select()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_select </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>protocol</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a select instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">protocol</td><td>The protocol to request. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aa3750a6c0fbf190fb71a6ab0955cb31a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3750a6c0fbf190fb71a6ab0955cb31a">&#9670;&nbsp;</a></span>guac_protocol_send_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a set instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to set the parameter of. </td></tr>
<tr><td class="paramname">name</td><td>The name of the parameter to set. </td></tr>
<tr><td class="paramname">value</td><td>The value to set the parameter to. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a0e72a4122a3a7c45fa21e0d5607cc4d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e72a4122a3a7c45fa21e0d5607cc4d5">&#9670;&nbsp;</a></span>guac_protocol_send_shade()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_shade </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a shade instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to shade. </td></tr>
<tr><td class="paramname">a</td><td>The alpha value of the layer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="affc4cf09c3337bd860439da99bdfef98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affc4cf09c3337bd860439da99bdfef98">&#9670;&nbsp;</a></span>guac_protocol_send_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a size instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to resize. </td></tr>
<tr><td class="paramname">w</td><td>The new width of the layer. </td></tr>
<tr><td class="paramname">h</td><td>The new height of the layer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a60d33439eb4b5a11535a9a77e57c4126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60d33439eb4b5a11535a9a77e57c4126">&#9670;&nbsp;</a></span>guac_protocol_send_start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_start </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a start instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The destination layer. </td></tr>
<tr><td class="paramname">x</td><td>The X coordinate of the first point of the subpath. </td></tr>
<tr><td class="paramname">y</td><td>The Y coordinate of the first point of the subpath. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aa11f8798abca85fd2b47b5f9a027fa73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa11f8798abca85fd2b47b5f9a027fa73">&#9670;&nbsp;</a></span>guac_protocol_send_sync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_sync </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea">guac_timestamp</a>&#160;</td>
<td class="paramname"><em>timestamp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a sync instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>The current time in milliseconds should be passed in as the timestamp.</p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">timestamp</td><td>The current timestamp (in milliseconds). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aecdce272ed4c317c5b7291e42239a1f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecdce272ed4c317c5b7291e42239a1f9">&#9670;&nbsp;</a></span>guac_protocol_send_transfer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_transfer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>srcl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>srcx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>srcy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="protocol-types_8h.html#a9c85e3f22f5dea8b2f38de6b4f75b1ff">guac_transfer_function</a>&#160;</td>
<td class="paramname"><em>fn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>dstl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dstx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dsty</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a transfer instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">srcl</td><td>The source layer. </td></tr>
<tr><td class="paramname">srcx</td><td>The X coordinate of the source rectangle. </td></tr>
<tr><td class="paramname">srcy</td><td>The Y coordinate of the source rectangle. </td></tr>
<tr><td class="paramname">w</td><td>The width of the source rectangle. </td></tr>
<tr><td class="paramname">h</td><td>The height of the source rectangle. </td></tr>
<tr><td class="paramname">fn</td><td>The transfer function to use. </td></tr>
<tr><td class="paramname">dstl</td><td>The destination layer. </td></tr>
<tr><td class="paramname">dstx</td><td>The X coordinate of the destination, where the source rectangle should be copied. </td></tr>
<tr><td class="paramname">dsty</td><td>The Y coordinate of the destination, where the source rectangle should be copied. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a17058795c93be51c82a9df95eca8e62b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17058795c93be51c82a9df95eca8e62b">&#9670;&nbsp;</a></span>guac_protocol_send_transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_transform </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>f</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a transform instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use. </td></tr>
<tr><td class="paramname">layer</td><td>The layer to apply the given transform matrix to. </td></tr>
<tr><td class="paramname">a</td><td>The first value of the affine transform matrix. </td></tr>
<tr><td class="paramname">b</td><td>The second value of the affine transform matrix. </td></tr>
<tr><td class="paramname">c</td><td>The third value of the affine transform matrix. </td></tr>
<tr><td class="paramname">d</td><td>The fourth value of the affine transform matrix. </td></tr>
<tr><td class="paramname">e</td><td>The fifth value of the affine transform matrix. </td></tr>
<tr><td class="paramname">f</td><td>The sixth value of the affine transform matrix. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="aefa251505e61332e8e1c27ade0478e64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefa251505e61332e8e1c27ade0478e64">&#9670;&nbsp;</a></span>guac_protocol_send_undefine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_undefine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__object.html">guac_object</a> *&#160;</td>
<td class="paramname"><em>object</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an undefine instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use.</td></tr>
<tr><td class="paramname">object</td><td>The object being undefined.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a657216f2e63d2d42e8624f96def84bf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a657216f2e63d2d42e8624f96def84bf8">&#9670;&nbsp;</a></span>guac_protocol_send_video()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int guac_protocol_send_video </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structguac__layer.html">guac_layer</a> *&#160;</td>
<td class="paramname"><em>layer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>mimetype</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a video instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use when sending the video instruction.</td></tr>
<tr><td class="paramname">stream</td><td>The stream to use for future video data.</td></tr>
<tr><td class="paramname">layer</td><td>The destination layer on which the streamed video should be played.</td></tr>
<tr><td class="paramname">mimetype</td><td>The mimetype of the video data which will be sent over the given stream.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, non-zero on error. </dd></dl>
</div>
</div>
<a id="a3a783d771e1727ba2a82b2298acf4ee4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a783d771e1727ba2a82b2298acf4ee4">&#9670;&nbsp;</a></span>vguac_protocol_send_log()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vguac_protocol_send_log </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structguac__socket.html">guac_socket</a> *&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a log instruction over the given <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection. </p>
<p>This is mainly useful in debugging.</p>
<p>If an error occurs sending the instruction, a non-zero value is returned, and guac_error is set appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>The <a class="el" href="structguac__socket.html" title="The core I/O object of Guacamole. ">guac_socket</a> connection to use.</td></tr>
<tr><td class="paramname">format</td><td>A printf-style format string to log.</td></tr>
<tr><td class="paramname">args</td><td>The va_list containing the arguments to be used when filling the format string for printing.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero if the instruction was sent successfully, non-zero if an error occurs. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>