<!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.6"/>
<title>libguac: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libguac
   &#160;<span id="projectnumber">0.9.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
  <div id="navrow3" class="tabs2">
    <ul class="tablist">
      <li class="current"><a href="functions.html"><span>All</span></a></li>
      <li><a href="functions_vars.html"><span>Variables</span></a></li>
    </ul>
  </div>
  <div id="navrow4" class="tabs3">
    <ul class="tablist">
      <li><a href="#index_a"><span>a</span></a></li>
      <li><a href="#index_b"><span>b</span></a></li>
      <li><a href="#index_c"><span>c</span></a></li>
      <li><a href="#index_d"><span>d</span></a></li>
      <li><a href="#index_e"><span>e</span></a></li>
      <li><a href="#index_f"><span>f</span></a></li>
      <li><a href="#index_h"><span>h</span></a></li>
      <li><a href="#index_i"><span>i</span></a></li>
      <li><a href="#index_k"><span>k</span></a></li>
      <li><a href="#index_l"><span>l</span></a></li>
      <li><a href="#index_m"><span>m</span></a></li>
      <li><a href="#index_o"><span>o</span></a></li>
      <li><a href="#index_p"><span>p</span></a></li>
      <li><a href="#index_r"><span>r</span></a></li>
      <li><a href="#index_s"><span>s</span></a></li>
      <li><a href="#index_u"><span>u</span></a></li>
      <li><a href="#index_v"><span>v</span></a></li>
      <li class="current"><a href="#index_w"><span>w</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></div>

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

<div class="contents">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div>

<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>ack_handler
: <a class="el" href="structguac__client.html#ada98af16d05a257165080441ad13309a">guac_client</a>
, <a class="el" href="structguac__stream.html#a677e30a2082b332285b723c12c03cbda">guac_stream</a>
</li>
<li>active
: <a class="el" href="structguac__pool.html#ac22871d5c476ca9a6dd25a2446fa0fd3">guac_pool</a>
</li>
<li>argc
: <a class="el" href="structguac__instruction.html#a0745b07a905cd06a37b5e7614db32ec8">guac_instruction</a>
</li>
<li>args
: <a class="el" href="structguac__client__plugin.html#afdcc20662bdf6e448ebe55967331b79a">guac_client_plugin</a>
</li>
<li>argv
: <a class="el" href="structguac__instruction.html#ac3b766830d0b97dce75c5b488aca436c">guac_instruction</a>
</li>
<li>audio_mimetypes
: <a class="el" href="structguac__client__info.html#a662fb7d39af7bddcb2f5c83a6b54f923">guac_client_info</a>
</li>
</ul>


<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>begin_handler
: <a class="el" href="structguac__audio__encoder.html#a43d161556d3d55031ea486cc8b4ce3f6">guac_audio_encoder</a>
</li>
<li>blob_handler
: <a class="el" href="structguac__client.html#ae394480f2509d5e2f3fa93a57db59ef6">guac_client</a>
, <a class="el" href="structguac__stream.html#a3392ef3fe5c37e2ae95140a1e171cee9">guac_stream</a>
</li>
<li>bps
: <a class="el" href="structguac__audio__stream.html#a1de1be8874fb844002b92ac1e3813866">guac_audio_stream</a>
</li>
</ul>


<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>channels
: <a class="el" href="structguac__audio__stream.html#af9d1ad90194e24c2967e2f9f18de0ad6">guac_audio_stream</a>
</li>
<li>client
: <a class="el" href="structguac__audio__stream.html#a1771fa5ff88b8f5d4ca4cd5e77a1ffba">guac_audio_stream</a>
</li>
<li>clipboard_handler
: <a class="el" href="structguac__client.html#addf8b9aeb379e6132797f2b7000fb0d1">guac_client</a>
</li>
<li>connection_id
: <a class="el" href="structguac__client.html#ad38b9ded1f04bfe8eb235e551fc08094">guac_client</a>
</li>
</ul>


