USB_Host_Shield_2.0/_b_t_d_8h_source.html

606 lines
126 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2013-01-30 22:00:18 +01:00
<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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>USB Host Shield 2.0: BTD.h Source File</title>
2013-01-30 22:00:18 +01:00
<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>
2013-01-30 22:00:18 +01:00
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="imageStyle.css" rel="stylesheet" type="text/css"/>
2013-01-30 22:00:18 +01:00
</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">USB Host Shield 2.0
2013-01-30 22:00:18 +01:00
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
2013-01-30 22:00:18 +01:00
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
2013-01-30 22:00:18 +01:00
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
2013-01-30 22:00:18 +01:00
</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>
</div><!-- top -->
2013-01-30 22:00:18 +01:00
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
2013-01-30 22:00:18 +01:00
<!-- 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="header">
<div class="headertitle">
<div class="title">BTD.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_b_t_d_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/* Copyright (C) 2012 Kristian Lauszus, TKJ Electronics. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> This software may be distributed and modified under the terms of the GNU</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> General Public License version 2 (GPL2) as published by the Free Software</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> Foundation and appearing in the file GPL2.TXT included in the packaging of</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> this file. Please note that GPL2 Section 2[b] requires that all works based</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> on this software must also be made publicly available under the terms of</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> the GPL2 (&quot;Copyleft&quot;).</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> Contact information</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> -------------------</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> Kristian Lauszus, TKJ Electronics</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> Web : http://www.tkjelectronics.com</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> e-mail : kristianl@tkjelectronics.com</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifndef _btd_h_</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#define _btd_h_</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_usb_8h.html">Usb.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="usbhid_8h.html">usbhid.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">//PID and VID of the Sony PS3 devices</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a5bb06f989db583d290ba79642d37c514"> 25</a></span>&#160;<span class="preprocessor">#define PS3_VID 0x054C // Sony Corporation</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0ae276efa5e73a4da658c714e70402c0"> 26</a></span>&#160;<span class="preprocessor">#define PS3_PID 0x0268 // PS3 Controller DualShock 3</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a54903b410722a45f8246653cd4d00632"> 27</a></span>&#160;<span class="preprocessor">#define PS3NAVIGATION_PID 0x042F // Navigation controller</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#afc242b8a1b867f79c49ad78e3a47b37f"> 28</a></span>&#160;<span class="preprocessor">#define PS3MOVE_PID 0x03D5 // Motion controller</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// These dongles do not present themselves correctly, so we have to check for them manually</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6a28bb0589fbe2da75b238d7568d894d"> 31</a></span>&#160;<span class="preprocessor">#define IOGEAR_GBU521_VID 0x0A5C</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aed4a7c4ebf618412176ef19023454fad"> 32</a></span>&#160;<span class="preprocessor">#define IOGEAR_GBU521_PID 0x21E8</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a576e49b56b3cfb9d70b22bac8fe6796f"> 33</a></span>&#160;<span class="preprocessor">#define BELKIN_F8T065BF_VID 0x050D</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad142141f4e7685e31dce306128eaad5f"> 34</a></span>&#160;<span class="preprocessor">#define BELKIN_F8T065BF_PID 0x065A</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">/* Bluetooth dongle data taken from descriptors */</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a32d591ef5742a99963130616ef146787"> 37</a></span>&#160;<span class="preprocessor">#define BULK_MAXPKTSIZE 64 // Max size for ACL data</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment">// Used in control endpoint header for HCI Commands</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad70df063f83bf7000558b1d73aa009e5"> 40</a></span>&#160;<span class="preprocessor">#define bmREQ_HCI_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/* Bluetooth HCI states for hci_task() */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac2b910cd6cc87c7bac09617815a1ee9a"> 43</a></span>&#160;<span class="preprocessor">#define HCI_INIT_STATE 0</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af3a7567dba1a0a7ed4272324d7684440"> 44</a></span>&#160;<span class="preprocessor">#define HCI_RESET_STATE 1</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa4e852587db5ad51c6c5cfb8e9d4f002"> 45</a></span>&#160;<span class="preprocessor">#define HCI_CLASS_STATE 2</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a86fd72d2518d27c02c15af635b55fc8f"> 46</a></span>&#160;<span class="preprocessor">#define HCI_BDADDR_STATE 3</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8f1d666addd0c2bba7602fbd7a692228"> 47</a></span>&#160;<span class="preprocessor">#define HCI_LOCAL_VERSION_STATE 4</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4aa4f58744a713316d6547927ac0d406"> 48</a></span>&#160;<span class="preprocessor">#define HCI_WRITE_NAME_STATE 5</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2c060a7be42c5c4c57990cacec0b45f5"> 49</a></span>&#160;<span class="preprocessor">#define HCI_CHECK_DEVICE_SERVICE 6</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a09fa39bcefd3255f8ef762034e45679e"> 51</a></span>&#160;<span class="preprocessor">#define HCI_INQUIRY_STATE 7 // These three states are only used if it should pair and connect to a device</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a19b8f48838cdb9ca7db043878f1c11fa"> 52</a></span>&#160;<span class="preprocessor">#define HCI_CONNECT_DEVICE_STATE 8</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ab7fc323aab10c0fb1339e1c660fdd15d"> 53</a></span>&#160;<span class="preprocessor">#define HCI_CONNECTED_DEVICE_STATE 9</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#acc9b6954b4bb6c19a9d25242869d5ddf"> 55</a></span>&#160;<span class="preprocessor">#define HCI_SCANNING_STATE 10</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8bfcf6e1a0a044aba26d728fb0c6a17a"> 56</a></span>&#160;<span class="preprocessor">#define HCI_CONNECT_IN_STATE 11</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4bad48092981dffe97edb052f5ae08bd"> 57</a></span>&#160;<span class="preprocessor">#define HCI_REMOTE_NAME_STATE 12</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae0a16d1cc0142186a20379b5c68bd1e0"> 58</a></span>&#160;<span class="preprocessor">#define HCI_CONNECTED_STATE 13</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad3500c7116f1bb564011dac09a387a5c"> 59</a></span>&#160;<span class="preprocessor">#define HCI_DISABLE_SCAN_STATE 14</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a20fc1ebfc3da8e048f6afe53330e6b8f"> 60</a></span>&#160;<span class="preprocessor">#define HCI_DONE_STATE 15</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a31398eae2e433d1b7b39ea3d6d07cdd0"> 61</a></span>&#160;<span class="preprocessor">#define HCI_DISCONNECT_STATE 16</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4d3e6c132599ef5e6382ba18c46b3e40"> 62</a></span>&#160;<span class="preprocessor">#define HCI_LOCAL_EXTENDED_FEATURES_STATE 17</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac7ef2953c95a2c5e15ffe86186c5f6e0"> 63</a></span>&#160;<span class="preprocessor">#define HCI_WRITE_SIMPLE_PAIRING_STATE 18</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ab514aab1934c8dbc80ba86324b83647c"> 64</a></span>&#160;<span class="preprocessor">#define HCI_SET_EVENT_MASK_STATE 19</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">/* HCI event flags*/</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a14087b750ea2da7f0cef4daaa7683d01"> 67</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_CMD_COMPLETE (1UL &lt;&lt; 0)</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a472a2cb241a6e13fa8f62d19b6c418bd"> 68</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_CONNECT_COMPLETE (1UL &lt;&lt; 1)</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a094e0fa9b22cade79fe64a907aad5f2a"> 69</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_DISCONNECT_COMPLETE (1UL &lt;&lt; 2)</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a400af4b61f6e94ab821fa368d8bf2b07"> 70</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_REMOTE_NAME_COMPLETE (1UL &lt;&lt; 3)</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0e8a8ce5838e265c1732795bf8822043"> 71</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_INCOMING_REQUEST (1UL &lt;&lt; 4)</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aabbf8a2ed694a2dc4d4e60fd389c44dd"> 72</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_READ_BDADDR (1UL &lt;&lt; 5)</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ab3b1f616c1e885e697806f0167b73e8e"> 73</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_READ_VERSION (1UL &lt;&lt; 6)</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a5ac3c55b54eff968d2327185a7e644ba"> 74</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_DEVICE_FOUND (1UL &lt;&lt; 7)</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad14762241e9195fc9a3b0a69ef1ab7f3"> 75</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_CONNECT_EVENT (1UL &lt;&lt; 8)</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1da7c6e93b93b4d2e5727d742f6efe9d"> 76</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_LOCAL_EXTENDED_FEATURES (1UL &lt;&lt; 9)</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">/* Macros for HCI event flag tests */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a57c7f989e9b561a6301a0d6f2268bfd5"> 79</a></span>&#160;<span class="preprocessor">#define hci_check_flag(flag) (hci_event_flag &amp; (flag))</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ada46cc57bb9134769989b1b18bdac525"> 80</a></span>&#160;<span class="preprocessor">#define hci_set_flag(flag) (hci_event_flag |= (flag))</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a700e625eeda4ce1b35112721acbdfd19"> 81</a></span>&#160;<span class="preprocessor">#define hci_clear_flag(flag) (hci_event_flag &amp;= ~(flag))</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment">/* HCI Events managed */</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4c6ca5696adeab36258b3b0c58d804e0"> 84</a></span>&#160;<span class="preprocessor">#define EV_INQUIRY_COMPLETE 0x01</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a335df6d48c8cac828d62196eeaff360b"> 85</a></span>&#160;<span class="preprocessor">#define EV_INQUIRY_RESULT 0x02</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad4bce42e1ef20447655f8916f23d07a7"> 86</a></span>&#160;<span class="preprocessor">#define EV_CONNECT_COMPLETE 0x03</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af6c5584636f8958689f5cd67290254e1"> 87</a></span>&#160;<span class="preprocessor">#define EV_INCOMING_CONNECT 0x04</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1cf7e4d4426dcabed8976b65beee0d99"> 88</a></span>&#160;<span class="preprocessor">#define EV_DISCONNECT_COMPLETE 0x05</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a68b8f78a0e0da80434afb1e6d40eacf4"> 89</a></span>&#160;<span class="preprocessor">#define EV_AUTHENTICATION_COMPLETE 0x06</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a29c1744f72f3cd85865c8173eace5a36"> 90</a></span>&#160;<span class="preprocessor">#define EV_REMOTE_NAME_COMPLETE 0x07</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa0bf5ac66c412d3415dbb753630d0e58"> 91</a></span>&#160;<span class="preprocessor">#define EV_ENCRYPTION_CHANGE 0x08</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a3e107e9d07793ca5cfaeea8b2181d4a4"> 92</a></span>&#160;<span class="preprocessor">#define EV_CHANGE_CONNECTION_LINK 0x09</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a830b2a3bcb09c4802910e8b05531d317"> 93</a></span>&#160;<span class="preprocessor">#define EV_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0C</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1b58792b76e0f216df8160bf055032c3"> 94</a></span>&#160;<span class="preprocessor">#define EV_QOS_SETUP_COMPLETE 0x0D</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a81b71e0ba648260143529b04ae84e528"> 95</a></span>&#160;<span class="preprocessor">#define EV_COMMAND_COMPLETE 0x0E</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a090ee10cc1a1c1c3bbb29a93c330d2d4"> 96</a></span>&#160;<span class="preprocessor">#define EV_COMMAND_STATUS 0x0F</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac61db50de3007a22e19e660bd7e68e69"> 97</a></span>&#160;<span class="preprocessor">#define EV_ROLE_CHANGED 0x12</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0987119cfc40f3011a2cec69686034df"> 98</a></span>&#160;<span class="preprocessor">#define EV_NUM_COMPLETE_PKT 0x13</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a935633384e87daa14b60549134014ec4"> 99</a></span>&#160;<span class="preprocessor">#define EV_PIN_CODE_REQUEST 0x16</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8c77c922bb61301760ebf5af5f1cc7f0"> 100</a></span>&#160;<span class="preprocessor">#define EV_LINK_KEY_REQUEST 0x17</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8c662496af1164370e5fdf7149ecd842"> 101</a></span>&#160;<span class="preprocessor">#define EV_LINK_KEY_NOTIFICATION 0x18</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6f8b4cf8546d9928a34c9c681dc5a6d5"> 102</a></span>&#160;<span class="preprocessor">#define EV_DATA_BUFFER_OVERFLOW 0x1A</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2ad6543cdfe06cbf0924c287c08f36d7"> 103</a></span>&#160;<span class="preprocessor">#define EV_MAX_SLOTS_CHANGE 0x1B</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#acd5f65703cc34b112a1f656d9a49551b"> 104</a></span>&#160;<span class="preprocessor">#define EV_LOOPBACK_COMMAND 0x19</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad8481acc0b144d97017f8a06d63ff47c"> 105</a></span>&#160;<span class="preprocessor">#define EV_PAGE_SCAN_REP_MODE 0x20</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a269019b15d4222cc5e0878634ae390e0"> 106</a></span>&#160;<span class="preprocessor">#define EV_READ_REMOTE_EXTENDED_FEATURES_COMPLETE 0x23</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8391d08cb85031ab5a7d170db5874404"> 107</a></span>&#160;<span class="preprocessor">#define EV_IO_CAPABILITY_REQUEST 0x31</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a308d00fea92145c8e1bcf54248f977d6"> 108</a></span>&#160;<span class="preprocessor">#define EV_IO_CAPABILITY_RESPONSE 0x32</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae54f4bca639446200ddccd6b994b31e2"> 109</a></span>&#160;<span class="preprocessor">#define EV_USER_CONFIRMATION_REQUEST 0x33</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ada70bf6f98848d6b26dd8b756273b5ce"> 110</a></span>&#160;<span class="preprocessor">#define EV_SIMPLE_PAIRING_COMPLETE 0x36</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment">/* Bluetooth states for the different Bluetooth drivers */</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a15cc1db556ad9a4ec6144ca8a42f8919"> 113</a></span>&#160;<span class="preprocessor">#define L2CAP_WAIT 0</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae4da52ca67e1f8b977199b24e8f3a400"> 114</a></span>&#160;<span class="preprocessor">#define L2CAP_DONE 1</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">/* Used for HID Control channel */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a68bcdd68c269cd7970d5271a00bbe5fe"> 117</a></span>&#160;<span class="preprocessor">#define L2CAP_CONTROL_CONNECT_REQUEST 2</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aaaf733ee2c84bd8df4d24f2ae1f3b378"> 118</a></span>&#160;<span class="preprocessor">#define L2CAP_CONTROL_CONFIG_REQUEST 3</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#abac08b5b24a1cd2b12517cd9aa6c616b"> 119</a></span>&#160;<span class="preprocessor">#define L2CAP_CONTROL_SUCCESS 4</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a9b5140e7ca5941e5535c575255ffc1cc"> 120</a></span>&#160;<span class="preprocessor">#define L2CAP_CONTROL_DISCONNECT 5</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment">/* Used for HID Interrupt channel */</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac7aa7fd7a8a34a6c9e420e3cb114737b"> 123</a></span>&#160;<span class="preprocessor">#define L2CAP_INTERRUPT_SETUP 6</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af0b913a7e9e54b1f6ab95d82bd36f954"> 124</a></span>&#160;<span class="preprocessor">#define L2CAP_INTERRUPT_CONNECT_REQUEST 7</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a73e3a81d9a8850075fd10933acc5a035"> 125</a></span>&#160;<span class="preprocessor">#define L2CAP_INTERRUPT_CONFIG_REQUEST 8</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ab569b2085ad29f41d1da9c0ed352bd65"> 126</a></span>&#160;<span class="preprocessor">#define L2CAP_INTERRUPT_DISCONNECT 9</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment">/* Used for SDP channel */</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a72444116eaac116983a3dec35b1944f0"> 129</a></span>&#160;<span class="preprocessor">#define L2CAP_SDP_WAIT 10</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1b8e3e654e4f55e27ca5054aef956edc"> 130</a></span>&#160;<span class="preprocessor">#define L2CAP_SDP_SUCCESS 11</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment">/* Used for RFCOMM channel */</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0b7cbe1aa26664847a48bd4578bc50bd"> 133</a></span>&#160;<span class="preprocessor">#define L2CAP_RFCOMM_WAIT 12</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a75321d181cfa3c485bcd96918c1b353e"> 134</a></span>&#160;<span class="preprocessor">#define L2CAP_RFCOMM_SUCCESS 13</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#adf2585ad5d49cf2df2595d860ad6b258"> 136</a></span>&#160;<span class="preprocessor">#define L2CAP_DISCONNECT_RESPONSE 14 // Used for both SDP and RFCOMM channel</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment">/* Bluetooth states used by some drivers */</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6b3038e881952934873fd533de842670"> 139</a></span>&#160;<span class="preprocessor">#define TURN_ON_LED 17</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa25fc1cab2e76831c39705932cf1d828"> 140</a></span>&#160;<span class="preprocessor">#define PS3_ENABLE_SIXAXIS 18</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a11b0db0910ac44ec8b090647d6a71088"> 141</a></span>&#160;<span class="preprocessor">#define WII_CHECK_MOTION_PLUS_STATE 19</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a990925c3f1ef4962db33ab74d79976e8"> 142</a></span>&#160;<span class="preprocessor">#define WII_CHECK_EXTENSION_STATE 20</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#acdcb0586ca7e9d357279bf4fba8b5257"> 143</a></span>&#160;<span class="preprocessor">#define WII_INIT_MOTION_PLUS_STATE 21</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment">/* L2CAP event flags for HID Control channel */</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a969a1ee84797f3ee5006c41f67373f96"> 146</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST (1UL &lt;&lt; 0)</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0c444d5d06ec604820d426556c2f38d7"> 147</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS (1UL &lt;&lt; 1)</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2e5a9c283f0912833f3e0418d3feadd7"> 148</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONTROL_CONNECTED (1UL &lt;&lt; 2)</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a27057737ae0b2246442511c01eeed192"> 149</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE (1UL &lt;&lt; 3)</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment">/* L2CAP event flags for HID Interrupt channel */</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a015f3b25bd7a2908c84b973dec453f45"> 152</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST (1UL &lt;&lt; 4)</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2b3cdcd3124251a40ce825da0d8dcb6f"> 153</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS (1UL &lt;&lt; 5)</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aad823543553cc7500ac49d7479eb858f"> 154</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_INTERRUPT_CONNECTED (1UL &lt;&lt; 6)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#acc096a05301f3cbdece4ad372cc149c3"> 155</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE (1UL &lt;&lt; 7)</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment">/* L2CAP event flags for SDP channel */</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0d649771ff995585c2bff030b7c1a2d3"> 158</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONNECTION_SDP_REQUEST (1UL &lt;&lt; 8)</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a75ef214ce8a03e8d62a1b24554bc1a05"> 159</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONFIG_SDP_SUCCESS (1UL &lt;&lt; 9)</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aac25fa1de5df70a97a6ccc6267d65fea"> 160</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_DISCONNECT_SDP_REQUEST (1UL &lt;&lt; 10)</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment">/* L2CAP event flags for RFCOMM channel */</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a61b15e54b1c5f9a28c996ae8e04ca3c0"> 163</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST (1UL &lt;&lt; 11)</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8af4ce4d4c42d85f0d84a514354fc570"> 164</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS (1UL &lt;&lt; 12)</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a9da70c702c0b792d99f8e39713ac0ee7"> 165</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST (1UL &lt;&lt; 13)</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae16d9fcc820433592ba171c8b2a9e25d"> 167</a></span>&#160;<span class="preprocessor">#define L2CAP_FLAG_DISCONNECT_RESPONSE (1UL &lt;&lt; 14)</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment">/* Macros for L2CAP event flag tests */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a5d120280be8d502fa0b74d46aa32d3a8"> 170</a></span>&#160;<span class="preprocessor">#define l2cap_check_flag(flag) (l2cap_event_flag &amp; (flag))</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a5f035450f226204f021e69ad1faa2e3a"> 171</a></span>&#160;<span class="preprocessor">#define l2cap_set_flag(flag) (l2cap_event_flag |= (flag))</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ab7cbb63a22e09b8d1c63a754c4280f7f"> 172</a></span>&#160;<span class="preprocessor">#define l2cap_clear_flag(flag) (l2cap_event_flag &amp;= ~(flag))</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment">/* L2CAP signaling commands */</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6ffcd72787c86f248192eb06a3fe18cb"> 175</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_COMMAND_REJECT 0x01</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac4bae0c65fd00ed849cb226302d19c85"> 176</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_CONNECTION_REQUEST 0x02</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aef7b306479de265d725dbe5816a8227b"> 177</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_CONNECTION_RESPONSE 0x03</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a48bcd73461d736d0ef889e1fe6e36f69"> 178</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_CONFIG_REQUEST 0x04</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8151b1fe5d940a5a7a34f43a8b8ce434"> 179</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_CONFIG_RESPONSE 0x05</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a398676a2e9a2351a5a52afdddf4b660b"> 180</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_DISCONNECT_REQUEST 0x06</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4c64a41200714e457b397496183dc0e4"> 181</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_DISCONNECT_RESPONSE 0x07</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a200eb6c7c905ec74a9daf0f262af0448"> 182</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_INFORMATION_REQUEST 0x0A</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af32d4c53927d596a8727ff232310dec1"> 183</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_INFORMATION_RESPONSE 0x0B</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment">// Used For Connection Response - Remember to Include High Byte</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a9960d0d5ae92fc92c70bbb84c2a5c0cc"> 186</a></span>&#160;<span class="preprocessor">#define PENDING 0x01</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1be7a56cdddcdb7dedf16d4dee381e93"> 187</a></span>&#160;<span class="preprocessor">#define SUCCESSFUL 0x00</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment">/* Bluetooth L2CAP PSM - see http://www.bluetooth.org/Technical/AssignedNumbers/logical_link.htm */</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a25ce859d7ee2730e1d22d11c051ed60d"> 190</a></span>&#160;<span class="preprocessor">#define SDP_PSM 0x01 // Service Discovery Protocol PSM Value</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2924020f2e7e82fe956574538e2bc3eb"> 191</a></span>&#160;<span class="preprocessor">#define RFCOMM_PSM 0x03 // RFCOMM PSM Value</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1465673868452307bcdab8e201430c27"> 192</a></span>&#160;<span class="preprocessor">#define HID_CTRL_PSM 0x11 // HID_Control PSM Value</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4c5ac96db74d61d4a5a5d945a400e7da"> 193</a></span>&#160;<span class="preprocessor">#define HID_INTR_PSM 0x13 // HID_Interrupt PSM Value</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment">/* Used for SDP */</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a642fa2a788d20f0c44e40fbd0f563bd8"> 196</a></span>&#160;<span class="preprocessor">#define SDP_SERVICE_SEARCH_REQUEST 0x02</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae8fb0fe735c6a3c689ab0fb8c66a9a40"> 197</a></span>&#160;<span class="preprocessor">#define SDP_SERVICE_SEARCH_RESPONSE 0x03</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2a9801660ca4f752e0849d820d86d4b3"> 198</a></span>&#160;<span class="preprocessor">#define SDP_SERVICE_ATTRIBUTE_REQUEST 0x04</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1c9900cf71a5948a655256b37f6a7910"> 199</a></span>&#160;<span class="preprocessor">#define SDP_SERVICE_ATTRIBUTE_RESPONSE 0x05</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8bb9e79a92af37497589b7a803d00aad"> 200</a></span>&#160;<span class="preprocessor">#define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST 0x06 // See the RFCOMM specs</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad9352486ef606ffe206cb6ea783f3001"> 201</a></span>&#160;<span class="preprocessor">#define SDP_SERVICE_SEARCH_ATTRIBUTE_RESPONSE 0x07 // See the RFCOMM specs</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a12dcd9d565bc2c5d16c2b283b98b5024"> 202</a></span>&#160;<span class="preprocessor">#define PNP_INFORMATION_UUID 0x1200</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a677a1fc4883355f7fad87551cc003c1b"> 203</a></span>&#160;<span class="preprocessor">#define SERIALPORT_UUID 0x1101 // See http://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac202a65fc9bc1a5d837e5d095b1bb9f2"> 204</a></span>&#160;<span class="preprocessor">#define L2CAP_UUID 0x0100</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment">// Used to determine if it is a Bluetooth dongle</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a177fe269ddb7979d99b76d52bc281551"> 207</a></span>&#160;<span class="preprocessor">#define WI_SUBCLASS_RF 0x01 // RF Controller</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a05903a9351c5ced6b8be27b2869e62af"> 208</a></span>&#160;<span class="preprocessor">#define WI_PROTOCOL_BT 0x01 // Bluetooth Programming Interface</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aee41c4878894db24e7ad8cd6246595cd"> 210</a></span>&#160;<span class="preprocessor">#define BTD_MAX_ENDPOINTS 4</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#afeaafddda417fd2f053dbd476332ea19"> 211</a></span>&#160;<span class="preprocessor">#define BTD_NUM_SERVICES 4 // Max number of Bluetooth services - if you need more than 4 simply increase this number</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8f0b5b0dedaf5c25c4887f03ebfdd425"> 213</a></span>&#160;<span class="preprocessor">#define PAIR 1</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="keyword">class </span><a class="code" href="class_bluetooth_service.html">BluetoothService</a>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="class_b_t_d.html"> 221</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_b_t_d.html">BTD</a> : <span class="keyword">public</span> <a class="code" href="class_u_s_b_device_config.html">USBDeviceConfig</a>, <span class="keyword">public</span> <a class="code" href="class_usb_config_xtracter.html">UsbConfigXtracter</a> {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="class_b_t_d.html#a5f07597fe15a2b917cce405fe87f2981">BTD</a>(<a class="code" href="class_u_s_b.html">USB</a> *p);</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a4f1808a49e9aca397ba829fac16dc5c3">ConfigureDevice</a>(uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a48608619d8253972dd132edbb3001c5f">Init</a>(uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed);</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; uint8_t <a class="code" href="class_b_t_d.html#aa87c23bce56a20f2db47c6a40c8eda87">Release</a>();</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a76e201c5b561e3a6d0405894ba5c2e41">Poll</a>();</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aecdd9d00fc9c12bb3677ed213a6687c3"> 261</a></span>&#160; <span class="keyword">virtual</span> uint8_t <a class="code" href="class_b_t_d.html#aecdd9d00fc9c12bb3677ed213a6687c3">GetAddress</a>() {</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_b_t_d.html#a58f78a9a28db81858dcc34a32a2ec82c">bAddress</a>;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; };</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a1b2440748bdaaeb552a05b0f0902f5d8"> 269</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a1b2440748bdaaeb552a05b0f0902f5d8">isReady</a>() {</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> bPollEnable;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; };</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="class_b_t_d.html#af2cd7fd7592348f26c78e49b40e83935"> 278</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#af2cd7fd7592348f26c78e49b40e83935">DEVCLASSOK</a>(uint8_t klass) {</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> (klass == <a class="code" href="_usb_core_8h.html#afce880b09049d7105f8e68ff36d9ad17">USB_CLASS_WIRELESS_CTRL</a>);</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; };</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="class_b_t_d.html#ae0808ebf7578fc022b8f05c8779d3102"> 289</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#ae0808ebf7578fc022b8f05c8779d3102">VIDPIDOK</a>(uint16_t vid, uint16_t pid) {</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span>((vid == <a class="code" href="_b_t_d_8h.html#a6a28bb0589fbe2da75b238d7568d894d">IOGEAR_GBU521_VID</a> &amp;&amp; pid == <a class="code" href="_b_t_d_8h.html#aed4a7c4ebf618412176ef19023454fad">IOGEAR_GBU521_PID</a>) || (vid == <a class="code" href="_b_t_d_8h.html#a576e49b56b3cfb9d70b22bac8fe6796f">BELKIN_F8T065BF_VID</a> &amp;&amp; pid == <a class="code" href="_b_t_d_8h.html#ad142141f4e7685e31dce306128eaad5f">BELKIN_F8T065BF_PID</a>))</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[0] != 0x00 || <a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[1] != 0x00 || <a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[2] != 0x00 || <a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[3] != 0x00 || <a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[4] != 0x00 || <a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[5] != 0x00) { <span class="comment">// Check if Bluetooth address is set</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span>(vid == <a class="code" href="_b_t_d_8h.html#a5bb06f989db583d290ba79642d37c514">PS3_VID</a> &amp;&amp; (pid == <a class="code" href="_b_t_d_8h.html#a0ae276efa5e73a4da658c714e70402c0">PS3_PID</a> || pid == <a class="code" href="_b_t_d_8h.html#a54903b410722a45f8246653cd4d00632">PS3NAVIGATION_PID</a> || pid == <a class="code" href="_b_t_d_8h.html#afc242b8a1b867f79c49ad78e3a47b37f">PS3MOVE_PID</a>))</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; };</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a23928cd0e5711a2433aec763cfa55773">EndpointXtract</a>(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, <span class="keyword">const</span> <a class="code" href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a> *ep);</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a610183f9ddf04155ef2612d1839af7da">disconnect</a>();</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="class_b_t_d.html#ad00d299e64c1a939e4a781ef39f75684"> 320</a></span>&#160; int8_t <a class="code" href="class_b_t_d.html#ad00d299e64c1a939e4a781ef39f75684">registerBluetoothService</a>(<a class="code" href="class_bluetooth_service.html">BluetoothService</a> *pService) {</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_b_t_d_8h.html#afeaafddda417fd2f053dbd476332ea19">BTD_NUM_SERVICES</a>; i++) {</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">if</span>(!btService[i]) {</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; btService[i] = pService;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> i; <span class="comment">// Return ID</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> -1; <span class="comment">// Error registering BluetoothService</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; };</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; </div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#af11ad71d20783d46fe42dd405d10dfda">HCI_Command</a>(uint8_t* data, uint16_t nbytes);</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ae6f942eabd29257bc4896e5f263275b6">hci_reset</a>();</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#acb94a629477d85cebd16a9c5ecd4a8b3">hci_read_bdaddr</a>();</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ae2ba215b6942f4131e4c5fdef2771e22">hci_read_local_version_information</a>();</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a28bf7852317a3e3a79745dbd5cb4db14">hci_read_local_extended_features</a>(uint8_t page_number);</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ab6cf9a087ef319a8512922531446ea62">hci_write_local_name</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a45bde7ca453285d88029e9b0235c428d">hci_write_simple_pairing_mode</a>(<span class="keywordtype">bool</span> enable);</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#adcc9736be085564f567c0e6643c5d4f3">hci_set_event_mask</a>();</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a7dd7faaec1d3d9a1d8159cc2a4190977">hci_write_scan_enable</a>();</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#aff59ab45d917406141ae0c9c79047f08">hci_write_scan_disable</a>();</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a8767529bd203c549348a38ac9c6682b3">hci_remote_name</a>();</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a1cb07a155c69bb1fcf45ae030b8947ec">hci_accept_connection</a>();</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a1bea5dd793a2f47006b4a7642efc9e56">hci_disconnect</a>(uint16_t handle);</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a70047b0f624c3f0ef29f8b76b8a34938">hci_pin_code_request_reply</a>();</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a7114d2cb62aa413e5ecb25c45c76832b">hci_pin_code_negative_request_reply</a>();</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#af4d28b9c1a3b9688a1871610caee2cfc">hci_link_key_request_negative_reply</a>();</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a019e145da18f2cbf5ab55538427c4f0a">hci_user_confirmation_request_reply</a>();</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#addd07c18c725a324a05792a83026d36d">hci_authentication_request</a>();</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a678f2c995553ce6a9f48f9b59f2f1555">hci_inquiry</a>();</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a45ffbc7a40bbb763b0ece907c3dfc9ff">hci_inquiry_cancel</a>();</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ae7066ea743f8907708db945ebef3ad76">hci_connect</a>();</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a399be31406914a79c14794e5d6a72444">hci_io_capability_request_reply</a>();</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ae7066ea743f8907708db945ebef3ad76">hci_connect</a>(uint8_t *bdaddr);</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a9a17405df60591b909ff1502fb8f3141">hci_write_class_of_device</a>();</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#aad7d8ef46e60b48ff4aaabefb0b290e7">L2CAP_Command</a>(uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow = 0x01, uint8_t channelHigh = 0x00);</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a55cf412a2053972a353b1ab964ca9d3e">l2cap_connection_request</a>(uint16_t handle, uint8_t rxid, uint8_t* scid, uint16_t psm);</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a7d34c62b1d561679dea5cd27356b38a7">l2cap_connection_response</a>(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid, uint8_t result);</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ab646a59311344966f139bb3b78f30233">l2cap_config_request</a>(uint16_t handle, uint8_t rxid, uint8_t* dcid);</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a792ac4529b65235698ecf3d37982c05e">l2cap_config_response</a>(uint16_t handle, uint8_t rxid, uint8_t* scid);</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#ac7053ef7ac690be3afbbdd985b163f10">l2cap_disconnection_request</a>(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid);</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a29d176d9194e5c92fbe54791fc245407">l2cap_disconnection_response</a>(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid);</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a91f61915c503fe7b861c88f5b3e6733c">l2cap_information_response</a>(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh);</div>
<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a93a522edb2974185c7567b8f83860424"> 468</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a93a522edb2974185c7567b8f83860424">waitingForConnection</a>;</div>
<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0f1c28a03bcbe62cc7c083f97ea27594"> 470</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a0f1c28a03bcbe62cc7c083f97ea27594">l2capConnectionClaimed</a>;</div>
<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="class_b_t_d.html#af5e5b085cec1da5c83c75e80e95b3590"> 472</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#af5e5b085cec1da5c83c75e80e95b3590">sdpConnectionClaimed</a>;</div>
<div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a9e5a34242007b64cd6a226cfd1901e74"> 474</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a9e5a34242007b64cd6a226cfd1901e74">rfcommConnectionClaimed</a>;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; </div>
<div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0359c0c158c864c27319810cbd1534f9"> 477</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_b_t_d.html#a0359c0c158c864c27319810cbd1534f9">btdName</a>;</div>
<div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a215cb939c01ed3ff56db37841224546c"> 479</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_b_t_d.html#a215cb939c01ed3ff56db37841224546c">btdPin</a>;</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; </div>
<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a"> 482</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">my_bdaddr</a>[6];</div>
<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aa3bb6c692701cb33dfad1ea4d68b6f98"> 484</a></span>&#160; uint16_t <a class="code" href="class_b_t_d.html#aa3bb6c692701cb33dfad1ea4d68b6f98">hci_handle</a>;</div>
<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="class_b_t_d.html#ab23f95f12675d7b4505ca6807d379182"> 486</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#ab23f95f12675d7b4505ca6807d379182">disc_bdaddr</a>[6];</div>
<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aa0fd5483f227e29de23c20ee31c940aa"> 488</a></span>&#160; <span class="keywordtype">char</span> <a class="code" href="class_b_t_d.html#aa0fd5483f227e29de23c20ee31c940aa">remote_name</a>[30];</div>
<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="class_b_t_d.html#addaddee110af23a3195ad56f631e69ea"> 494</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#addaddee110af23a3195ad56f631e69ea">hci_version</a>;</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; </div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a6b66a27c0fd359e3129f53451352b55c"> 497</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a6b66a27c0fd359e3129f53451352b55c">pairWithWiimote</a>() {</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="class_b_t_d.html#a0c8cc2a2dd2cda3e760b8b4c1a2d169c">pairWithWii</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; hci_state = <a class="code" href="_b_t_d_8h.html#a2c060a7be42c5c4c57990cacec0b45f5">HCI_CHECK_DEVICE_SERVICE</a>;</div>
<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="class_b_t_d.html#ac7caac80fb6f5f0e794af3644887d88e"> 500</a></span>&#160; };</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#ac7caac80fb6f5f0e794af3644887d88e">connectToWii</a>;</div>
<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a4dc8f94fe85028f3d54f13dde1e5b4ee"> 504</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a4dc8f94fe85028f3d54f13dde1e5b4ee">incomingWii</a>;</div>
<div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0c8cc2a2dd2cda3e760b8b4c1a2d169c"> 506</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a0c8cc2a2dd2cda3e760b8b4c1a2d169c">pairWithWii</a>;</div>
<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a3aea445b2349e99ef057db1a4ffdd9dc"> 508</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a3aea445b2349e99ef057db1a4ffdd9dc">motionPlusInside</a>;</div>
<div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a962a5714c225dcb633434f02e3657583"> 510</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a962a5714c225dcb633434f02e3657583">wiiUProController</a>;</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; </div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0b59db80825ffd5974e0d2c4a046b328"> 513</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a0b59db80825ffd5974e0d2c4a046b328">pairWithHID</a>() {</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <a class="code" href="class_b_t_d.html#a93a522edb2974185c7567b8f83860424">waitingForConnection</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <a class="code" href="class_b_t_d.html#a2aa418d820fb6b877ea079e0436a518e">pairWithHIDDevice</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; hci_state = <a class="code" href="_b_t_d_8h.html#a2c060a7be42c5c4c57990cacec0b45f5">HCI_CHECK_DEVICE_SERVICE</a>;</div>
<div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="class_b_t_d.html#af40b8d52df99192880c8a13443b6c6d8"> 517</a></span>&#160; };</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#af40b8d52df99192880c8a13443b6c6d8">connectToHIDDevice</a>;</div>
<div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a685d6371fb0c950ff6bad4510a8cc85a"> 521</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a685d6371fb0c950ff6bad4510a8cc85a">incomingHIDDevice</a>;</div>
<div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a2aa418d820fb6b877ea079e0436a518e"> 523</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a2aa418d820fb6b877ea079e0436a518e">pairWithHIDDevice</a>;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; </div>
<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a2a9ecb996243e070e70972370e45e4fd"> 529</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a2a9ecb996243e070e70972370e45e4fd">readPollInterval</a>() {</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">return</span> pollInterval;</div>
<div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a93e830be9fb0fe7d04bb39d10806ddc0"> 531</a></span>&#160; };</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; </div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#a93e830be9fb0fe7d04bb39d10806ddc0">useSimplePairing</a>;</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a4bcd1d622a6455ee3d0cccc4408700a1"> 538</a></span>&#160; <a class="code" href="class_u_s_b.html">USB</a> *<a class="code" href="class_b_t_d.html#a4bcd1d622a6455ee3d0cccc4408700a1">pUsb</a>;</div>
<div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a58f78a9a28db81858dcc34a32a2ec82c"> 540</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a58f78a9a28db81858dcc34a32a2ec82c">bAddress</a>;</div>
<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a91d92fee94e5a4cbca472bb3fd883e3e"> 542</a></span>&#160; <a class="code" href="struct_ep_info.html">EpInfo</a> <a class="code" href="class_b_t_d.html#a91d92fee94e5a4cbca472bb3fd883e3e">epInfo</a>[<a class="code" href="_b_t_d_8h.html#aee41c4878894db24e7ad8cd6246595cd">BTD_MAX_ENDPOINTS</a>];</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; </div>
<div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a10c34527ae90e95791ac48ac7d1154a2"> 545</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a10c34527ae90e95791ac48ac7d1154a2">bConfNum</a>;</div>
<div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a893dd35932821cddda7e482a1904af66"> 547</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a893dd35932821cddda7e482a1904af66">bNumEP</a>;</div>
<div class="line"><a name="l00549"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a52d6c7895f6bb01729d01ce28a2f3079"> 549</a></span>&#160; uint32_t <a class="code" href="class_b_t_d.html#a52d6c7895f6bb01729d01ce28a2f3079">qNextPollTime</a>;</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; </div>
<div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a49f433ab824f259c3815e180c73bb0ad"> 552</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="class_b_t_d.html#a49f433ab824f259c3815e180c73bb0ad">BTD_CONTROL_PIPE</a>;</div>
<div class="line"><a name="l00554"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a24166c9b308925eeb2f635fae43ca5ec"> 554</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="class_b_t_d.html#a24166c9b308925eeb2f635fae43ca5ec">BTD_EVENT_PIPE</a>;</div>
<div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a480510bd399ae74a97cd74c8474ef59c"> 556</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="class_b_t_d.html#a480510bd399ae74a97cd74c8474ef59c">BTD_DATAIN_PIPE</a>;</div>
<div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0d82870f7eef8c27c33e6f5989d7a4dd"> 558</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="class_b_t_d.html#a0d82870f7eef8c27c33e6f5989d7a4dd">BTD_DATAOUT_PIPE</a>;</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; </div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#aa5976eead215a58553aee683d42405a0">PrintEndpointDescriptor</a>(<span class="keyword">const</span> <a class="code" href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a>* ep_ptr);</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; </div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordtype">void</span> Initialize(); <span class="comment">// Set all variables, endpoint structs etc. to default values</span></div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="class_bluetooth_service.html">BluetoothService</a> *btService[<a class="code" href="_b_t_d_8h.html#afeaafddda417fd2f053dbd476332ea19">BTD_NUM_SERVICES</a>];</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; </div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; uint16_t PID, VID; <span class="comment">// PID and VID of device connected</span></div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; </div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; uint8_t pollInterval;</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordtype">bool</span> simple_pairing_supported;</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordtype">bool</span> bPollEnable;</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; </div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordtype">bool</span> pairWiiUsingSync; <span class="comment">// True if pairing was done using the Wii SYNC button.</span></div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordtype">bool</span> checkRemoteName; <span class="comment">// Used to check remote device&#39;s name before connecting.</span></div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordtype">bool</span> incomingPSController; <span class="comment">// True if a PS4/PS5 controller is connecting</span></div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; uint8_t classOfDevice[3]; <span class="comment">// Class of device of last device</span></div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; </div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">/* Variables used by high level HCI task */</span></div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; uint8_t hci_state; <span class="comment">// Current state of Bluetooth HCI connection</span></div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; uint16_t hci_counter; <span class="comment">// Counter used for Bluetooth HCI reset loops</span></div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; uint16_t hci_num_reset_loops; <span class="comment">// This value indicate how many times it should read before trying to reset</span></div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; uint16_t hci_event_flag; <span class="comment">// HCI flags of received Bluetooth events</span></div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; uint8_t inquiry_counter;</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; </div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; uint8_t hcibuf[<a class="code" href="_b_t_d_8h.html#a32d591ef5742a99963130616ef146787">BULK_MAXPKTSIZE</a>]; <span class="comment">// General purpose buffer for HCI data</span></div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; uint8_t l2capinbuf[<a class="code" href="_b_t_d_8h.html#a32d591ef5742a99963130616ef146787">BULK_MAXPKTSIZE</a>]; <span class="comment">// General purpose buffer for L2CAP in data</span></div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; uint8_t l2capoutbuf[14]; <span class="comment">// General purpose buffer for L2CAP out data</span></div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; </div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="comment">/* State machines */</span></div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordtype">void</span> HCI_event_task(); <span class="comment">// Poll the HCI event pipe</span></div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordtype">void</span> HCI_task(); <span class="comment">// HCI state machine</span></div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordtype">void</span> ACL_event_task(); <span class="comment">// ACL input pipe</span></div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; </div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="comment">/* Used to set the Bluetooth Address internally to the PS3 Controllers */</span></div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordtype">void</span> setBdaddr(uint8_t* BDADDR);</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordtype">void</span> setMoveBdaddr(uint8_t* BDADDR);</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;};</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; </div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html"> 603</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_bluetooth_service.html">BluetoothService</a> {</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#a410c7df1e49328de23a89921c89f9573"> 605</a></span>&#160; <a class="code" href="class_bluetooth_service.html#a410c7df1e49328de23a89921c89f9573">BluetoothService</a>(<a class="code" href="class_b_t_d.html">BTD</a> *p) : <a class="code" href="class_bluetooth_service.html#aa67faf901f78a55a202945a20f6d778a">pBtd</a>(p) {</div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_bluetooth_service.html#aa67faf901f78a55a202945a20f6d778a">pBtd</a>)</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="class_bluetooth_service.html#aa67faf901f78a55a202945a20f6d778a">pBtd</a>-&gt;<a class="code" href="class_b_t_d.html#ad00d299e64c1a939e4a781ef39f75684">registerBluetoothService</a>(<span class="keyword">this</span>); <span class="comment">// Register it as a Bluetooth service</span></div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; };</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a9740e997198485c9629a146a9c981043">ACLData</a>(uint8_t* <a class="code" href="class_bluetooth_service.html#a9740e997198485c9629a146a9c981043">ACLData</a>) = 0;</div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a16df27af39d09963cf0d43910d92ff4c">Run</a>() = 0;</div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#aa7c81841d4e898e9dc91533da6d7ab64">Reset</a>() = 0;</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a7bb2c8cccf3f2931629ead9becc51ec9">disconnect</a>() = 0;</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; </div>
<div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#a488e219cf0a90d39e643615b1f12e91f"> 625</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a488e219cf0a90d39e643615b1f12e91f">attachOnInit</a>(<span class="keywordtype">void</span> (*funcOnInit)(<span class="keywordtype">void</span>)) {</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <a class="code" href="class_bluetooth_service.html#a321393d44ce59213fa1c7498c247d5ff">pFuncOnInit</a> = funcOnInit; <span class="comment">// TODO: This really belong in a class of it&#39;s own as it is repeated several times</span></div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; };</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; </div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a34d08d56c560c892c9684133f69b971b">onInit</a>() = 0;</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#a2a3674a4bb5d409840995eabe07049bd"> 638</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_bluetooth_service.html#a2a3674a4bb5d409840995eabe07049bd">checkHciHandle</a>(uint8_t *buf, uint16_t handle) {</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span> (buf[0] == (handle &amp; 0xFF)) &amp;&amp; (buf[1] == ((handle &gt;&gt; 8) | 0x20));</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; }</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; </div>
<div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#a321393d44ce59213fa1c7498c247d5ff"> 643</a></span>&#160; void (*<a class="code" href="class_bluetooth_service.html#a321393d44ce59213fa1c7498c247d5ff">pFuncOnInit</a>)(void);</div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; </div>
<div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#aa67faf901f78a55a202945a20f6d778a"> 646</a></span>&#160; <a class="code" href="class_b_t_d.html">BTD</a> *<a class="code" href="class_bluetooth_service.html#aa67faf901f78a55a202945a20f6d778a">pBtd</a>;</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
<div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#a67b1db67c05d0bbdcd9c992135455437"> 649</a></span>&#160; uint16_t <a class="code" href="class_bluetooth_service.html#a67b1db67c05d0bbdcd9c992135455437">hci_handle</a>;</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; </div>
<div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#a78a1a893ec9c2db32e42bc2271c4a4f2"> 652</a></span>&#160; uint32_t <a class="code" href="class_bluetooth_service.html#a78a1a893ec9c2db32e42bc2271c4a4f2">l2cap_event_flag</a>;</div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; </div>
<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html#ad643db609c7e2e3fae8904dbc7991262"> 655</a></span>&#160; uint8_t <a class="code" href="class_bluetooth_service.html#ad643db609c7e2e3fae8904dbc7991262">identifier</a>;</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;};</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; </div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;<span class="preprocessor">#endif</span></div>
2013-01-30 22:00:18 +01:00
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclass_b_t_d_html_a1bea5dd793a2f47006b4a7642efc9e56"><div class="ttname"><a href="class_b_t_d.html#a1bea5dd793a2f47006b4a7642efc9e56">BTD::hci_disconnect</a></div><div class="ttdeci">void hci_disconnect(uint16_t handle)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01399">BTD.cpp:1399</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a10c34527ae90e95791ac48ac7d1154a2"><div class="ttname"><a href="class_b_t_d.html#a10c34527ae90e95791ac48ac7d1154a2">BTD::bConfNum</a></div><div class="ttdeci">uint8_t bConfNum</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00545">BTD.h:545</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_acb94a629477d85cebd16a9c5ecd4a8b3"><div class="ttname"><a href="class_b_t_d.html#acb94a629477d85cebd16a9c5ecd4a8b3">BTD::hci_read_bdaddr</a></div><div class="ttdeci">void hci_read_bdaddr()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01144">BTD.cpp:1144</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aff59ab45d917406141ae0c9c79047f08"><div class="ttname"><a href="class_b_t_d.html#aff59ab45d917406141ae0c9c79047f08">BTD::hci_write_scan_disable</a></div><div class="ttdeci">void hci_write_scan_disable()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01135">BTD.cpp:1135</a></div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html"><div class="ttname"><a href="class_u_s_b_device_config.html">USBDeviceConfig</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00134">UsbCore.h:134</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a49f433ab824f259c3815e180c73bb0ad"><div class="ttname"><a href="class_b_t_d.html#a49f433ab824f259c3815e180c73bb0ad">BTD::BTD_CONTROL_PIPE</a></div><div class="ttdeci">static const uint8_t BTD_CONTROL_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00552">BTD.h:552</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ab6cf9a087ef319a8512922531446ea62"><div class="ttname"><a href="class_b_t_d.html#ab6cf9a087ef319a8512922531446ea62">BTD::hci_write_local_name</a></div><div class="ttdeci">void hci_write_local_name(const char *name)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01207">BTD.cpp:1207</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aad7d8ef46e60b48ff4aaabefb0b290e7"><div class="ttname"><a href="class_b_t_d.html#aad7d8ef46e60b48ff4aaabefb0b290e7">BTD::L2CAP_Command</a></div><div class="ttdeci">void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01447">BTD.cpp:1447</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a1cb07a155c69bb1fcf45ae030b8947ec"><div class="ttname"><a href="class_b_t_d.html#a1cb07a155c69bb1fcf45ae030b8947ec">BTD::hci_accept_connection</a></div><div class="ttdeci">void hci_accept_connection()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01172">BTD.cpp:1172</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ab646a59311344966f139bb3b78f30233"><div class="ttname"><a href="class_b_t_d.html#ab646a59311344966f139bb3b78f30233">BTD::l2cap_config_request</a></div><div class="ttdeci">void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01505">BTD.cpp:1505</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a2c060a7be42c5c4c57990cacec0b45f5"><div class="ttname"><a href="_b_t_d_8h.html#a2c060a7be42c5c4c57990cacec0b45f5">HCI_CHECK_DEVICE_SERVICE</a></div><div class="ttdeci">#define HCI_CHECK_DEVICE_SERVICE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00049">BTD.h:49</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ae2ba215b6942f4131e4c5fdef2771e22"><div class="ttname"><a href="class_b_t_d.html#ae2ba215b6942f4131e4c5fdef2771e22">BTD::hci_read_local_version_information</a></div><div class="ttdeci">void hci_read_local_version_information()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01153">BTD.cpp:1153</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_aa7c81841d4e898e9dc91533da6d7ab64"><div class="ttname"><a href="class_bluetooth_service.html#aa7c81841d4e898e9dc91533da6d7ab64">BluetoothService::Reset</a></div><div class="ttdeci">virtual void Reset()=0</div></div>
<div class="ttc" id="aclass_b_t_d_html_a4dc8f94fe85028f3d54f13dde1e5b4ee"><div class="ttname"><a href="class_b_t_d.html#a4dc8f94fe85028f3d54f13dde1e5b4ee">BTD::incomingWii</a></div><div class="ttdeci">bool incomingWii</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00504">BTD.h:504</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_afc242b8a1b867f79c49ad78e3a47b37f"><div class="ttname"><a href="_b_t_d_8h.html#afc242b8a1b867f79c49ad78e3a47b37f">PS3MOVE_PID</a></div><div class="ttdeci">#define PS3MOVE_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00028">BTD.h:28</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a91d92fee94e5a4cbca472bb3fd883e3e"><div class="ttname"><a href="class_b_t_d.html#a91d92fee94e5a4cbca472bb3fd883e3e">BTD::epInfo</a></div><div class="ttdeci">EpInfo epInfo[BTD_MAX_ENDPOINTS]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00542">BTD.h:542</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="aclass_usb_config_xtracter_html"><div class="ttname"><a href="class_usb_config_xtracter.html">UsbConfigXtracter</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00030">confdescparser.h:30</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_afeaafddda417fd2f053dbd476332ea19"><div class="ttname"><a href="_b_t_d_8h.html#afeaafddda417fd2f053dbd476332ea19">BTD_NUM_SERVICES</a></div><div class="ttdeci">#define BTD_NUM_SERVICES</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00211">BTD.h:211</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a893dd35932821cddda7e482a1904af66"><div class="ttname"><a href="class_b_t_d.html#a893dd35932821cddda7e482a1904af66">BTD::bNumEP</a></div><div class="ttdeci">uint8_t bNumEP</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00547">BTD.h:547</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_af2cd7fd7592348f26c78e49b40e83935"><div class="ttname"><a href="class_b_t_d.html#af2cd7fd7592348f26c78e49b40e83935">BTD::DEVCLASSOK</a></div><div class="ttdeci">virtual bool DEVCLASSOK(uint8_t klass)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00278">BTD.h:278</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a9740e997198485c9629a146a9c981043"><div class="ttname"><a href="class_bluetooth_service.html#a9740e997198485c9629a146a9c981043">BluetoothService::ACLData</a></div><div class="ttdeci">virtual void ACLData(uint8_t *ACLData)=0</div></div>
<div class="ttc" id="ausbhid_8h_html"><div class="ttname"><a href="usbhid_8h.html">usbhid.h</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ac7caac80fb6f5f0e794af3644887d88e"><div class="ttname"><a href="class_b_t_d.html#ac7caac80fb6f5f0e794af3644887d88e">BTD::connectToWii</a></div><div class="ttdeci">bool connectToWii</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00500">BTD.h:500</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ad00d299e64c1a939e4a781ef39f75684"><div class="ttname"><a href="class_b_t_d.html#ad00d299e64c1a939e4a781ef39f75684">BTD::registerBluetoothService</a></div><div class="ttdeci">int8_t registerBluetoothService(BluetoothService *pService)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00320">BTD.h:320</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_aed4a7c4ebf618412176ef19023454fad"><div class="ttname"><a href="_b_t_d_8h.html#aed4a7c4ebf618412176ef19023454fad">IOGEAR_GBU521_PID</a></div><div class="ttdeci">#define IOGEAR_GBU521_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00032">BTD.h:32</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a9a17405df60591b909ff1502fb8f3141"><div class="ttname"><a href="class_b_t_d.html#a9a17405df60591b909ff1502fb8f3141">BTD::hci_write_class_of_device</a></div><div class="ttdeci">void hci_write_class_of_device()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01411">BTD.cpp:1411</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a6b66a27c0fd359e3129f53451352b55c"><div class="ttname"><a href="class_b_t_d.html#a6b66a27c0fd359e3129f53451352b55c">BTD::pairWithWiimote</a></div><div class="ttdeci">void pairWithWiimote()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00497">BTD.h:497</a></div></div>
<div class="ttc" id="aclass_b_t_d_html"><div class="ttname"><a href="class_b_t_d.html">BTD</a></div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00221">BTD.h:221</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a7bb2c8cccf3f2931629ead9becc51ec9"><div class="ttname"><a href="class_bluetooth_service.html#a7bb2c8cccf3f2931629ead9becc51ec9">BluetoothService::disconnect</a></div><div class="ttdeci">virtual void disconnect()=0</div></div>
<div class="ttc" id="aclass_b_t_d_html_a28bf7852317a3e3a79745dbd5cb4db14"><div class="ttname"><a href="class_b_t_d.html#a28bf7852317a3e3a79745dbd5cb4db14">BTD::hci_read_local_extended_features</a></div><div class="ttdeci">void hci_read_local_extended_features(uint8_t page_number)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01162">BTD.cpp:1162</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a215cb939c01ed3ff56db37841224546c"><div class="ttname"><a href="class_b_t_d.html#a215cb939c01ed3ff56db37841224546c">BTD::btdPin</a></div><div class="ttdeci">const char * btdPin</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00479">BTD.h:479</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aecdd9d00fc9c12bb3677ed213a6687c3"><div class="ttname"><a href="class_b_t_d.html#aecdd9d00fc9c12bb3677ed213a6687c3">BTD::GetAddress</a></div><div class="ttdeci">virtual uint8_t GetAddress()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00261">BTD.h:261</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a8767529bd203c549348a38ac9c6682b3"><div class="ttname"><a href="class_b_t_d.html#a8767529bd203c549348a38ac9c6682b3">BTD::hci_remote_name</a></div><div class="ttdeci">void hci_remote_name()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01188">BTD.cpp:1188</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a5bb06f989db583d290ba79642d37c514"><div class="ttname"><a href="_b_t_d_8h.html#a5bb06f989db583d290ba79642d37c514">PS3_VID</a></div><div class="ttdeci">#define PS3_VID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00025">BTD.h:25</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afce880b09049d7105f8e68ff36d9ad17"><div class="ttname"><a href="_usb_core_8h.html#afce880b09049d7105f8e68ff36d9ad17">USB_CLASS_WIRELESS_CTRL</a></div><div class="ttdeci">#define USB_CLASS_WIRELESS_CTRL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00084">UsbCore.h:84</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a019e145da18f2cbf5ab55538427c4f0a"><div class="ttname"><a href="class_b_t_d.html#a019e145da18f2cbf5ab55538427c4f0a">BTD::hci_user_confirmation_request_reply</a></div><div class="ttdeci">void hci_user_confirmation_request_reply()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01375">BTD.cpp:1375</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_af11ad71d20783d46fe42dd405d10dfda"><div class="ttname"><a href="class_b_t_d.html#af11ad71d20783d46fe42dd405d10dfda">BTD::HCI_Command</a></div><div class="ttdeci">void HCI_Command(uint8_t *data, uint16_t nbytes)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01108">BTD.cpp:1108</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a1b2440748bdaaeb552a05b0f0902f5d8"><div class="ttname"><a href="class_b_t_d.html#a1b2440748bdaaeb552a05b0f0902f5d8">BTD::isReady</a></div><div class="ttdeci">virtual bool isReady()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00269">BTD.h:269</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_ad142141f4e7685e31dce306128eaad5f"><div class="ttname"><a href="_b_t_d_8h.html#ad142141f4e7685e31dce306128eaad5f">BELKIN_F8T065BF_PID</a></div><div class="ttdeci">#define BELKIN_F8T065BF_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00034">BTD.h:34</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a3aea445b2349e99ef057db1a4ffdd9dc"><div class="ttname"><a href="class_b_t_d.html#a3aea445b2349e99ef057db1a4ffdd9dc">BTD::motionPlusInside</a></div><div class="ttdeci">bool motionPlusInside</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00508">BTD.h:508</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a792ac4529b65235698ecf3d37982c05e"><div class="ttname"><a href="class_b_t_d.html#a792ac4529b65235698ecf3d37982c05e">BTD::l2cap_config_response</a></div><div class="ttdeci">void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01522">BTD.cpp:1522</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a5f07597fe15a2b917cce405fe87f2981"><div class="ttname"><a href="class_b_t_d.html#a5f07597fe15a2b917cce405fe87f2981">BTD::BTD</a></div><div class="ttdeci">BTD(USB *p)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00027">BTD.cpp:27</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a70047b0f624c3f0ef29f8b76b8a34938"><div class="ttname"><a href="class_b_t_d.html#a70047b0f624c3f0ef29f8b76b8a34938">BTD::hci_pin_code_request_reply</a></div><div class="ttdeci">void hci_pin_code_request_reply()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01294">BTD.cpp:1294</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a4bcd1d622a6455ee3d0cccc4408700a1"><div class="ttname"><a href="class_b_t_d.html#a4bcd1d622a6455ee3d0cccc4408700a1">BTD::pUsb</a></div><div class="ttdeci">USB * pUsb</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00538">BTD.h:538</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a78a1a893ec9c2db32e42bc2271c4a4f2"><div class="ttname"><a href="class_bluetooth_service.html#a78a1a893ec9c2db32e42bc2271c4a4f2">BluetoothService::l2cap_event_flag</a></div><div class="ttdeci">uint32_t l2cap_event_flag</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00652">BTD.h:652</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a480510bd399ae74a97cd74c8474ef59c"><div class="ttname"><a href="class_b_t_d.html#a480510bd399ae74a97cd74c8474ef59c">BTD::BTD_DATAIN_PIPE</a></div><div class="ttdeci">static const uint8_t BTD_DATAIN_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00556">BTD.h:556</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_aa67faf901f78a55a202945a20f6d778a"><div class="ttname"><a href="class_bluetooth_service.html#aa67faf901f78a55a202945a20f6d778a">BluetoothService::pBtd</a></div><div class="ttdeci">BTD * pBtd</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00646">BTD.h:646</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a7dd7faaec1d3d9a1d8159cc2a4190977"><div class="ttname"><a href="class_b_t_d.html#a7dd7faaec1d3d9a1d8159cc2a4190977">BTD::hci_write_scan_enable</a></div><div class="ttdeci">void hci_write_scan_enable()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01122">BTD.cpp:1122</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a93e830be9fb0fe7d04bb39d10806ddc0"><div class="ttname"><a href="class_b_t_d.html#a93e830be9fb0fe7d04bb39d10806ddc0">BTD::useSimplePairing</a></div><div class="ttdeci">bool useSimplePairing</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00531">BTD.h:531</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aa0fd5483f227e29de23c20ee31c940aa"><div class="ttname"><a href="class_b_t_d.html#aa0fd5483f227e29de23c20ee31c940aa">BTD::remote_name</a></div><div class="ttdeci">char remote_name[30]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00488">BTD.h:488</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a610183f9ddf04155ef2612d1839af7da"><div class="ttname"><a href="class_b_t_d.html#a610183f9ddf04155ef2612d1839af7da">BTD::disconnect</a></div><div class="ttdeci">void disconnect()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00397">BTD.cpp:397</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a0d82870f7eef8c27c33e6f5989d7a4dd"><div class="ttname"><a href="class_b_t_d.html#a0d82870f7eef8c27c33e6f5989d7a4dd">BTD::BTD_DATAOUT_PIPE</a></div><div class="ttdeci">static const uint8_t BTD_DATAOUT_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00558">BTD.h:558</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a2a9ecb996243e070e70972370e45e4fd"><div class="ttname"><a href="class_b_t_d.html#a2a9ecb996243e070e70972370e45e4fd">BTD::readPollInterval</a></div><div class="ttdeci">uint8_t readPollInterval()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00529">BTD.h:529</a></div></div>
<div class="ttc" id="astruct_ep_info_html"><div class="ttname"><a href="struct_ep_info.html">EpInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00039">address.h:39</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a91f61915c503fe7b861c88f5b3e6733c"><div class="ttname"><a href="class_b_t_d.html#a91f61915c503fe7b861c88f5b3e6733c">BTD::l2cap_information_response</a></div><div class="ttdeci">void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01567">BTD.cpp:1567</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ae6f942eabd29257bc4896e5f263275b6"><div class="ttname"><a href="class_b_t_d.html#ae6f942eabd29257bc4896e5f263275b6">BTD::hci_reset</a></div><div class="ttdeci">void hci_reset()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01113">BTD.cpp:1113</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_af40b8d52df99192880c8a13443b6c6d8"><div class="ttname"><a href="class_b_t_d.html#af40b8d52df99192880c8a13443b6c6d8">BTD::connectToHIDDevice</a></div><div class="ttdeci">bool connectToHIDDevice</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00517">BTD.h:517</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ae7066ea743f8907708db945ebef3ad76"><div class="ttname"><a href="class_b_t_d.html#ae7066ea743f8907708db945ebef3ad76">BTD::hci_connect</a></div><div class="ttdeci">void hci_connect()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01268">BTD.cpp:1268</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_af5e5b085cec1da5c83c75e80e95b3590"><div class="ttname"><a href="class_b_t_d.html#af5e5b085cec1da5c83c75e80e95b3590">BTD::sdpConnectionClaimed</a></div><div class="ttdeci">bool sdpConnectionClaimed</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00472">BTD.h:472</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a29d176d9194e5c92fbe54791fc245407"><div class="ttname"><a href="class_b_t_d.html#a29d176d9194e5c92fbe54791fc245407">BTD::l2cap_disconnection_response</a></div><div class="ttdeci">void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01554">BTD.cpp:1554</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_addaddee110af23a3195ad56f631e69ea"><div class="ttname"><a href="class_b_t_d.html#addaddee110af23a3195ad56f631e69ea">BTD::hci_version</a></div><div class="ttdeci">uint8_t hci_version</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00494">BTD.h:494</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a685d6371fb0c950ff6bad4510a8cc85a"><div class="ttname"><a href="class_b_t_d.html#a685d6371fb0c950ff6bad4510a8cc85a">BTD::incomingHIDDevice</a></div><div class="ttdeci">bool incomingHIDDevice</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00521">BTD.h:521</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a55cf412a2053972a353b1ab964ca9d3e"><div class="ttname"><a href="class_b_t_d.html#a55cf412a2053972a353b1ab964ca9d3e">BTD::l2cap_connection_request</a></div><div class="ttdeci">void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01475">BTD.cpp:1475</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a52d6c7895f6bb01729d01ce28a2f3079"><div class="ttname"><a href="class_b_t_d.html#a52d6c7895f6bb01729d01ce28a2f3079">BTD::qNextPollTime</a></div><div class="ttdeci">uint32_t qNextPollTime</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00549">BTD.h:549</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_ad643db609c7e2e3fae8904dbc7991262"><div class="ttname"><a href="class_bluetooth_service.html#ad643db609c7e2e3fae8904dbc7991262">BluetoothService::identifier</a></div><div class="ttdeci">uint8_t identifier</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00655">BTD.h:655</a></div></div>
<div class="ttc" id="aclass_u_s_b_html"><div class="ttname"><a href="class_u_s_b.html">USB</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00210">UsbCore.h:210</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a58f78a9a28db81858dcc34a32a2ec82c"><div class="ttname"><a href="class_b_t_d.html#a58f78a9a28db81858dcc34a32a2ec82c">BTD::bAddress</a></div><div class="ttdeci">uint8_t bAddress</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00540">BTD.h:540</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a9e5a34242007b64cd6a226cfd1901e74"><div class="ttname"><a href="class_b_t_d.html#a9e5a34242007b64cd6a226cfd1901e74">BTD::rfcommConnectionClaimed</a></div><div class="ttdeci">bool rfcommConnectionClaimed</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00474">BTD.h:474</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a0359c0c158c864c27319810cbd1534f9"><div class="ttname"><a href="class_b_t_d.html#a0359c0c158c864c27319810cbd1534f9">BTD::btdName</a></div><div class="ttdeci">const char * btdName</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00477">BTD.h:477</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a7114d2cb62aa413e5ecb25c45c76832b"><div class="ttname"><a href="class_b_t_d.html#a7114d2cb62aa413e5ecb25c45c76832b">BTD::hci_pin_code_negative_request_reply</a></div><div class="ttdeci">void hci_pin_code_negative_request_reply()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01330">BTD.cpp:1330</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a0b59db80825ffd5974e0d2c4a046b328"><div class="ttname"><a href="class_b_t_d.html#a0b59db80825ffd5974e0d2c4a046b328">BTD::pairWithHID</a></div><div class="ttdeci">void pairWithHID()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00513">BTD.h:513</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aa5976eead215a58553aee683d42405a0"><div class="ttname"><a href="class_b_t_d.html#aa5976eead215a58553aee683d42405a0">BTD::PrintEndpointDescriptor</a></div><div class="ttdeci">void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00360">BTD.cpp:360</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ac7053ef7ac690be3afbbdd985b163f10"><div class="ttname"><a href="class_b_t_d.html#ac7053ef7ac690be3afbbdd985b163f10">BTD::l2cap_disconnection_request</a></div><div class="ttdeci">void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01541">BTD.cpp:1541</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a54903b410722a45f8246653cd4d00632"><div class="ttname"><a href="_b_t_d_8h.html#a54903b410722a45f8246653cd4d00632">PS3NAVIGATION_PID</a></div><div class="ttdeci">#define PS3NAVIGATION_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00027">BTD.h:27</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a0c8cc2a2dd2cda3e760b8b4c1a2d169c"><div class="ttname"><a href="class_b_t_d.html#a0c8cc2a2dd2cda3e760b8b4c1a2d169c">BTD::pairWithWii</a></div><div class="ttdeci">bool pairWithWii</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00506">BTD.h:506</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ae0808ebf7578fc022b8f05c8779d3102"><div class="ttname"><a href="class_b_t_d.html#ae0808ebf7578fc022b8f05c8779d3102">BTD::VIDPIDOK</a></div><div class="ttdeci">virtual bool VIDPIDOK(uint16_t vid, uint16_t pid)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00289">BTD.h:289</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a48608619d8253972dd132edbb3001c5f"><div class="ttname"><a href="class_b_t_d.html#a48608619d8253972dd132edbb3001c5f">BTD::Init</a></div><div class="ttdeci">uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00136">BTD.cpp:136</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_aee41c4878894db24e7ad8cd6246595cd"><div class="ttname"><a href="_b_t_d_8h.html#aee41c4878894db24e7ad8cd6246595cd">BTD_MAX_ENDPOINTS</a></div><div class="ttdeci">#define BTD_MAX_ENDPOINTS</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00210">BTD.h:210</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a488e219cf0a90d39e643615b1f12e91f"><div class="ttname"><a href="class_bluetooth_service.html#a488e219cf0a90d39e643615b1f12e91f">BluetoothService::attachOnInit</a></div><div class="ttdeci">void attachOnInit(void(*funcOnInit)(void))</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00625">BTD.h:625</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a93a522edb2974185c7567b8f83860424"><div class="ttname"><a href="class_b_t_d.html#a93a522edb2974185c7567b8f83860424">BTD::waitingForConnection</a></div><div class="ttdeci">bool waitingForConnection</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00468">BTD.h:468</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_af4d28b9c1a3b9688a1871610caee2cfc"><div class="ttname"><a href="class_b_t_d.html#af4d28b9c1a3b9688a1871610caee2cfc">BTD::hci_link_key_request_negative_reply</a></div><div class="ttdeci">void hci_link_key_request_negative_reply()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01344">BTD.cpp:1344</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a45ffbc7a40bbb763b0ece907c3dfc9ff"><div class="ttname"><a href="class_b_t_d.html#a45ffbc7a40bbb763b0ece907c3dfc9ff">BTD::hci_inquiry_cancel</a></div><div class="ttdeci">void hci_inquiry_cancel()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01260">BTD.cpp:1260</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a321393d44ce59213fa1c7498c247d5ff"><div class="ttname"><a href="class_bluetooth_service.html#a321393d44ce59213fa1c7498c247d5ff">BluetoothService::pFuncOnInit</a></div><div class="ttdeci">void(* pFuncOnInit)(void)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00643">BTD.h:643</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a23928cd0e5711a2433aec763cfa55773"><div class="ttname"><a href="class_b_t_d.html#a23928cd0e5711a2433aec763cfa55773">BTD::EndpointXtract</a></div><div class="ttdeci">void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00330">BTD.cpp:330</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a67b1db67c05d0bbdcd9c992135455437"><div class="ttname"><a href="class_bluetooth_service.html#a67b1db67c05d0bbdcd9c992135455437">BluetoothService::hci_handle</a></div><div class="ttdeci">uint16_t hci_handle</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00649">BTD.h:649</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a2a3674a4bb5d409840995eabe07049bd"><div class="ttname"><a href="class_bluetooth_service.html#a2a3674a4bb5d409840995eabe07049bd">BluetoothService::checkHciHandle</a></div><div class="ttdeci">bool checkHciHandle(uint8_t *buf, uint16_t handle)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00638">BTD.h:638</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a24166c9b308925eeb2f635fae43ca5ec"><div class="ttname"><a href="class_b_t_d.html#a24166c9b308925eeb2f635fae43ca5ec">BTD::BTD_EVENT_PIPE</a></div><div class="ttdeci">static const uint8_t BTD_EVENT_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00554">BTD.h:554</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a6a28bb0589fbe2da75b238d7568d894d"><div class="ttname"><a href="_b_t_d_8h.html#a6a28bb0589fbe2da75b238d7568d894d">IOGEAR_GBU521_VID</a></div><div class="ttdeci">#define IOGEAR_GBU521_VID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00031">BTD.h:31</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a16df27af39d09963cf0d43910d92ff4c"><div class="ttname"><a href="class_bluetooth_service.html#a16df27af39d09963cf0d43910d92ff4c">BluetoothService::Run</a></div><div class="ttdeci">virtual void Run()=0</div></div>
<div class="ttc" id="aclass_b_t_d_html_a1f8e9171a310e50f2c4a3c19066efe5a"><div class="ttname"><a href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">BTD::my_bdaddr</a></div><div class="ttdeci">uint8_t my_bdaddr[6]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00482">BTD.h:482</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_adcc9736be085564f567c0e6643c5d4f3"><div class="ttname"><a href="class_b_t_d.html#adcc9736be085564f567c0e6643c5d4f3">BTD::hci_set_event_mask</a></div><div class="ttdeci">void hci_set_event_mask()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01219">BTD.cpp:1219</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_addd07c18c725a324a05792a83026d36d"><div class="ttname"><a href="class_b_t_d.html#addd07c18c725a324a05792a83026d36d">BTD::hci_authentication_request</a></div><div class="ttdeci">void hci_authentication_request()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01389">BTD.cpp:1389</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html"><div class="ttname"><a href="class_bluetooth_service.html">BluetoothService</a></div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00603">BTD.h:603</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a76e201c5b561e3a6d0405894ba5c2e41"><div class="ttname"><a href="class_b_t_d.html#a76e201c5b561e3a6d0405894ba5c2e41">BTD::Poll</a></div><div class="ttdeci">uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00385">BTD.cpp:385</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a45bde7ca453285d88029e9b0235c428d"><div class="ttname"><a href="class_b_t_d.html#a45bde7ca453285d88029e9b0235c428d">BTD::hci_write_simple_pairing_mode</a></div><div class="ttdeci">void hci_write_simple_pairing_mode(bool enable)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01237">BTD.cpp:1237</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aa87c23bce56a20f2db47c6a40c8eda87"><div class="ttname"><a href="class_b_t_d.html#aa87c23bce56a20f2db47c6a40c8eda87">BTD::Release</a></div><div class="ttdeci">uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00379">BTD.cpp:379</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a399be31406914a79c14794e5d6a72444"><div class="ttname"><a href="class_b_t_d.html#a399be31406914a79c14794e5d6a72444">BTD::hci_io_capability_request_reply</a></div><div class="ttdeci">void hci_io_capability_request_reply()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01358">BTD.cpp:1358</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a0ae276efa5e73a4da658c714e70402c0"><div class="ttname"><a href="_b_t_d_8h.html#a0ae276efa5e73a4da658c714e70402c0">PS3_PID</a></div><div class="ttdeci">#define PS3_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00026">BTD.h:26</a></div></div>
<div class="ttc" id="a_usb_8h_html"><div class="ttname"><a href="_usb_8h.html">Usb.h</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_ab23f95f12675d7b4505ca6807d379182"><div class="ttname"><a href="class_b_t_d.html#ab23f95f12675d7b4505ca6807d379182">BTD::disc_bdaddr</a></div><div class="ttdeci">uint8_t disc_bdaddr[6]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00486">BTD.h:486</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a0f1c28a03bcbe62cc7c083f97ea27594"><div class="ttname"><a href="class_b_t_d.html#a0f1c28a03bcbe62cc7c083f97ea27594">BTD::l2capConnectionClaimed</a></div><div class="ttdeci">bool l2capConnectionClaimed</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00470">BTD.h:470</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a7d34c62b1d561679dea5cd27356b38a7"><div class="ttname"><a href="class_b_t_d.html#a7d34c62b1d561679dea5cd27356b38a7">BTD::l2cap_connection_response</a></div><div class="ttdeci">void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01488">BTD.cpp:1488</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a2aa418d820fb6b877ea079e0436a518e"><div class="ttname"><a href="class_b_t_d.html#a2aa418d820fb6b877ea079e0436a518e">BTD::pairWithHIDDevice</a></div><div class="ttdeci">bool pairWithHIDDevice</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00523">BTD.h:523</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a410c7df1e49328de23a89921c89f9573"><div class="ttname"><a href="class_bluetooth_service.html#a410c7df1e49328de23a89921c89f9573">BluetoothService::BluetoothService</a></div><div class="ttdeci">BluetoothService(BTD *p)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00605">BTD.h:605</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_aa3bb6c692701cb33dfad1ea4d68b6f98"><div class="ttname"><a href="class_b_t_d.html#aa3bb6c692701cb33dfad1ea4d68b6f98">BTD::hci_handle</a></div><div class="ttdeci">uint16_t hci_handle</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00484">BTD.h:484</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a576e49b56b3cfb9d70b22bac8fe6796f"><div class="ttname"><a href="_b_t_d_8h.html#a576e49b56b3cfb9d70b22bac8fe6796f">BELKIN_F8T065BF_VID</a></div><div class="ttdeci">#define BELKIN_F8T065BF_VID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00033">BTD.h:33</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a32d591ef5742a99963130616ef146787"><div class="ttname"><a href="_b_t_d_8h.html#a32d591ef5742a99963130616ef146787">BULK_MAXPKTSIZE</a></div><div class="ttdeci">#define BULK_MAXPKTSIZE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00037">BTD.h:37</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_a34d08d56c560c892c9684133f69b971b"><div class="ttname"><a href="class_bluetooth_service.html#a34d08d56c560c892c9684133f69b971b">BluetoothService::onInit</a></div><div class="ttdeci">virtual void onInit()=0</div></div>
<div class="ttc" id="aclass_b_t_d_html_a4f1808a49e9aca397ba829fac16dc5c3"><div class="ttname"><a href="class_b_t_d.html#a4f1808a49e9aca397ba829fac16dc5c3">BTD::ConfigureDevice</a></div><div class="ttdeci">uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00050">BTD.cpp:50</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a962a5714c225dcb633434f02e3657583"><div class="ttname"><a href="class_b_t_d.html#a962a5714c225dcb633434f02e3657583">BTD::wiiUProController</a></div><div class="ttdeci">bool wiiUProController</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00510">BTD.h:510</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a678f2c995553ce6a9f48f9b59f2f1555"><div class="ttname"><a href="class_b_t_d.html#a678f2c995553ce6a9f48f9b59f2f1555">BTD::hci_inquiry</a></div><div class="ttdeci">void hci_inquiry()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01246">BTD.cpp:1246</a></div></div>
2013-01-30 22:00:18 +01:00
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
2013-01-30 22:00:18 +01:00
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
2013-01-30 22:00:18 +01:00
</small></address>
</body>
</html>