blob: 732bce4979222a85ed024de10faad5e3eef215d5 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libguac-terminal: terminal/terminal.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</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 id="projectrow">
<td id="projectalign">
<div id="projectname">libguac-terminal<span id="projectnumber">&#160;1.6.0</span>
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('terminal_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">terminal.h</div></div>
</div><!--header-->
<div class="contents">
<a href="terminal_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef _GUAC_TERMINAL_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define _GUAC_TERMINAL_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &lt;pthread.h&gt;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;guacamole/client.h&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include &lt;guacamole/stream.h&gt;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="terminal_8h.html#a08b2a9f1f0e07affc598cddc32896002"> 39</a></span><span class="preprocessor">#define GUAC_TERMINAL_DEFAULT_FONT_NAME &quot;monospace&quot;</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="terminal_8h.html#a76572f3ea28fd3c26838a31d4717d09e"> 45</a></span><span class="preprocessor">#define GUAC_TERMINAL_DEFAULT_FONT_SIZE 12</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="terminal_8h.html#a30dbc78ba6df56a52b4a0313b8224ece"> 50</a></span><span class="preprocessor">#define GUAC_TERMINAL_DEFAULT_MAX_SCROLLBACK 1000</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="terminal_8h.html#a1b116c6cb561155716105707bccb3717"> 55</a></span><span class="preprocessor">#define GUAC_TERMINAL_DEFAULT_BACKSPACE 127</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="terminal_8h.html#ae7892fe7958723b8fe158327346c7813"> 60</a></span><span class="preprocessor">#define GUAC_TERMINAL_DEFAULT_COLOR_SCHEME &quot;&quot;</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="terminal_8h.html#a09130929dc39674d01e52b0205fe34b6"> 65</a></span><span class="preprocessor">#define GUAC_TERMINAL_DEFAULT_DISABLE_COPY false</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="terminal_8h.html#acbbd3d6794500b30d5e6a3e489cbc271"> 70</a></span><span class="preprocessor">#define GUAC_TERMINAL_MAX_ROWS 1024</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="terminal_8h.html#a8f3db65a4ad44dafbc25dfecbdee7dcc"> 76</a></span><span class="preprocessor">#define GUAC_TERMINAL_MAX_COLUMNS 1024</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="terminal_8h.html#a4e83cd4056313f6efa873e25d05fb4c3"> 81</a></span><span class="preprocessor">#define GUAC_TERMINAL_FRAME_DURATION 40</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="terminal_8h.html#aeb3907197ea200371fd7bd7d1a389ab5"> 87</a></span><span class="preprocessor">#define GUAC_TERMINAL_FRAME_TIMEOUT 10</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="terminal_8h.html#ac929b2e9552426cd076d95fde2c20f18"> 92</a></span><span class="preprocessor">#define GUAC_TERMINAL_MAX_TABS 16</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="terminal_8h.html#ae1d4c8037ede662adb826f6a5820ff95"> 97</a></span><span class="preprocessor">#define GUAC_TERMINAL_WHEEL_SCROLL_AMOUNT 3</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="terminal_8h.html#a001b84c7d72fed361d8cd93b3418c63a"> 104</a></span><span class="preprocessor">#define GUAC_TERMINAL_PIPE_INTERPRET_OUTPUT 1</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="terminal_8h.html#a90c94177f90d1b16de286c3498c08c26"> 112</a></span><span class="preprocessor">#define GUAC_TERMINAL_PIPE_AUTOFLUSH 2</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030"> 118</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a> <a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span></div>
<div class="foldopen" id="foldopen00123" data-start="{" data-end="};">
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3"> 123</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3">guac_terminal_cursor_type</a> {</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3ac3449f4024e8d83fd76e83e1a6acdb76"> 128</a></span> <a class="code hl_enumvalue" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3ac3449f4024e8d83fd76e83e1a6acdb76">GUAC_TERMINAL_CURSOR_BLANK</a>,</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3abf079c8f86b20117d8eb30eae7e3f58a"> 133</a></span> <a class="code hl_enumvalue" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3abf079c8f86b20117d8eb30eae7e3f58a">GUAC_TERMINAL_CURSOR_IBAR</a>,</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3af7891c31bea1625943f6b590c73d8bff"> 138</a></span> <a class="code hl_enumvalue" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3af7891c31bea1625943f6b590c73d8bff">GUAC_TERMINAL_CURSOR_POINTER</a></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span>} <a class="code hl_enumeration" href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3">guac_terminal_cursor_type</a>;</div>
</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="terminal_8h.html#a356cbe7fd894f73690eae185b38c6079"> 153</a></span><span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code hl_typedef" href="terminal_8h.html#a356cbe7fd894f73690eae185b38c6079">guac_terminal_upload_path_handler</a>(guac_client* client, <span class="keywordtype">char</span>* path);</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="terminal_8h.html#a292a4a16877319e6f37311d23a9cbee5"> 173</a></span><span class="keyword">typedef</span> guac_stream* <a class="code hl_typedef" href="terminal_8h.html#a292a4a16877319e6f37311d23a9cbee5">guac_terminal_file_download_handler</a>(guac_client* client, <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span></div>
<div class="foldopen" id="foldopen00181" data-start="{" data-end="};">
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html"> 181</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structguac__terminal__options.html">guac_terminal_options</a> {</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#ae2b4ce16e638e2a3ba7af2dd2fadd8dc"> 189</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structguac__terminal__options.html#ae2b4ce16e638e2a3ba7af2dd2fadd8dc">disable_copy</a>;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#aa5bd6f6ae368ce6091a4d5d6ae3ddb53"> 201</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structguac__terminal__options.html#aa5bd6f6ae368ce6091a4d5d6ae3ddb53">max_scrollback</a>;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#aecdc7015e0d19b2e9b882ea0f1f1cf7b"> 206</a></span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="structguac__terminal__options.html#aecdc7015e0d19b2e9b882ea0f1f1cf7b">font_name</a>;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#aa399b8a3a47e08607d1cb05db68ce674"> 211</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structguac__terminal__options.html#aa399b8a3a47e08607d1cb05db68ce674">font_size</a>;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#a1941b862eab4c8aefe7c600fcdd49e9e"> 217</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structguac__terminal__options.html#a1941b862eab4c8aefe7c600fcdd49e9e">dpi</a>;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#a6a2e49882c2844ea57f0752ac5764016"> 222</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structguac__terminal__options.html#a6a2e49882c2844ea57f0752ac5764016">width</a>;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#a21f744aaf4f034a3cec4d321ce8fce5f"> 227</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structguac__terminal__options.html#a21f744aaf4f034a3cec4d321ce8fce5f">height</a>;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#a2a13c286dc09328bdcfea511c40eb776"> 233</a></span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="structguac__terminal__options.html#a2a13c286dc09328bdcfea511c40eb776">color_scheme</a>;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="structguac__terminal__options.html#a49e8dc2b85989a0a769c74518ad7260d"> 239</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structguac__terminal__options.html#a49e8dc2b85989a0a769c74518ad7260d">backspace</a>;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span>} <a class="code hl_struct" href="structguac__terminal__options.html">guac_terminal_options</a>;</div>
</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="terminal_8h.html#a9cd1e1e97b22a94039edd45936d4e2bc"> 264</a></span><a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* <a class="code hl_function" href="terminal_8h.html#a9cd1e1e97b22a94039edd45936d4e2bc">guac_terminal_create</a>(guac_client* client,</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <a class="code hl_struct" href="structguac__terminal__options.html">guac_terminal_options</a>* terminal_options);</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="terminal_8h.html#a20aaad95ef78122a0dc9635065910b8c"> 289</a></span><a class="code hl_struct" href="structguac__terminal__options.html">guac_terminal_options</a>* <a class="code hl_function" href="terminal_8h.html#a20aaad95ef78122a0dc9635065910b8c">guac_terminal_options_create</a>(</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> dpi);</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="terminal_8h.html#abe31fc459c88d8f5ee8817839b930374"> 298</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#abe31fc459c88d8f5ee8817839b930374">guac_terminal_free</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term);</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="terminal_8h.html#a38376ea497a267c989e1a4683ffbb4d4"> 312</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a38376ea497a267c989e1a4683ffbb4d4">guac_terminal_set_upload_path_handler</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal,</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <a class="code hl_typedef" href="terminal_8h.html#a356cbe7fd894f73690eae185b38c6079">guac_terminal_upload_path_handler</a>* upload_path_handler);</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="terminal_8h.html#aaf1ce41caa5967880522367f9c122eb4"> 327</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#aaf1ce41caa5967880522367f9c122eb4">guac_terminal_set_file_download_handler</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal,</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <a class="code hl_typedef" href="terminal_8h.html#a292a4a16877319e6f37311d23a9cbee5">guac_terminal_file_download_handler</a>* file_download_handler);</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="terminal_8h.html#a9ae71ac3cbc89da6fcec99ffffc9699a"> 341</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a9ae71ac3cbc89da6fcec99ffffc9699a">guac_terminal_render_frame</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal);</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="terminal_8h.html#acc75e5ce65304c14ae2b7abeba0bcfdf"> 362</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#acc75e5ce65304c14ae2b7abeba0bcfdf">guac_terminal_read_stdin</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal, <span class="keywordtype">char</span>* c, <span class="keywordtype">int</span> size);</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="terminal_8h.html#a4d9edc5e72aea67a7494c97d0fbe4196"> 373</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a4d9edc5e72aea67a7494c97d0fbe4196">guac_terminal_start</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term);</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"><a class="line" href="terminal_8h.html#a4bf310780f9d6265737cf86b6d859e8d"> 382</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a4bf310780f9d6265737cf86b6d859e8d">guac_terminal_stop</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term);</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="terminal_8h.html#a15b1464dfe3b77f89ae3574a354cfd9a"> 391</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a15b1464dfe3b77f89ae3574a354cfd9a">guac_terminal_notify</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal);</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="terminal_8h.html#a025d6104b9b7c486a70d6cb28cacf271"> 417</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="terminal_8h.html#a025d6104b9b7c486a70d6cb28cacf271">guac_terminal_prompt</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal, <span class="keyword">const</span> <span class="keywordtype">char</span>* title,</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">bool</span> echo);</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span></div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="terminal_8h.html#a60543e4566beaab153838fc436b36652"> 440</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a60543e4566beaab153838fc436b36652">guac_terminal_printf</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal, <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"><a class="line" href="terminal_8h.html#ab3494afd916ce1a1643705b7be37ecdb"> 461</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#ab3494afd916ce1a1643705b7be37ecdb">guac_terminal_send_key</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keywordtype">int</span> keysym, <span class="keywordtype">int</span> pressed);</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="terminal_8h.html#ab724f2fc2c90524b52693a1a9317bc43"> 501</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#ab724f2fc2c90524b52693a1a9317bc43">guac_terminal_send_mouse</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, guac_user* user,</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> mask);</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span></div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"><a class="line" href="terminal_8h.html#a70466d89636307fc3d634f6aacb6d8b8"> 524</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a70466d89636307fc3d634f6aacb6d8b8">guac_terminal_send_data</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> length);</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span></div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"><a class="line" href="terminal_8h.html#afbacbcde592fe90b67fd8cd0b49d3375"> 543</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#afbacbcde592fe90b67fd8cd0b49d3375">guac_terminal_send_string</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keyword">const</span> <span class="keywordtype">char</span>* data);</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span></div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"><a class="line" href="terminal_8h.html#a517cfb03bfbddb3668b9a328d30cf880"> 563</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a517cfb03bfbddb3668b9a328d30cf880">guac_terminal_write</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keyword">const</span> <span class="keywordtype">char</span>* buffer, <span class="keywordtype">int</span> length);</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span></div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"><a class="line" href="terminal_8h.html#a27845ddb5cd953a3be20a2756e303c39"> 590</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a27845ddb5cd953a3be20a2756e303c39">guac_terminal_send_stream</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, guac_user* user,</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> guac_stream* stream);</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span></div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"><a class="line" href="terminal_8h.html#a60ffed55f8949c8054c76417c9284cfd"> 614</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a60ffed55f8949c8054c76417c9284cfd">guac_terminal_sendf</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span></div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"><a class="line" href="terminal_8h.html#a93868975cd4de90d1ffd676a8ad6bb55"> 634</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a93868975cd4de90d1ffd676a8ad6bb55">guac_terminal_dup</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, guac_user* user,</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> guac_socket* socket);</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"><a class="line" href="terminal_8h.html#a2a364b474a0311ed18a01a438e2d61f2"> 652</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a2a364b474a0311ed18a01a438e2d61f2">guac_terminal_sync_users</a>(</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> <a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, guac_client* client, guac_socket* socket);</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span></div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"><a class="line" href="terminal_8h.html#a97b019b5e12ca00a928f75e67288c92e"> 671</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a97b019b5e12ca00a928f75e67288c92e">guac_terminal_resize</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span></div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"><a class="line" href="terminal_8h.html#aeb813dff717adc6aac6ee697a2e1b1d9"> 686</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#aeb813dff717adc6aac6ee697a2e1b1d9">guac_terminal_get_available_scroll</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term);</div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span></div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"><a class="line" href="terminal_8h.html#a9b5bdeaff0d7b79c0ddeaf385112de31"> 697</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a9b5bdeaff0d7b79c0ddeaf385112de31">guac_terminal_get_rows</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term);</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span></div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"><a class="line" href="terminal_8h.html#aeb4737d68eb0261d07d0718eaa67cd33"> 708</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#aeb4737d68eb0261d07d0718eaa67cd33">guac_terminal_get_columns</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term);</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span></div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"><a class="line" href="terminal_8h.html#a08a3f6d2345d2493ec06729d30a14655"> 719</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a08a3f6d2345d2493ec06729d30a14655">guac_terminal_clipboard_reset</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal,</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* mimetype);</div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span></div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"><a class="line" href="terminal_8h.html#a632ee5296595fca9e3bc7513a93f0cc1"> 734</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a632ee5296595fca9e3bc7513a93f0cc1">guac_terminal_clipboard_append</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal,</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> length);</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span></div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"><a class="line" href="terminal_8h.html#adb734903eeeaefaadb0a33b0c8e43a45"> 747</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#adb734903eeeaefaadb0a33b0c8e43a45">guac_terminal_remove_user</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal, guac_user* user);</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span></div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"><a class="line" href="terminal_8h.html#adaa18f34b033528ba9ce059caf5aa574"> 787</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#adaa18f34b033528ba9ce059caf5aa574">guac_terminal_create_typescript</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* term, <span class="keyword">const</span> <span class="keywordtype">char</span>* path,</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span> create_path, <span class="keywordtype">int</span> allow_write_existing);</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span></div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"><a class="line" href="terminal_8h.html#a454b4ab7989237eb0caab801487dc3f4"> 801</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#a454b4ab7989237eb0caab801487dc3f4">guac_terminal_apply_color_scheme</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal,</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* color_scheme);</div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span></div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"><a class="line" href="terminal_8h.html#a6acf078069a800f63dfbbc102232eeea"> 813</a></span><span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="terminal_8h.html#a6acf078069a800f63dfbbc102232eeea">guac_terminal_get_color_scheme</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal);</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span></div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"><a class="line" href="terminal_8h.html#ae800977f951c992143334bf1b089f5c3"> 836</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="terminal_8h.html#ae800977f951c992143334bf1b089f5c3">guac_terminal_apply_font</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal, <span class="keyword">const</span> <span class="keywordtype">char</span>* font_name,</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> <span class="keywordtype">int</span> font_size, <span class="keywordtype">int</span> dpi);</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span></div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"><a class="line" href="terminal_8h.html#a7857170d6c9cc019ad31fa9ac80f6dda"> 848</a></span><span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="terminal_8h.html#a7857170d6c9cc019ad31fa9ac80f6dda">guac_terminal_get_font_name</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal);</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span></div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"><a class="line" href="terminal_8h.html#a652758ddce440e6e4f5d61cbba2bffbc"> 859</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a652758ddce440e6e4f5d61cbba2bffbc">guac_terminal_get_font_size</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal);</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span></div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"><a class="line" href="terminal_8h.html#a637684593024fcc02622a9b0e4e1985d"> 870</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="terminal_8h.html#a637684593024fcc02622a9b0e4e1985d">guac_terminal_get_mod_ctrl</a>(<a class="code hl_typedef" href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a>* terminal);</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> </div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="astructguac__terminal__options_html"><div class="ttname"><a href="structguac__terminal__options.html">guac_terminal_options</a></div><div class="ttdoc">Configuration options that may be passed when creating a new guac_terminal.</div><div class="ttdef"><b>Definition</b> terminal.h:181</div></div>
<div class="ttc" id="astructguac__terminal__options_html_a1941b862eab4c8aefe7c600fcdd49e9e"><div class="ttname"><a href="structguac__terminal__options.html#a1941b862eab4c8aefe7c600fcdd49e9e">guac_terminal_options::dpi</a></div><div class="ttdeci">int dpi</div><div class="ttdoc">The DPI of the display.</div><div class="ttdef"><b>Definition</b> terminal.h:217</div></div>
<div class="ttc" id="astructguac__terminal__options_html_a21f744aaf4f034a3cec4d321ce8fce5f"><div class="ttname"><a href="structguac__terminal__options.html#a21f744aaf4f034a3cec4d321ce8fce5f">guac_terminal_options::height</a></div><div class="ttdeci">int height</div><div class="ttdoc">The height of the terminal, in pixels.</div><div class="ttdef"><b>Definition</b> terminal.h:227</div></div>
<div class="ttc" id="astructguac__terminal__options_html_a2a13c286dc09328bdcfea511c40eb776"><div class="ttname"><a href="structguac__terminal__options.html#a2a13c286dc09328bdcfea511c40eb776">guac_terminal_options::color_scheme</a></div><div class="ttdeci">char * color_scheme</div><div class="ttdoc">The name of the color scheme to use.</div><div class="ttdef"><b>Definition</b> terminal.h:233</div></div>
<div class="ttc" id="astructguac__terminal__options_html_a49e8dc2b85989a0a769c74518ad7260d"><div class="ttname"><a href="structguac__terminal__options.html#a49e8dc2b85989a0a769c74518ad7260d">guac_terminal_options::backspace</a></div><div class="ttdeci">int backspace</div><div class="ttdoc">The integer ASCII code to send when backspace is pressed in the terminal.</div><div class="ttdef"><b>Definition</b> terminal.h:239</div></div>
<div class="ttc" id="astructguac__terminal__options_html_a6a2e49882c2844ea57f0752ac5764016"><div class="ttname"><a href="structguac__terminal__options.html#a6a2e49882c2844ea57f0752ac5764016">guac_terminal_options::width</a></div><div class="ttdeci">int width</div><div class="ttdoc">The width of the terminal, in pixels.</div><div class="ttdef"><b>Definition</b> terminal.h:222</div></div>
<div class="ttc" id="astructguac__terminal__options_html_aa399b8a3a47e08607d1cb05db68ce674"><div class="ttname"><a href="structguac__terminal__options.html#aa399b8a3a47e08607d1cb05db68ce674">guac_terminal_options::font_size</a></div><div class="ttdeci">int font_size</div><div class="ttdoc">The size of each glyph, in points.</div><div class="ttdef"><b>Definition</b> terminal.h:211</div></div>
<div class="ttc" id="astructguac__terminal__options_html_aa5bd6f6ae368ce6091a4d5d6ae3ddb53"><div class="ttname"><a href="structguac__terminal__options.html#aa5bd6f6ae368ce6091a4d5d6ae3ddb53">guac_terminal_options::max_scrollback</a></div><div class="ttdeci">int max_scrollback</div><div class="ttdoc">The maximum number of rows to allow within the scrollback buffer.</div><div class="ttdef"><b>Definition</b> terminal.h:201</div></div>
<div class="ttc" id="astructguac__terminal__options_html_ae2b4ce16e638e2a3ba7af2dd2fadd8dc"><div class="ttname"><a href="structguac__terminal__options.html#ae2b4ce16e638e2a3ba7af2dd2fadd8dc">guac_terminal_options::disable_copy</a></div><div class="ttdeci">bool disable_copy</div><div class="ttdoc">Whether copying from the terminal clipboard should be blocked.</div><div class="ttdef"><b>Definition</b> terminal.h:189</div></div>
<div class="ttc" id="astructguac__terminal__options_html_aecdc7015e0d19b2e9b882ea0f1f1cf7b"><div class="ttname"><a href="structguac__terminal__options.html#aecdc7015e0d19b2e9b882ea0f1f1cf7b">guac_terminal_options::font_name</a></div><div class="ttdeci">char * font_name</div><div class="ttdoc">The name of the font to use when rendering glyphs.</div><div class="ttdef"><b>Definition</b> terminal.h:206</div></div>
<div class="ttc" id="aterminal_8h_html_a025d6104b9b7c486a70d6cb28cacf271"><div class="ttname"><a href="terminal_8h.html#a025d6104b9b7c486a70d6cb28cacf271">guac_terminal_prompt</a></div><div class="ttdeci">char * guac_terminal_prompt(guac_terminal *terminal, const char *title, bool echo)</div><div class="ttdoc">Reads a single line from this terminal&#39;s STDIN, storing the result in a newly-allocated string.</div></div>
<div class="ttc" id="aterminal_8h_html_a08a3f6d2345d2493ec06729d30a14655"><div class="ttname"><a href="terminal_8h.html#a08a3f6d2345d2493ec06729d30a14655">guac_terminal_clipboard_reset</a></div><div class="ttdeci">void guac_terminal_clipboard_reset(guac_terminal *terminal, const char *mimetype)</div><div class="ttdoc">Clears the clipboard contents for a given terminal, and assigns a new mimetype for future data.</div></div>
<div class="ttc" id="aterminal_8h_html_a15b1464dfe3b77f89ae3574a354cfd9a"><div class="ttname"><a href="terminal_8h.html#a15b1464dfe3b77f89ae3574a354cfd9a">guac_terminal_notify</a></div><div class="ttdeci">void guac_terminal_notify(guac_terminal *terminal)</div><div class="ttdoc">Notifies the terminal that an event has occurred and the terminal should flush itself when reasonable...</div></div>
<div class="ttc" id="aterminal_8h_html_a20aaad95ef78122a0dc9635065910b8c"><div class="ttname"><a href="terminal_8h.html#a20aaad95ef78122a0dc9635065910b8c">guac_terminal_options_create</a></div><div class="ttdeci">guac_terminal_options * guac_terminal_options_create(int width, int height, int dpi)</div><div class="ttdoc">Create a new guac_terminal_options struct.</div></div>
<div class="ttc" id="aterminal_8h_html_a27845ddb5cd953a3be20a2756e303c39"><div class="ttname"><a href="terminal_8h.html#a27845ddb5cd953a3be20a2756e303c39">guac_terminal_send_stream</a></div><div class="ttdeci">int guac_terminal_send_stream(guac_terminal *term, guac_user *user, guac_stream *stream)</div><div class="ttdoc">Initializes the handlers of the given guac_stream such that it serves as the source of input to the t...</div></div>
<div class="ttc" id="aterminal_8h_html_a292a4a16877319e6f37311d23a9cbee5"><div class="ttname"><a href="terminal_8h.html#a292a4a16877319e6f37311d23a9cbee5">guac_terminal_file_download_handler</a></div><div class="ttdeci">guac_stream * guac_terminal_file_download_handler(guac_client *client, char *filename)</div><div class="ttdoc">Handler that is invoked whenever the necessary terminal codes are sent to initiate a download of a gi...</div><div class="ttdef"><b>Definition</b> terminal.h:173</div></div>
<div class="ttc" id="aterminal_8h_html_a2a364b474a0311ed18a01a438e2d61f2"><div class="ttname"><a href="terminal_8h.html#a2a364b474a0311ed18a01a438e2d61f2">guac_terminal_sync_users</a></div><div class="ttdeci">void guac_terminal_sync_users(guac_terminal *term, guac_client *client, guac_socket *socket)</div><div class="ttdoc">Replicates the current display state to one or more users that are joining the connection.</div></div>
<div class="ttc" id="aterminal_8h_html_a356cbe7fd894f73690eae185b38c6079"><div class="ttname"><a href="terminal_8h.html#a356cbe7fd894f73690eae185b38c6079">guac_terminal_upload_path_handler</a></div><div class="ttdeci">void guac_terminal_upload_path_handler(guac_client *client, char *path)</div><div class="ttdoc">Handler that is invoked whenever the necessary terminal codes are sent to to the given terminal to ch...</div><div class="ttdef"><b>Definition</b> terminal.h:153</div></div>
<div class="ttc" id="aterminal_8h_html_a38376ea497a267c989e1a4683ffbb4d4"><div class="ttname"><a href="terminal_8h.html#a38376ea497a267c989e1a4683ffbb4d4">guac_terminal_set_upload_path_handler</a></div><div class="ttdeci">void guac_terminal_set_upload_path_handler(guac_terminal *terminal, guac_terminal_upload_path_handler *upload_path_handler)</div><div class="ttdoc">Sets the upload path handler for the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_a454b4ab7989237eb0caab801487dc3f4"><div class="ttname"><a href="terminal_8h.html#a454b4ab7989237eb0caab801487dc3f4">guac_terminal_apply_color_scheme</a></div><div class="ttdeci">void guac_terminal_apply_color_scheme(guac_terminal *terminal, const char *color_scheme)</div><div class="ttdoc">Immediately applies the given color scheme to the given terminal, overriding the color scheme provide...</div></div>
<div class="ttc" id="aterminal_8h_html_a49f29d5b500f0d3089e85e0b00903030"><div class="ttname"><a href="terminal_8h.html#a49f29d5b500f0d3089e85e0b00903030">guac_terminal</a></div><div class="ttdeci">struct guac_terminal guac_terminal</div><div class="ttdoc">Represents a terminal emulator which uses a given Guacamole client to render itself.</div><div class="ttdef"><b>Definition</b> terminal.h:118</div></div>
<div class="ttc" id="aterminal_8h_html_a4bf310780f9d6265737cf86b6d859e8d"><div class="ttname"><a href="terminal_8h.html#a4bf310780f9d6265737cf86b6d859e8d">guac_terminal_stop</a></div><div class="ttdeci">void guac_terminal_stop(guac_terminal *term)</div><div class="ttdoc">Manually stop the terminal to forcibly unblock any pending reads/writes, e.g.</div></div>
<div class="ttc" id="aterminal_8h_html_a4d9edc5e72aea67a7494c97d0fbe4196"><div class="ttname"><a href="terminal_8h.html#a4d9edc5e72aea67a7494c97d0fbe4196">guac_terminal_start</a></div><div class="ttdeci">void guac_terminal_start(guac_terminal *term)</div><div class="ttdoc">Notifies the terminal that rendering should begin and that user input should now be accepted.</div></div>
<div class="ttc" id="aterminal_8h_html_a517cfb03bfbddb3668b9a328d30cf880"><div class="ttname"><a href="terminal_8h.html#a517cfb03bfbddb3668b9a328d30cf880">guac_terminal_write</a></div><div class="ttdeci">int guac_terminal_write(guac_terminal *term, const char *buffer, int length)</div><div class="ttdoc">Writes the given buffer to the given terminal&#39;s STDOUT.</div></div>
<div class="ttc" id="aterminal_8h_html_a60543e4566beaab153838fc436b36652"><div class="ttname"><a href="terminal_8h.html#a60543e4566beaab153838fc436b36652">guac_terminal_printf</a></div><div class="ttdeci">int guac_terminal_printf(guac_terminal *terminal, const char *format,...)</div><div class="ttdoc">Writes the given format string and arguments to this terminal&#39;s STDOUT in the same manner as printf()...</div></div>
<div class="ttc" id="aterminal_8h_html_a60ac805147521dc2e17ee6e9278c0cc3"><div class="ttname"><a href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3">guac_terminal_cursor_type</a></div><div class="ttdeci">guac_terminal_cursor_type</div><div class="ttdoc">All possible mouse cursors used by the terminal emulator.</div><div class="ttdef"><b>Definition</b> terminal.h:123</div></div>
<div class="ttc" id="aterminal_8h_html_a60ac805147521dc2e17ee6e9278c0cc3abf079c8f86b20117d8eb30eae7e3f58a"><div class="ttname"><a href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3abf079c8f86b20117d8eb30eae7e3f58a">GUAC_TERMINAL_CURSOR_IBAR</a></div><div class="ttdeci">@ GUAC_TERMINAL_CURSOR_IBAR</div><div class="ttdoc">A standard I-bar cursor for selecting text, etc.</div><div class="ttdef"><b>Definition</b> terminal.h:133</div></div>
<div class="ttc" id="aterminal_8h_html_a60ac805147521dc2e17ee6e9278c0cc3ac3449f4024e8d83fd76e83e1a6acdb76"><div class="ttname"><a href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3ac3449f4024e8d83fd76e83e1a6acdb76">GUAC_TERMINAL_CURSOR_BLANK</a></div><div class="ttdeci">@ GUAC_TERMINAL_CURSOR_BLANK</div><div class="ttdoc">A transparent (blank) cursor.</div><div class="ttdef"><b>Definition</b> terminal.h:128</div></div>
<div class="ttc" id="aterminal_8h_html_a60ac805147521dc2e17ee6e9278c0cc3af7891c31bea1625943f6b590c73d8bff"><div class="ttname"><a href="terminal_8h.html#a60ac805147521dc2e17ee6e9278c0cc3af7891c31bea1625943f6b590c73d8bff">GUAC_TERMINAL_CURSOR_POINTER</a></div><div class="ttdeci">@ GUAC_TERMINAL_CURSOR_POINTER</div><div class="ttdoc">A standard triangular mouse pointer for manipulating non-text objects.</div><div class="ttdef"><b>Definition</b> terminal.h:138</div></div>
<div class="ttc" id="aterminal_8h_html_a60ffed55f8949c8054c76417c9284cfd"><div class="ttname"><a href="terminal_8h.html#a60ffed55f8949c8054c76417c9284cfd">guac_terminal_sendf</a></div><div class="ttdeci">int guac_terminal_sendf(guac_terminal *term, const char *format,...)</div><div class="ttdoc">Sends data through STDIN as if typed by the user, using the format string given and any args (similar...</div></div>
<div class="ttc" id="aterminal_8h_html_a632ee5296595fca9e3bc7513a93f0cc1"><div class="ttname"><a href="terminal_8h.html#a632ee5296595fca9e3bc7513a93f0cc1">guac_terminal_clipboard_append</a></div><div class="ttdeci">void guac_terminal_clipboard_append(guac_terminal *terminal, const char *data, int length)</div><div class="ttdoc">Appends the given data to the contents of the clipboard for the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_a637684593024fcc02622a9b0e4e1985d"><div class="ttname"><a href="terminal_8h.html#a637684593024fcc02622a9b0e4e1985d">guac_terminal_get_mod_ctrl</a></div><div class="ttdeci">int guac_terminal_get_mod_ctrl(guac_terminal *terminal)</div><div class="ttdoc">Returns the current state of the mod_ctrl flag in the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_a652758ddce440e6e4f5d61cbba2bffbc"><div class="ttname"><a href="terminal_8h.html#a652758ddce440e6e4f5d61cbba2bffbc">guac_terminal_get_font_size</a></div><div class="ttdeci">int guac_terminal_get_font_size(guac_terminal *terminal)</div><div class="ttdoc">Returns the font size currently in use by the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_a6acf078069a800f63dfbbc102232eeea"><div class="ttname"><a href="terminal_8h.html#a6acf078069a800f63dfbbc102232eeea">guac_terminal_get_color_scheme</a></div><div class="ttdeci">const char * guac_terminal_get_color_scheme(guac_terminal *terminal)</div><div class="ttdoc">Returns name of the color scheme currently in use by the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_a70466d89636307fc3d634f6aacb6d8b8"><div class="ttname"><a href="terminal_8h.html#a70466d89636307fc3d634f6aacb6d8b8">guac_terminal_send_data</a></div><div class="ttdeci">int guac_terminal_send_data(guac_terminal *term, const char *data, int length)</div><div class="ttdoc">Sends the given string as if typed by the user.</div></div>
<div class="ttc" id="aterminal_8h_html_a7857170d6c9cc019ad31fa9ac80f6dda"><div class="ttname"><a href="terminal_8h.html#a7857170d6c9cc019ad31fa9ac80f6dda">guac_terminal_get_font_name</a></div><div class="ttdeci">const char * guac_terminal_get_font_name(guac_terminal *terminal)</div><div class="ttdoc">Returns the font name currently in use by the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_a93868975cd4de90d1ffd676a8ad6bb55"><div class="ttname"><a href="terminal_8h.html#a93868975cd4de90d1ffd676a8ad6bb55">guac_terminal_dup</a></div><div class="ttdeci">void guac_terminal_dup(guac_terminal *term, guac_user *user, guac_socket *socket)</div><div class="ttdoc">Replicates the current display state to a user that has just joined the connection.</div></div>
<div class="ttc" id="aterminal_8h_html_a97b019b5e12ca00a928f75e67288c92e"><div class="ttname"><a href="terminal_8h.html#a97b019b5e12ca00a928f75e67288c92e">guac_terminal_resize</a></div><div class="ttdeci">int guac_terminal_resize(guac_terminal *term, int width, int height)</div><div class="ttdoc">Resize the client display and terminal to the given pixel dimensions.</div></div>
<div class="ttc" id="aterminal_8h_html_a9ae71ac3cbc89da6fcec99ffffc9699a"><div class="ttname"><a href="terminal_8h.html#a9ae71ac3cbc89da6fcec99ffffc9699a">guac_terminal_render_frame</a></div><div class="ttdeci">int guac_terminal_render_frame(guac_terminal *terminal)</div><div class="ttdoc">Renders a single frame of terminal data.</div></div>
<div class="ttc" id="aterminal_8h_html_a9b5bdeaff0d7b79c0ddeaf385112de31"><div class="ttname"><a href="terminal_8h.html#a9b5bdeaff0d7b79c0ddeaf385112de31">guac_terminal_get_rows</a></div><div class="ttdeci">int guac_terminal_get_rows(guac_terminal *term)</div><div class="ttdoc">Returns the height of the given terminal, in characters.</div></div>
<div class="ttc" id="aterminal_8h_html_a9cd1e1e97b22a94039edd45936d4e2bc"><div class="ttname"><a href="terminal_8h.html#a9cd1e1e97b22a94039edd45936d4e2bc">guac_terminal_create</a></div><div class="ttdeci">guac_terminal * guac_terminal_create(guac_client *client, guac_terminal_options *terminal_options)</div><div class="ttdoc">Creates a new guac_terminal, having the given width and height, and rendering to the given client.</div></div>
<div class="ttc" id="aterminal_8h_html_aaf1ce41caa5967880522367f9c122eb4"><div class="ttname"><a href="terminal_8h.html#aaf1ce41caa5967880522367f9c122eb4">guac_terminal_set_file_download_handler</a></div><div class="ttdeci">void guac_terminal_set_file_download_handler(guac_terminal *terminal, guac_terminal_file_download_handler *file_download_handler)</div><div class="ttdoc">Sets the file download handler for the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_ab3494afd916ce1a1643705b7be37ecdb"><div class="ttname"><a href="terminal_8h.html#ab3494afd916ce1a1643705b7be37ecdb">guac_terminal_send_key</a></div><div class="ttdeci">int guac_terminal_send_key(guac_terminal *term, int keysym, int pressed)</div><div class="ttdoc">Handles the given key event, sending data, scrolling, pasting clipboard data, etc.</div></div>
<div class="ttc" id="aterminal_8h_html_ab724f2fc2c90524b52693a1a9317bc43"><div class="ttname"><a href="terminal_8h.html#ab724f2fc2c90524b52693a1a9317bc43">guac_terminal_send_mouse</a></div><div class="ttdeci">int guac_terminal_send_mouse(guac_terminal *term, guac_user *user, int x, int y, int mask)</div><div class="ttdoc">Handles the given mouse event, sending data, scrolling, pasting clipboard data, etc.</div></div>
<div class="ttc" id="aterminal_8h_html_abe31fc459c88d8f5ee8817839b930374"><div class="ttname"><a href="terminal_8h.html#abe31fc459c88d8f5ee8817839b930374">guac_terminal_free</a></div><div class="ttdeci">void guac_terminal_free(guac_terminal *term)</div><div class="ttdoc">Frees all resources associated with the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_acc75e5ce65304c14ae2b7abeba0bcfdf"><div class="ttname"><a href="terminal_8h.html#acc75e5ce65304c14ae2b7abeba0bcfdf">guac_terminal_read_stdin</a></div><div class="ttdeci">int guac_terminal_read_stdin(guac_terminal *terminal, char *c, int size)</div><div class="ttdoc">Reads from this terminal&#39;s STDIN.</div></div>
<div class="ttc" id="aterminal_8h_html_adaa18f34b033528ba9ce059caf5aa574"><div class="ttname"><a href="terminal_8h.html#adaa18f34b033528ba9ce059caf5aa574">guac_terminal_create_typescript</a></div><div class="ttdeci">int guac_terminal_create_typescript(guac_terminal *term, const char *path, const char *name, int create_path, int allow_write_existing)</div><div class="ttdoc">Requests that the terminal write all output to a pair of typescript files within the given path and u...</div></div>
<div class="ttc" id="aterminal_8h_html_adb734903eeeaefaadb0a33b0c8e43a45"><div class="ttname"><a href="terminal_8h.html#adb734903eeeaefaadb0a33b0c8e43a45">guac_terminal_remove_user</a></div><div class="ttdeci">void guac_terminal_remove_user(guac_terminal *terminal, guac_user *user)</div><div class="ttdoc">Removes the given user from any user-specific resources internal to the given terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_ae800977f951c992143334bf1b089f5c3"><div class="ttname"><a href="terminal_8h.html#ae800977f951c992143334bf1b089f5c3">guac_terminal_apply_font</a></div><div class="ttdeci">void guac_terminal_apply_font(guac_terminal *terminal, const char *font_name, int font_size, int dpi)</div><div class="ttdoc">Alters the font of the terminal.</div></div>
<div class="ttc" id="aterminal_8h_html_aeb4737d68eb0261d07d0718eaa67cd33"><div class="ttname"><a href="terminal_8h.html#aeb4737d68eb0261d07d0718eaa67cd33">guac_terminal_get_columns</a></div><div class="ttdeci">int guac_terminal_get_columns(guac_terminal *term)</div><div class="ttdoc">Returns the width of the given terminal, in characters.</div></div>
<div class="ttc" id="aterminal_8h_html_aeb813dff717adc6aac6ee697a2e1b1d9"><div class="ttname"><a href="terminal_8h.html#aeb813dff717adc6aac6ee697a2e1b1d9">guac_terminal_get_available_scroll</a></div><div class="ttdeci">int guac_terminal_get_available_scroll(guac_terminal *term)</div><div class="ttdoc">Returns the number of rows within the buffer of the given terminal which are not currently displayed ...</div></div>
<div class="ttc" id="aterminal_8h_html_afbacbcde592fe90b67fd8cd0b49d3375"><div class="ttname"><a href="terminal_8h.html#afbacbcde592fe90b67fd8cd0b49d3375">guac_terminal_send_string</a></div><div class="ttdeci">int guac_terminal_send_string(guac_terminal *term, const char *data)</div><div class="ttdoc">Sends the given string as if typed by the user.</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_145042b6f7f292100d5d9150e80a046e.html">terminal</a></li><li class="navelem"><a class="el" href="terminal_8h.html">terminal.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>