<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>data
: <a class="el" href="structguac__audio__stream.html#a9ca03221b02d1206eb698f8ee936c4b7">guac_audio_stream</a>
, <a class="el" href="structguac__client.html#a0569bc7eea8d37b5bd95bcd3821ca0a3">guac_client</a>
, <a class="el" href="structguac__socket.html#ac8340e5627b43138bb50aac6c4368c0d">guac_socket</a>
, <a class="el" href="structguac__stream.html#acdf20063ca408431862d901c9445b429">guac_stream</a>
</li>
</ul>


<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>encoded_data
: <a class="el" href="structguac__audio__stream.html#a4b58881fe297d3ccac941225e4ff2dd0">guac_audio_stream</a>
</li>
<li>encoded_data_length
: <a class="el" href="structguac__audio__stream.html#a91977a758f703f5b2a8e635f455a3407">guac_audio_stream</a>
</li>
<li>encoded_data_used
: <a class="el" href="structguac__audio__stream.html#ab0648dbc9e47b1d93939087acd0b5394">guac_audio_stream</a>
</li>
<li>encoder
: <a class="el" href="structguac__audio__stream.html#af3b4811ba5a4f1a337d338777fe9049d">guac_audio_stream</a>
</li>
<li>end_handler
: <a class="el" href="structguac__audio__encoder.html#a6fbc4f8efe14c9a119fdfaaef78f7e92">guac_audio_encoder</a>
, <a class="el" href="structguac__client.html#aae4631fe1d35e9ee2b494303921145dc">guac_client</a>
, <a class="el" href="structguac__stream.html#aabe2ae7142cb29070b5021dd3d4255f3">guac_stream</a>
</li>
</ul>


<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>file_handler
: <a class="el" href="structguac__client.html#abc56a0e12d564843eee4723f82f3d2fc">guac_client</a>
</li>
<li>free_handler
: <a class="el" href="structguac__client.html#a79e29c931fd448cf51f7153fea064169">guac_client</a>
, <a class="el" href="structguac__socket.html#a1044cde496cfe11c914c623dc1e29678">guac_socket</a>
</li>
</ul>


<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>handle_messages
: <a class="el" href="structguac__client.html#a75a6618618ff90b6ade14c750f7d3343">guac_client</a>
</li>
</ul>


<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>index
: <a class="el" href="structguac__layer.html#a686a85d9d758ba5f2f4426a4c4ae13ba">guac_layer</a>
, <a class="el" href="structguac__stream.html#a487951c2cc77b2e1637e3aa0b5faaa60">guac_stream</a>
</li>
<li>info
: <a class="el" href="structguac__client.html#ab67a82a9f940360dac0ec0ca96d446cf">guac_client</a>
</li>
<li>init_handler
: <a class="el" href="structguac__client__plugin.html#af650493e50e6abd9b0bb33c917bd0b95">guac_client_plugin</a>
</li>
</ul>


<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
<li>key_handler
: <a class="el" href="structguac__client.html#ac0ed2c84d5aa62c435e8024310812259">guac_client</a>
</li>
</ul>


<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>last_received_timestamp
: <a class="el" href="structguac__client.html#a3c8e4b4a92bdeaace0fa2dd32f956ab2">guac_client</a>
</li>
<li>last_sent_timestamp
: <a class="el" href="structguac__client.html#a0f3069566c7a5ca76ce4369715589dad">guac_client</a>
</li>
<li>last_write_timestamp
: <a class="el" href="structguac__socket.html#adf00e9c13ff3808fceb4c71c1172fb51">guac_socket</a>
</li>
<li>length
: <a class="el" href="structguac__audio__stream.html#ae5d8ebcf53b63fc827654fe4c970ff2d">guac_audio_stream</a>
</li>
<li>log_handler
: <a class="el" href="structguac__client.html#a3eb24ba13be9ecb3a8c6f64a73932f43">guac_client</a>
</li>
</ul>


