USB_Host_Shield_2.0/_b_t_d_8h_source.html
Kristian Sloth Lauszus a85adeb3dd Generated documentation
2013-10-21 21:15:43 +02:00

472 lines
96 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>USB Host Shield 2.0: BTD.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="imageStyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">USB Host Shield 2.0
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html">GitHub</a></li><li class="navelem"><a class="el" href="dir_397a095372f04465e811d0ee219bbf8f.html">USB_Host_Shield_2.0</a></li> </ul>
</div>
</div><!-- top -->
<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"></span><span class="preprocessor">#define _btd_h_</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"></span></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;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//PID and VID of the Sony PS3 devices</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a5bb06f989db583d290ba79642d37c514"> 24</a></span>&#160;<span class="preprocessor">#define PS3_VID 0x054C // Sony Corporation</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0ae276efa5e73a4da658c714e70402c0"> 25</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PS3_PID 0x0268 // PS3 Controller DualShock 3</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a54903b410722a45f8246653cd4d00632"> 26</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PS3NAVIGATION_PID 0x042F // Navigation controller</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#afc242b8a1b867f79c49ad78e3a47b37f"> 27</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PS3MOVE_PID 0x03D5 // Motion controller</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6a28bb0589fbe2da75b238d7568d894d"> 29</a></span>&#160;<span class="preprocessor">#define IOGEAR_GBU521_VID 0x0A5C // The IOGEAR GBU521 dongle does not presents itself correctly, so we have to check for it manually</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aed4a7c4ebf618412176ef19023454fad"> 30</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define IOGEAR_GBU521_PID 0x21E8</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">/* Bluetooth dongle data taken from descriptors */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a32d591ef5742a99963130616ef146787"> 33</a></span>&#160;<span class="preprocessor">#define BULK_MAXPKTSIZE 64 // max size for ACL data</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">// Used in control endpoint header for HCI Commands</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad70df063f83bf7000558b1d73aa009e5"> 36</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="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"></span><span class="comment">// Used in control endpoint header for HID Commands</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a5bd4ea095da29635414952894bd527f5"> 38</a></span>&#160;<span class="preprocessor">#define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aee05d40a014750b24a7e9967f6f389f4"> 39</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HID_REQUEST_SET_REPORT 0x09</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment">/* Bluetooth HCI states for hci_task() */</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac2b910cd6cc87c7bac09617815a1ee9a"> 42</a></span>&#160;<span class="preprocessor">#define HCI_INIT_STATE 0</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af3a7567dba1a0a7ed4272324d7684440"> 43</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_RESET_STATE 1</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa4e852587db5ad51c6c5cfb8e9d4f002"> 44</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_CLASS_STATE 2</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a86fd72d2518d27c02c15af635b55fc8f"> 45</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_BDADDR_STATE 3</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8f1d666addd0c2bba7602fbd7a692228"> 46</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_LOCAL_VERSION_STATE 4</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1939cc2e06b3185be07a93c1ac7a10e1"> 47</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_SET_NAME_STATE 5</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a36daee23c5d0f4276e6eb32f3fd79124"> 48</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_CHECK_WII_SERVICE 6</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a09fa39bcefd3255f8ef762034e45679e"> 50</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 Wii controller</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2733141c8dae8cd14f78b11b21d58ebb"> 51</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_CONNECT_WII_STATE 8</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad497b58476b921e620f05791fa864f04"> 52</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_CONNECTED_WII_STATE 9</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#acc9b6954b4bb6c19a9d25242869d5ddf"> 54</a></span>&#160;<span class="preprocessor">#define HCI_SCANNING_STATE 10</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8bfcf6e1a0a044aba26d728fb0c6a17a"> 55</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_CONNECT_IN_STATE 11</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4bad48092981dffe97edb052f5ae08bd"> 56</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_REMOTE_NAME_STATE 12</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae0a16d1cc0142186a20379b5c68bd1e0"> 57</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_CONNECTED_STATE 13</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad3500c7116f1bb564011dac09a387a5c"> 58</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_DISABLE_SCAN_STATE 14</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a20fc1ebfc3da8e048f6afe53330e6b8f"> 59</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_DONE_STATE 15</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a31398eae2e433d1b7b39ea3d6d07cdd0"> 60</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_DISCONNECT_STATE 16</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment">/* HCI event flags*/</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a14087b750ea2da7f0cef4daaa7683d01"> 63</a></span>&#160;<span class="preprocessor">#define HCI_FLAG_CMD_COMPLETE 0x01</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa05458d2a47122cd62cd0748c7e1e313"> 64</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_CONN_COMPLETE 0x02</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aec17e7d699b1023a0b6f675feddd7d58"> 65</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_DISCONN_COMPLETE 0x04</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a400af4b61f6e94ab821fa368d8bf2b07"> 66</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_REMOTE_NAME_COMPLETE 0x08</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0e8a8ce5838e265c1732795bf8822043"> 67</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_INCOMING_REQUEST 0x10</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aabbf8a2ed694a2dc4d4e60fd389c44dd"> 68</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_READ_BDADDR 0x20</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ab3b1f616c1e885e697806f0167b73e8e"> 69</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_READ_VERSION 0x40</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa991873698787cf45d26efaa370f34e2"> 70</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_WII_FOUND 0x80</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad14762241e9195fc9a3b0a69ef1ab7f3"> 71</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HCI_FLAG_CONNECT_EVENT 0x100</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment">/*Macros for HCI event flag tests */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a9cc765dd92016efe6eaeff535a5193c1"> 74</a></span>&#160;<span class="preprocessor">#define hci_cmd_complete (hci_event_flag &amp; HCI_FLAG_CMD_COMPLETE)</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae43eba7b19fa5c92de5344819b99ec61"> 75</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_connect_complete (hci_event_flag &amp; HCI_FLAG_CONN_COMPLETE)</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ae67c9cc739a52a8f4a3c28871a07bf1b"> 76</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_disconnect_complete (hci_event_flag &amp; HCI_FLAG_DISCONN_COMPLETE)</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8f97f22fe3bc827916b8adb724b64a7f"> 77</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_remote_name_complete (hci_event_flag &amp; HCI_FLAG_REMOTE_NAME_COMPLETE)</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aeb3a24db49f8158f85b928385e28d83a"> 78</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_incoming_connect_request (hci_event_flag &amp; HCI_FLAG_INCOMING_REQUEST)</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#afc5a7e103eb1301c12aa35af25cc8293"> 79</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_read_bdaddr_complete (hci_event_flag &amp; HCI_FLAG_READ_BDADDR)</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad205c180970335a666dfe5081b55ade4"> 80</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_read_version_complete (hci_event_flag &amp; HCI_FLAG_READ_VERSION)</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa12b77df715652f4735cb6620cd595a4"> 81</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_wii_found (hci_event_flag &amp; HCI_FLAG_WII_FOUND)</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a11ae66a6caad9105b8e7658189dcfa7b"> 82</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define hci_connect_event (hci_event_flag &amp; HCI_FLAG_CONNECT_EVENT)</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment">/* HCI Events managed */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4c6ca5696adeab36258b3b0c58d804e0"> 85</a></span>&#160;<span class="preprocessor">#define EV_INQUIRY_COMPLETE 0x01</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a335df6d48c8cac828d62196eeaff360b"> 86</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_INQUIRY_RESULT 0x02</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad4bce42e1ef20447655f8916f23d07a7"> 87</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_CONNECT_COMPLETE 0x03</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af6c5584636f8958689f5cd67290254e1"> 88</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_INCOMING_CONNECT 0x04</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1cf7e4d4426dcabed8976b65beee0d99"> 89</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_DISCONNECT_COMPLETE 0x05</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a68b8f78a0e0da80434afb1e6d40eacf4"> 90</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_AUTHENTICATION_COMPLETE 0x06</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a29c1744f72f3cd85865c8173eace5a36"> 91</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_REMOTE_NAME_COMPLETE 0x07</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aa0bf5ac66c412d3415dbb753630d0e58"> 92</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_ENCRYPTION_CHANGE 0x08</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a3e107e9d07793ca5cfaeea8b2181d4a4"> 93</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_CHANGE_CONNECTION_LINK 0x09</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac61db50de3007a22e19e660bd7e68e69"> 94</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_ROLE_CHANGED 0x12</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a0987119cfc40f3011a2cec69686034df"> 95</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_NUM_COMPLETE_PKT 0x13</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a935633384e87daa14b60549134014ec4"> 96</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_PIN_CODE_REQUEST 0x16</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8c77c922bb61301760ebf5af5f1cc7f0"> 97</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_LINK_KEY_REQUEST 0x17</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8c662496af1164370e5fdf7149ecd842"> 98</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_LINK_KEY_NOTIFICATION 0x18</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6f8b4cf8546d9928a34c9c681dc5a6d5"> 99</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_DATA_BUFFER_OVERFLOW 0x1A</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2ad6543cdfe06cbf0924c287c08f36d7"> 100</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_MAX_SLOTS_CHANGE 0x1B</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a830b2a3bcb09c4802910e8b05531d317"> 101</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0C</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1b58792b76e0f216df8160bf055032c3"> 102</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_QOS_SETUP_COMPLETE 0x0D</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a81b71e0ba648260143529b04ae84e528"> 103</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_COMMAND_COMPLETE 0x0E</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a090ee10cc1a1c1c3bbb29a93c330d2d4"> 104</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_COMMAND_STATUS 0x0F</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#acd5f65703cc34b112a1f656d9a49551b"> 105</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_LOOPBACK_COMMAND 0x19</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ad8481acc0b144d97017f8a06d63ff47c"> 106</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EV_PAGE_SCAN_REP_MODE 0x20</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment">/* L2CAP signaling commands */</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a6ffcd72787c86f248192eb06a3fe18cb"> 109</a></span>&#160;<span class="preprocessor">#define L2CAP_CMD_COMMAND_REJECT 0x01</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#ac4bae0c65fd00ed849cb226302d19c85"> 110</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_CONNECTION_REQUEST 0x02</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aef7b306479de265d725dbe5816a8227b"> 111</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_CONNECTION_RESPONSE 0x03</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a48bcd73461d736d0ef889e1fe6e36f69"> 112</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_CONFIG_REQUEST 0x04</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a8151b1fe5d940a5a7a34f43a8b8ce434"> 113</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_CONFIG_RESPONSE 0x05</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a398676a2e9a2351a5a52afdddf4b660b"> 114</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_DISCONNECT_REQUEST 0x06</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4c64a41200714e457b397496183dc0e4"> 115</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_DISCONNECT_RESPONSE 0x07</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a200eb6c7c905ec74a9daf0f262af0448"> 116</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_INFORMATION_REQUEST 0x0A</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#af32d4c53927d596a8727ff232310dec1"> 117</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L2CAP_CMD_INFORMATION_RESPONSE 0x0B</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment">// Used For Connection Response - Remember to Include High Byte</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a9960d0d5ae92fc92c70bbb84c2a5c0cc"> 120</a></span>&#160;<span class="preprocessor">#define PENDING 0x01</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1be7a56cdddcdb7dedf16d4dee381e93"> 121</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define SUCCESSFUL 0x00</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</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="l00124"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a25ce859d7ee2730e1d22d11c051ed60d"> 124</a></span>&#160;<span class="preprocessor">#define SDP_PSM 0x01 // Service Discovery Protocol PSM Value</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2924020f2e7e82fe956574538e2bc3eb"> 125</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RFCOMM_PSM 0x03 // RFCOMM PSM Value</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a1465673868452307bcdab8e201430c27"> 126</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HID_CTRL_PSM 0x11 // HID_Control PSM Value</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a4c5ac96db74d61d4a5a5d945a400e7da"> 127</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HID_INTR_PSM 0x13 // HID_Interrupt PSM Value</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment">// Used to determine if it is a Bluetooth dongle</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a177fe269ddb7979d99b76d52bc281551"> 130</a></span>&#160;<span class="preprocessor">#define WI_SUBCLASS_RF 0x01 // RF Controller</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a05903a9351c5ced6b8be27b2869e62af"> 131</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define WI_PROTOCOL_BT 0x01 // Bluetooth Programming Interface</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#aee41c4878894db24e7ad8cd6246595cd"> 133</a></span>&#160;<span class="preprocessor">#define BTD_MAX_ENDPOINTS 4</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="_b_t_d_8h.html#a2222709eed4c8af293e881ea36f599b0"> 134</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define BTD_NUMSERVICES 4 // Max number of Bluetooth services - if you need more than four simply increase this number</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="class_bluetooth_service.html"> 137</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_bluetooth_service.html">BluetoothService</a> {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a8dc98310fe481357eaa86c53e49af113">ACLData</a>(uint8_t* <a class="code" href="class_bluetooth_service.html#a8dc98310fe481357eaa86c53e49af113">ACLData</a>);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a680692ff13cb37eb81ddbb74bc9e0383">Run</a>();</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a1dff7caf251f1d8a5f358b368445cb48">Reset</a>();</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_bluetooth_service.html#a66ee2f09c6087b82e3920c3d652a99b2">disconnect</a>();</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;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="class_b_t_d.html"> 156</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="l00157"></a><span class="lineno"> 157</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</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="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">virtual</span> 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="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">virtual</span> 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="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keyword">virtual</span> uint8_t <a class="code" href="class_b_t_d.html#aa87c23bce56a20f2db47c6a40c8eda87">Release</a>();</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keyword">virtual</span> uint8_t <a class="code" href="class_b_t_d.html#a76e201c5b561e3a6d0405894ba5c2e41">Poll</a>();</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aecdd9d00fc9c12bb3677ed213a6687c3"> 196</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="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</span>&#160; };</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a1b2440748bdaaeb552a05b0f0902f5d8"> 204</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="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> bPollEnable;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; };</div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a8760371377c1ba08292b6cc71824754e"> 212</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">boolean</span> <a class="code" href="class_b_t_d.html#a8760371377c1ba08292b6cc71824754e">DEVCLASSOK</a>(uint8_t klass) { <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="l00213"></a><span class="lineno"> 213</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="class_b_t_d.html#adf5dce0907ea33c919908fea5dc0cf21"> 221</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">boolean</span> <a class="code" href="class_b_t_d.html#adf5dce0907ea33c919908fea5dc0cf21">VIDPIDOK</a>(uint16_t vid, uint16_t pid) {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> ((vid == <a class="code" href="_b_t_d_8h.html#a5bb06f989db583d290ba79642d37c514">PS3_VID</a> || 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#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> || pid == <a class="code" href="_b_t_d_8h.html#aed4a7c4ebf618412176ef19023454fad">IOGEAR_GBU521_PID</a>));</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; };</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keyword">virtual</span> <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="l00239"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a610183f9ddf04155ef2612d1839af7da"> 239</a></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="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_b_t_d_8h.html#a2222709eed4c8af293e881ea36f599b0">BTD_NUMSERVICES</a>; i++)</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">if</span>(btService[i])</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; btService[i]-&gt;<a class="code" href="class_bluetooth_service.html#a66ee2f09c6087b82e3920c3d652a99b2">disconnect</a>();</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; };</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a4adfc7e51ad3b3c03e7c37d1af159e73"> 250</a></span>&#160; int8_t <a class="code" href="class_b_t_d.html#a4adfc7e51ad3b3c03e7c37d1af159e73">registerServiceClass</a>(<a class="code" href="class_bluetooth_service.html">BluetoothService</a> *pService) {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_b_t_d_8h.html#a2222709eed4c8af293e881ea36f599b0">BTD_NUMSERVICES</a>; i++) {</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span>(!btService[i]) {</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; btService[i] = pService;</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> i; <span class="comment">// Return ID</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> -1; <span class="comment">// ErrorregisterServiceClass</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; };</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</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="l00268"></a><span class="lineno"> 268</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="l00270"></a><span class="lineno"> 270</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="l00272"></a><span class="lineno"> 272</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="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_b_t_d.html#a9a6747d58951f53389922d80e25b886c">hci_set_local_name</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</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="l00281"></a><span class="lineno"> 281</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="l00283"></a><span class="lineno"> 283</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="l00285"></a><span class="lineno"> 285</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="l00290"></a><span class="lineno"> 290</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="l00296"></a><span class="lineno"> 296</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="l00298"></a><span class="lineno"> 298</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="l00303"></a><span class="lineno"> 303</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="l00305"></a><span class="lineno"> 305</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="l00307"></a><span class="lineno"> 307</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="l00309"></a><span class="lineno"> 309</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="l00311"></a><span class="lineno"> 311</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="l00313"></a><span class="lineno"> 313</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="l00325"></a><span class="lineno"> 325</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="l00333"></a><span class="lineno"> 333</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="l00342"></a><span class="lineno"> 342</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="l00349"></a><span class="lineno"> 349</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="l00356"></a><span class="lineno"> 356</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="l00364"></a><span class="lineno"> 364</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="l00372"></a><span class="lineno"> 372</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="l00379"></a><span class="lineno"> 379</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="l00383"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aa7735da01865bab01b569ee836173737"> 383</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_b_t_d.html#aa7735da01865bab01b569ee836173737">watingForConnection</a>;</div>
<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0f1c28a03bcbe62cc7c083f97ea27594"> 385</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="l00387"></a><span class="lineno"><a class="line" href="class_b_t_d.html#af5e5b085cec1da5c83c75e80e95b3590"> 387</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="l00389"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a9e5a34242007b64cd6a226cfd1901e74"> 389</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="l00390"></a><span class="lineno"> 390</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0359c0c158c864c27319810cbd1534f9"> 392</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="l00394"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a215cb939c01ed3ff56db37841224546c"> 394</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="l00395"></a><span class="lineno"> 395</span>&#160;</div>
<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a"> 397</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="l00399"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aa3bb6c692701cb33dfad1ea4d68b6f98"> 399</a></span>&#160; uint16_t <a class="code" href="class_b_t_d.html#aa3bb6c692701cb33dfad1ea4d68b6f98">hci_handle</a>;</div>
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="class_b_t_d.html#ab23f95f12675d7b4505ca6807d379182"> 401</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="l00403"></a><span class="lineno"><a class="line" href="class_b_t_d.html#aede42d995c384c238fd49d728df01e4e"> 403</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#aede42d995c384c238fd49d728df01e4e">remote_name</a>[30];</div>
<div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="class_b_t_d.html#addaddee110af23a3195ad56f631e69ea"> 409</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#addaddee110af23a3195ad56f631e69ea">hci_version</a>;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div>
<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a6b66a27c0fd359e3129f53451352b55c"> 412</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="l00413"></a><span class="lineno"> 413</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="l00414"></a><span class="lineno"> 414</span>&#160; hci_state = <a class="code" href="_b_t_d_8h.html#a36daee23c5d0f4276e6eb32f3fd79124">HCI_CHECK_WII_SERVICE</a>;</div>
<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="class_b_t_d.html#ac7caac80fb6f5f0e794af3644887d88e"> 415</a></span>&#160; };</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</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="l00419"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a4dc8f94fe85028f3d54f13dde1e5b4ee"> 419</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="l00421"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0c8cc2a2dd2cda3e760b8b4c1a2d169c"> 421</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="l00423"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a3aea445b2349e99ef057db1a4ffdd9dc"> 423</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="l00425"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a962a5714c225dcb633434f02e3657583"> 425</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="l00426"></a><span class="lineno"> 426</span>&#160;</div>
<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a2a9ecb996243e070e70972370e45e4fd"> 431</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a2a9ecb996243e070e70972370e45e4fd">readPollInterval</a>() {</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">return</span> pollInterval;</div>
<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a4bcd1d622a6455ee3d0cccc4408700a1"> 433</a></span>&#160; };</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</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="l00439"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a58f78a9a28db81858dcc34a32a2ec82c"> 439</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a58f78a9a28db81858dcc34a32a2ec82c">bAddress</a>;</div>
<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a91d92fee94e5a4cbca472bb3fd883e3e"> 441</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="l00442"></a><span class="lineno"> 442</span>&#160;</div>
<div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a10c34527ae90e95791ac48ac7d1154a2"> 444</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a10c34527ae90e95791ac48ac7d1154a2">bConfNum</a>;</div>
<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a893dd35932821cddda7e482a1904af66"> 446</a></span>&#160; uint8_t <a class="code" href="class_b_t_d.html#a893dd35932821cddda7e482a1904af66">bNumEP</a>;</div>
<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a52d6c7895f6bb01729d01ce28a2f3079"> 448</a></span>&#160; uint32_t <a class="code" href="class_b_t_d.html#a52d6c7895f6bb01729d01ce28a2f3079">qNextPollTime</a>;</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div>
<div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a49f433ab824f259c3815e180c73bb0ad"> 451</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="l00453"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a24166c9b308925eeb2f635fae43ca5ec"> 453</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="l00455"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a480510bd399ae74a97cd74c8474ef59c"> 455</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="l00457"></a><span class="lineno"><a class="line" href="class_b_t_d.html#a0d82870f7eef8c27c33e6f5989d7a4dd"> 457</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="l00458"></a><span class="lineno"> 458</span>&#160;</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</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="l00464"></a><span class="lineno"> 464</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordtype">void</span> clearAllVariables(); <span class="comment">// Set all variables, endpoint structs etc. to default values</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <a class="code" href="class_bluetooth_service.html">BluetoothService</a>* btService[<a class="code" href="_b_t_d_8h.html#a2222709eed4c8af293e881ea36f599b0">BTD_NUMSERVICES</a>];</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; uint16_t PID, VID; <span class="comment">// PID and VID of device connected</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordtype">bool</span> bPollEnable;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; uint8_t pollInterval;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="comment">/* Variables used by high level HCI task */</span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; uint8_t hci_state; <span class="comment">//current state of bluetooth hci connection</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; uint16_t hci_counter; <span class="comment">// counter used for bluetooth hci reset loops</span></div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; uint8_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="l00478"></a><span class="lineno"> 478</span>&#160; uint16_t hci_event_flag; <span class="comment">// hci flags of received bluetooth events</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; uint8_t inquiry_counter;</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</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="l00482"></a><span class="lineno"> 482</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="l00483"></a><span class="lineno"> 483</span>&#160; uint8_t l2capoutbuf[14]; <span class="comment">//General purpose buffer for l2cap out data</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">/* State machines */</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</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="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordtype">void</span> HCI_task(); <span class="comment">// HCI state machine</span></div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordtype">void</span> ACL_event_task(); <span class="comment">// ACL input pipe</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="comment">/* Used to set the Bluetooth Address internally to the PS3 Controllers */</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordtype">void</span> setBdaddr(uint8_t* BDADDR);</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordtype">void</span> setMoveBdaddr(uint8_t* BDADDR);</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;};</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="class_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#l00457">BTD.h:457</a></div></div>
<div class="ttc" id="class_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#l00419">BTD.h:419</a></div></div>
<div class="ttc" id="class_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#l00972">BTD.cpp:972</a></div></div>
<div class="ttc" id="class_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#l00446">BTD.h:446</a></div></div>
<div class="ttc" id="class_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#l00392">BTD.h:392</a></div></div>
<div class="ttc" id="class_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#l00856">BTD.cpp:856</a></div></div>
<div class="ttc" id="class_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#l01157">BTD.cpp:1157</a></div></div>
<div class="ttc" id="class_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#l01144">BTD.cpp:1144</a></div></div>
<div class="ttc" id="class_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#l00387">BTD.h:387</a></div></div>
<div class="ttc" id="_b_t_d_8h_html_a36daee23c5d0f4276e6eb32f3fd79124"><div class="ttname"><a href="_b_t_d_8h.html#a36daee23c5d0f4276e6eb32f3fd79124">HCI_CHECK_WII_SERVICE</a></div><div class="ttdeci">#define HCI_CHECK_WII_SERVICE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00048">BTD.h:48</a></div></div>
<div class="ttc" id="class_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#l00156">BTD.h:156</a></div></div>
<div class="ttc" id="class_b_t_d_html_a8760371377c1ba08292b6cc71824754e"><div class="ttname"><a href="class_b_t_d.html#a8760371377c1ba08292b6cc71824754e">BTD::DEVCLASSOK</a></div><div class="ttdeci">virtual boolean DEVCLASSOK(uint8_t klass)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00212">BTD.h:212</a></div></div>
<div class="ttc" id="class_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#l01210">BTD.cpp:1210</a></div></div>
<div class="ttc" id="class_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#l00389">BTD.h:389</a></div></div>
<div class="ttc" id="class_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#l00409">BTD.h:409</a></div></div>
<div class="ttc" id="class_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#l00950">BTD.cpp:950</a></div></div>
<div class="ttc" id="class_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#l00453">BTD.h:453</a></div></div>
<div class="ttc" id="_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#l00027">BTD.h:27</a></div></div>
<div class="ttc" id="struct_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#l00141">usb_ch9.h:141</a></div></div>
<div class="ttc" id="class_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#l00421">BTD.h:421</a></div></div>
<div class="ttc" id="class_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#l00878">BTD.cpp:878</a></div></div>
<div class="ttc" id="class_b_t_d_html_a23928cd0e5711a2433aec763cfa55773"><div class="ttname"><a href="class_b_t_d.html#a23928cd0e5711a2433aec763cfa55773">BTD::EndpointXtract</a></div><div class="ttdeci">virtual 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#l00314">BTD.cpp:314</a></div></div>
<div class="ttc" id="class_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#l00196">BTD.h:196</a></div></div>
<div class="ttc" id="class_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#l00394">BTD.h:394</a></div></div>
<div class="ttc" id="class_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#l00423">BTD.h:423</a></div></div>
<div class="ttc" id="class_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#l00919">BTD.cpp:919</a></div></div>
<div class="ttc" id="class_b_t_d_html_aede42d995c384c238fd49d728df01e4e"><div class="ttname"><a href="class_b_t_d.html#aede42d995c384c238fd49d728df01e4e">BTD::remote_name</a></div><div class="ttdeci">uint8_t remote_name[30]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00403">BTD.h:403</a></div></div>
<div class="ttc" id="class_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#l00105">UsbCore.h:105</a></div></div>
<div class="ttc" id="_usb_8h_html"><div class="ttname"><a href="_usb_8h.html">Usb.h</a></div></div>
<div class="ttc" id="_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#l00024">BTD.h:24</a></div></div>
<div class="ttc" id="class_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="class_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#l00431">BTD.h:431</a></div></div>
<div class="ttc" id="class_bluetooth_service_html_a1dff7caf251f1d8a5f358b368445cb48"><div class="ttname"><a href="class_bluetooth_service.html#a1dff7caf251f1d8a5f358b368445cb48">BluetoothService::Reset</a></div><div class="ttdeci">virtual void Reset()</div></div>
<div class="ttc" id="class_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#l00455">BTD.h:455</a></div></div>
<div class="ttc" id="class_b_t_d_html_a9a6747d58951f53389922d80e25b886c"><div class="ttname"><a href="class_b_t_d.html#a9a6747d58951f53389922d80e25b886c">BTD::hci_set_local_name</a></div><div class="ttdeci">void hci_set_local_name(const char *name)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00938">BTD.cpp:938</a></div></div>
<div class="ttc" id="class_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#l00865">BTD.cpp:865</a></div></div>
<div class="ttc" id="class_b_t_d_html_aa87c23bce56a20f2db47c6a40c8eda87"><div class="ttname"><a href="class_b_t_d.html#aa87c23bce56a20f2db47c6a40c8eda87">BTD::Release</a></div><div class="ttdeci">virtual uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00365">BTD.cpp:365</a></div></div>
<div class="ttc" id="class_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#l01223">BTD.cpp:1223</a></div></div>
<div class="ttc" id="_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#l00055">UsbCore.h:55</a></div></div>
<div class="ttc" id="class_b_t_d_html_aa7735da01865bab01b569ee836173737"><div class="ttname"><a href="class_b_t_d.html#aa7735da01865bab01b569ee836173737">BTD::watingForConnection</a></div><div class="ttdeci">bool watingForConnection</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00383">BTD.h:383</a></div></div>
<div class="ttc" id="class_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#l00439">BTD.h:439</a></div></div>
<div class="ttc" id="class_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#l00448">BTD.h:448</a></div></div>
<div class="ttc" id="class_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#l00346">BTD.cpp:346</a></div></div>
<div class="ttc" id="_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#l00030">BTD.h:30</a></div></div>
<div class="ttc" id="class_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#l00415">BTD.h:415</a></div></div>
<div class="ttc" id="class_b_t_d_html_a4f1808a49e9aca397ba829fac16dc5c3"><div class="ttname"><a href="class_b_t_d.html#a4f1808a49e9aca397ba829fac16dc5c3">BTD::ConfigureDevice</a></div><div class="ttdeci">virtual 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#l00046">BTD.cpp:46</a></div></div>
<div class="ttc" id="class_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#l00425">BTD.h:425</a></div></div>
<div class="ttc" id="class_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#l00399">BTD.h:399</a></div></div>
<div class="ttc" id="class_b_t_d_html_a48608619d8253972dd132edbb3001c5f"><div class="ttname"><a href="class_b_t_d.html#a48608619d8253972dd132edbb3001c5f">BTD::Init</a></div><div class="ttdeci">virtual 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#l00119">BTD.cpp:119</a></div></div>
<div class="ttc" id="struct_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#l00032">address.h:32</a></div></div>
<div class="ttc" id="class_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#l01068">BTD.cpp:1068</a></div></div>
<div class="ttc" id="class_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#l00137">BTD.h:137</a></div></div>
<div class="ttc" id="class_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#l00887">BTD.cpp:887</a></div></div>
<div class="ttc" id="class_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#l00964">BTD.cpp:964</a></div></div>
<div class="ttc" id="class_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#l00397">BTD.h:397</a></div></div>
<div class="ttc" id="class_b_t_d_html_a76e201c5b561e3a6d0405894ba5c2e41"><div class="ttname"><a href="class_b_t_d.html#a76e201c5b561e3a6d0405894ba5c2e41">BTD::Poll</a></div><div class="ttdeci">virtual uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00371">BTD.cpp:371</a></div></div>
<div class="ttc" id="class_b_t_d_html_adf5dce0907ea33c919908fea5dc0cf21"><div class="ttname"><a href="class_b_t_d.html#adf5dce0907ea33c919908fea5dc0cf21">BTD::VIDPIDOK</a></div><div class="ttdeci">virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)</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="class_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#l00451">BTD.h:451</a></div></div>
<div class="ttc" id="class_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#l00024">confdescparser.h:24</a></div></div>
<div class="ttc" id="_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#l00033">BTD.h:33</a></div></div>
<div class="ttc" id="class_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_8h_source.html#l00239">BTD.h:239</a></div></div>
<div class="ttc" id="class_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#l00401">BTD.h:401</a></div></div>
<div class="ttc" id="class_b_t_d_html_a4adfc7e51ad3b3c03e7c37d1af159e73"><div class="ttname"><a href="class_b_t_d.html#a4adfc7e51ad3b3c03e7c37d1af159e73">BTD::registerServiceClass</a></div><div class="ttdeci">int8_t registerServiceClass(BluetoothService *pService)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00250">BTD.h:250</a></div></div>
<div class="ttc" id="class_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#l00385">BTD.h:385</a></div></div>
<div class="ttc" id="class_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#l00441">BTD.h:441</a></div></div>
<div class="ttc" id="_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#l00029">BTD.h:29</a></div></div>
<div class="ttc" id="class_bluetooth_service_html_a8dc98310fe481357eaa86c53e49af113"><div class="ttname"><a href="class_bluetooth_service.html#a8dc98310fe481357eaa86c53e49af113">BluetoothService::ACLData</a></div><div class="ttdeci">virtual void ACLData(uint8_t *ACLData)</div></div>
<div class="ttc" id="_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#l00025">BTD.h:25</a></div></div>
<div class="ttc" id="_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#l00133">BTD.h:133</a></div></div>
<div class="ttc" id="_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#l00026">BTD.h:26</a></div></div>
<div class="ttc" id="class_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#l01236">BTD.cpp:1236</a></div></div>
<div class="ttc" id="class_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#l01080">BTD.cpp:1080</a></div></div>
<div class="ttc" id="class_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#l01030">BTD.cpp:1030</a></div></div>
<div class="ttc" id="class_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#l00152">UsbCore.h:152</a></div></div>
<div class="ttc" id="class_bluetooth_service_html_a680692ff13cb37eb81ddbb74bc9e0383"><div class="ttname"><a href="class_bluetooth_service.html#a680692ff13cb37eb81ddbb74bc9e0383">BluetoothService::Run</a></div><div class="ttdeci">virtual void Run()</div></div>
<div class="ttc" id="class_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#l00444">BTD.h:444</a></div></div>
<div class="ttc" id="class_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#l01044">BTD.cpp:1044</a></div></div>
<div class="ttc" id="class_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#l00412">BTD.h:412</a></div></div>
<div class="ttc" id="class_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#l00204">BTD.h:204</a></div></div>
<div class="ttc" id="class_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#l01116">BTD.cpp:1116</a></div></div>
<div class="ttc" id="_b_t_d_8h_html_a2222709eed4c8af293e881ea36f599b0"><div class="ttname"><a href="_b_t_d_8h.html#a2222709eed4c8af293e881ea36f599b0">BTD_NUMSERVICES</a></div><div class="ttdeci">#define BTD_NUMSERVICES</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00134">BTD.h:134</a></div></div>
<div class="ttc" id="class_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#l01191">BTD.cpp:1191</a></div></div>
<div class="ttc" id="class_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#l01174">BTD.cpp:1174</a></div></div>
<div class="ttc" id="class_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#l00994">BTD.cpp:994</a></div></div>
<div class="ttc" id="class_bluetooth_service_html_a66ee2f09c6087b82e3920c3d652a99b2"><div class="ttname"><a href="class_bluetooth_service.html#a66ee2f09c6087b82e3920c3d652a99b2">BluetoothService::disconnect</a></div><div class="ttdeci">virtual void disconnect()</div></div>
<div class="ttc" id="class_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#l00433">BTD.h:433</a></div></div>
<div class="ttc" id="class_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#l01058">BTD.cpp:1058</a></div></div>
<div class="ttc" id="class_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#l00895">BTD.cpp:895</a></div></div>
<div class="ttc" id="class_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#l00903">BTD.cpp:903</a></div></div>
<div class="ttc" id="class_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#l00851">BTD.cpp:851</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>