<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>mimetype
: <a class="el" href="structguac__audio__encoder.html#a51b8bfeae3709c1859710cbf1039e01b">guac_audio_encoder</a>
</li>
<li>min_size
: <a class="el" href="structguac__pool.html#a71ed274c2481dbcd5e06bf7d8d74d71e">guac_pool</a>
</li>
<li>mouse_handler
: <a class="el" href="structguac__client.html#a13f56570676f29a6f463e1542e156416">guac_client</a>
</li>
</ul>


<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>opcode
: <a class="el" href="structguac__instruction.html#afe89ba323779cb1c6a68cf3fe9df73cc">guac_instruction</a>
</li>
<li>optimal_height
: <a class="el" href="structguac__client__info.html#a58c3084b5e6b40ad43956562764d8732">guac_client_info</a>
</li>
<li>optimal_resolution
: <a class="el" href="structguac__client__info.html#ae4ab77c47b095cf284971b0fe0fe69a5">guac_client_info</a>
</li>
<li>optimal_width
: <a class="el" href="structguac__client__info.html#aed4ddf74fa55fe039f38225c3373f25b">guac_client_info</a>
</li>
</ul>


<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>pcm_bytes_written
: <a class="el" href="structguac__audio__stream.html#a3db3ad0af5385d4ea20daece3e4e6d05">guac_audio_stream</a>
</li>
<li>pcm_data
: <a class="el" href="structguac__audio__stream.html#a7cfb92e31f72f1748aa0b3611ffdb0c8">guac_audio_stream</a>
</li>
<li>pipe_handler
: <a class="el" href="structguac__client.html#acd62220caeae9c5da0291a30e29d5dfa">guac_client</a>
</li>
</ul>


<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>rate
: <a class="el" href="structguac__audio__stream.html#a6810293a6fa915e497d2dd1a643993d9">guac_audio_stream</a>
</li>
<li>read_handler
: <a class="el" href="structguac__socket.html#a10042a8e591737aec8d4db5a3423b250">guac_socket</a>
</li>
</ul>


<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>select_handler
: <a class="el" href="structguac__socket.html#ad29e7f8a6819ca7bb541e8a947d5bc4f">guac_socket</a>
</li>
<li>size_handler
: <a class="el" href="structguac__client.html#a9768d046d71ad0e81746fa0bffc08092">guac_client</a>
</li>
<li>socket
: <a class="el" href="structguac__client.html#aa634856fd3c522377ba7345f3308000e">guac_client</a>
</li>
<li>state
: <a class="el" href="structguac__client.html#acb3e3f5d0ce5726cdde768f97b473f53">guac_client</a>
, <a class="el" href="structguac__instruction.html#aad671813a07d6d94e9ca14123b7c985c">guac_instruction</a>
, <a class="el" href="structguac__socket.html#ac2d5236c7e570dfee207511241edaa9b">guac_socket</a>
</li>
<li>stream
: <a class="el" href="structguac__audio__stream.html#a4d8f5cfc70ec54b97ba0c4eea596f894">guac_audio_stream</a>
</li>
</ul>


<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>used
: <a class="el" href="structguac__audio__stream.html#aa9580dff19ff2fd8bf3ac1069fdd8ca6">guac_audio_stream</a>
</li>
</ul>


<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>value
: <a class="el" href="structguac__pool__int.html#af76ff5f21c6e0f69d95cdd1385ea24a4">guac_pool_int</a>
</li>
<li>video_mimetypes
: <a class="el" href="structguac__client__info.html#a8b5c9d593d6a6a5deaeadbe2973b9fe8">guac_client_info</a>
</li>
</ul>


<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
<li>write_handler
: <a class="el" href="structguac__audio__encoder.html#a1b74c3dd402b0a6afa5f5b9000d02c74">guac_audio_encoder</a>
, <a class="el" href="structguac__socket.html#a0f5f24200b0dad4ef1443b863d1bfc7d">guac_socket</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 8 2015 04:04:28 for libguac by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

<!-- Google Analytics -->
<script type="text/javascript">
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-75289145-1', 'auto');
  ga('send', 'pageview');

</script>
<!-- End Google Analytics -->
</body>
</html>
