Welcome to mirror list, hosted at ThFree Co, Russian Federation.

a00074_source.html « db6 « db « html - github.com/flipperdevices/libusb_stm32.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 55f64e7fda0dc673f60fd8b1903679907f088b81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Lightweight USB stack: usbd_core.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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Lightweight USB stack
   &#160;<span id="projectnumber">1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('db/db6/a00074_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="headertitle">
<div class="title">usbd_core.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* This file is the part of the Lightweight USB device Stack for STM32 microcontrollers</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"> * Copyright ©2016 Dmitry Filimonchuk &lt;dmitrystu[at]gmail[dot]com&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">.*/</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#ifndef _USBD_CORE_H_</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#define _USBD_CORE_H_</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if defined(__cplusplus)</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if defined(__DOXYGEN__)</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#gabe4304eaa079882d869171e05b9710f0">   27</a></span>&#160;<span class="preprocessor">#define USBD_PINS_REMAP     </span></div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#ga62b824189c01d9e502a534198795cdae">   28</a></span>&#160;<span class="preprocessor">#define USBD_SOF_DISABLED   </span></div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#ga873cf10751ceec91547247332cc977a8">   29</a></span>&#160;<span class="preprocessor">#define USBD_VBUS_DETECT    </span></div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#gaf35b09cfd8fd06e58d72d047d65266a1">   30</a></span>&#160;<span class="preprocessor">#define USBD_DP_PORT        </span></div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#ga30da8a7864e777a2601488f43b7b0a7f">   31</a></span>&#160;<span class="preprocessor">#define USBD_DP_PIN         </span></div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#ga99347cd77b51aa21e408de471843fd75">   32</a></span>&#160;<span class="preprocessor">#define USBD_SOF_OUT        </span></div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#gac74ab6e936f3b13bc4967578a42a57fc">   33</a></span>&#160;<span class="preprocessor">#define USBD_PRIMARY_OTGHS  </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#gaea5f5ff04a7046b5407b1aef103763c0">   34</a></span>&#160;<span class="preprocessor">#define USBD_USE_EXT_ULPI   </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../d9/dcc/a00102.html#gac140f26a668f33d7efea2558c3adcde5">   35</a></span>&#160;<span class="preprocessor">#define USB_PMA_SIZE        </span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define usbd_evt_reset      0   </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define usbd_evt_sof        1   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gaf25977e760d8d3eccf624a1fff5e39e1">   49</a></span>&#160;<span class="preprocessor">#define usbd_evt_susp       2   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gabce59583f6428a435be226fa766fc78a">   50</a></span>&#160;<span class="preprocessor">#define usbd_evt_wkup       3   </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gafd35f0af68691fe11e8c1186e56eac06">   51</a></span>&#160;<span class="preprocessor">#define usbd_evt_eptx       4   </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga1eda629ed9bb286a15d2d98b1e523e1b">   52</a></span>&#160;<span class="preprocessor">#define usbd_evt_eprx       5   </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gaa849dea26fab624e3aef5c766cc66d6b">   53</a></span>&#160;<span class="preprocessor">#define usbd_evt_epsetup    6   </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga6cb788d0654c976a38121721fcff08fb">   54</a></span>&#160;<span class="preprocessor">#define usbd_evt_error      7   </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga711dd3a71e6c92ec7e7814bded9ed7e4">   55</a></span>&#160;<span class="preprocessor">#define usbd_evt_count      8</span></div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gaa87a9dd3df80bb341668aeb002338ca3">   56</a></span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define usbd_lane_unk       0   </span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define usbd_lane_dsc       1   </span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga4437d82eaf8bde6cf024a67296e2405b">   63</a></span>&#160;<span class="preprocessor">#define usbd_lane_sdp       2   </span></div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gafb52ee5b26f0b788957c43f35445e55c">   64</a></span>&#160;<span class="preprocessor">#define usbd_lane_cdp       3   </span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga8480fbe534da4cc848d6636e741b9778">   65</a></span>&#160;<span class="preprocessor">#define usbd_lane_dcp       4   </span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define USBD_HW_ADDRFST     (1 &lt;&lt; 0)    </span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define USBD_HW_BC          (1 &lt;&lt; 1)    </span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga878641d0cbb440926a46e75c7cb0d075">   73</a></span>&#160;<span class="preprocessor">#define USND_HW_HS          (1 &lt;&lt; 2)    </span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gaf25fc6cc0ba90f9107bb98ca358ed927">   74</a></span>&#160;<span class="preprocessor">#define USBD_HW_ENABLED     (1 &lt;&lt; 3)    </span></div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga10e25b69e3a7b97c825cd46a9f1f4bbd">   75</a></span>&#160;<span class="preprocessor">#define USBD_HW_ENUMSPEED   (2 &lt;&lt; 4)    </span></div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga1e29fc787f9aa849155bbdbae9e817f7">   76</a></span>&#160;<span class="preprocessor">#define USBD_HW_SPEED_NC    (0 &lt;&lt; 4)    </span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#ga5112d4b1479addaa3a60ebd828f32b9b">   77</a></span>&#160;<span class="preprocessor">#define USBD_HW_SPEED_LS    (1 &lt;&lt; 4)    </span></div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gafd067eab59c16235070140a11712c4e7">   78</a></span>&#160;<span class="preprocessor">#define USBD_HW_SPEED_FS    (2 &lt;&lt; 4)    </span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gad42752675174a74f80d32caf3d4c1d61">   79</a></span>&#160;<span class="preprocessor">#define USBD_HW_SPEED_HS    (3 &lt;&lt; 4)    </span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define USB_EPTYPE_DBLBUF   0x04    </span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define USB_REQ_DIRECTION   (1 &lt;&lt; 7)    </span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define USB_REQ_HOSTTODEV   (0 &lt;&lt; 7)    </span></div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga6b9c3fcf995e5d23de85b6030a0d84dd">   93</a></span>&#160;<span class="preprocessor">#define USB_REQ_DEVTOHOST   (1 &lt;&lt; 7)    </span></div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gac41e0607bf13b9e87a13aa102dcbb8aa">   94</a></span>&#160;<span class="preprocessor">#define USB_REQ_TYPE        (3 &lt;&lt; 5)    </span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gae3e09cb3d3226833ef57f916d89291ca">   95</a></span>&#160;<span class="preprocessor">#define USB_REQ_STANDARD    (0 &lt;&lt; 5)    </span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gaa184c56c116810da76cfaae4f611e4c3">   96</a></span>&#160;<span class="preprocessor">#define USB_REQ_CLASS       (1 &lt;&lt; 5)    </span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga4380b84c8d2470c403e280753c507bd4">   97</a></span>&#160;<span class="preprocessor">#define USB_REQ_VENDOR      (2 &lt;&lt; 5)    </span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gaaa13ef254ca1ef9c26170a07b98a7a64">   98</a></span>&#160;<span class="preprocessor">#define USB_REQ_RECIPIENT   (3 &lt;&lt; 0)    </span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga92c81a92bf440998e4b0777d89272185">   99</a></span>&#160;<span class="preprocessor">#define USB_REQ_DEVICE      (0 &lt;&lt; 0)    </span></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga26072833296e244c0dbd7e7a104f8b34">  100</a></span>&#160;<span class="preprocessor">#define USB_REQ_INTERFACE   (1 &lt;&lt; 0)    </span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga48a88d1b49e86e6018971675ee0e14ff">  101</a></span>&#160;<span class="preprocessor">#define USB_REQ_ENDPOINT    (2 &lt;&lt; 0)    </span></div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga4aed1bed2eace26ff5ab34dbb55abba3">  102</a></span>&#160;<span class="preprocessor">#define USB_REQ_OTHER       (3 &lt;&lt; 0)    </span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#if !defined(__ASSEMBLER__)</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d0/dc2/a00104.html#ga5401592e6f44b34f3f08f5fbfc75d693">usbd_machine_state</a> {</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    usbd_state_disabled,</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga5401592e6f44b34f3f08f5fbfc75d693">  113</a></span>&#160;    usbd_state_disconnected,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693a21f28f602405397500ac5755ef420d87">usbd_state_default</a>,         </div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693aa4b741eff1b346a428d12d55fa90e199">usbd_state_addressed</a>,       </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693a21f28f602405397500ac5755ef420d87">  116</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693a61b7bd62db86e10c25c3d10ed3d32ad7">usbd_state_configured</a>,      </div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693aa4b741eff1b346a428d12d55fa90e199">  117</a></span>&#160;};</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693a61b7bd62db86e10c25c3d10ed3d32ad7">  118</a></span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">enum</span> <a class="code" href="../../d0/dc2/a00104.html#ga3aca852c36615e7fa9b6440f021240f6">usbd_ctl_state</a> {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6acd768bd9a31560eff928ecbbf0ef4344">usbd_ctl_idle</a>,              </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga3aca852c36615e7fa9b6440f021240f6">  122</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6aef8382ffd3aa402ab3466e7af1cb7026">usbd_ctl_rxdata</a>,            </div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6acd768bd9a31560eff928ecbbf0ef4344">  123</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ac9e4174a590a9f7484286f17e126a9ac">usbd_ctl_txdata</a>,            </div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6aef8382ffd3aa402ab3466e7af1cb7026">  124</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6a77433ddfd0efda420c5aa6ccc14b8daf">usbd_ctl_ztxdata</a>,           </div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6a77433ddfd0efda420c5aa6ccc14b8daf">  126</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6abc01743314c52bb898074373d780b9e5">usbd_ctl_lastdata</a>,          </div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6abc01743314c52bb898074373d780b9e5">  128</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ae38b5ef5939bd04435e89d680acc07c7">usbd_ctl_statusin</a>,          </div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ab38def65f71bfb910106c4f471e6d093">usbd_ctl_statusout</a>,         </div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ae38b5ef5939bd04435e89d680acc07c7">  130</a></span>&#160;};</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ab38def65f71bfb910106c4f471e6d093">  131</a></span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> _usbd_respond {</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2ad3ad0fc956590b793ccc6b84a0485b28">usbd_fail</a>,                  </div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">  135</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2af67773b99f1ceccf0a194ac42aa51f00">usbd_ack</a>,                   </div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2ad3ad0fc956590b793ccc6b84a0485b28">  136</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2aa2908dddecd599d265c626356aea8f46">usbd_nak</a>,                   </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2af67773b99f1ceccf0a194ac42aa51f00">  137</a></span>&#160;} <a class="code" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2aa2908dddecd599d265c626356aea8f46">  138</a></span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../d5/d0f/a00308.html">_usbd_device</a> usbd_device;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    uint8_t     bmRequestType;  </div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="../../db/d7b/a00296.html#ad9aee018f8166f434965e3b0447702d3">  145</a></span>&#160;    uint8_t     bRequest;       </div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    uint16_t    wValue;         </div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="../../db/d7b/a00296.html#a5a7109c916cc80dee20087d92d27aab2">  148</a></span>&#160;    uint16_t    wIndex;         </div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="../../db/d7b/a00296.html#aed13e15136df440fc2dd200db37b9491">  150</a></span>&#160;    uint16_t    wLength;        </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="../../db/d7b/a00296.html#a2ed43a4022c10d426f1149fcea6cb53b">  152</a></span>&#160;    uint8_t     data[];         </div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;} <a class="code" href="../../db/d7b/a00296.html">usbd_ctlreq</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="../../db/d7b/a00296.html#acdf5da9bf9512bfe2571bf0187f6d776">  154</a></span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordtype">void</span>        *data_buf;      </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html">  158</a></span>&#160;    <span class="keywordtype">void</span>        *data_ptr;      </div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#a3858938f2b526aca478de661fb25fb81">  159</a></span>&#160;    uint16_t    data_count;     </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#a5497cd2e2c9a909e45584de4602bdc34">  160</a></span>&#160;    uint16_t    data_maxsize;   </div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#a58325268662e32349519a0e38c66d102">  161</a></span>&#160;    uint8_t     ep0size;        </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#aa41022486f5ffc375a88735bd1fe11d2">  162</a></span>&#160;    uint8_t     device_cfg;     </div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#a4d14dde90d142bb92de3c7cd8567cdfc">  163</a></span>&#160;    uint8_t     device_state;   </div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#a4399adc4353b4780cfe9525a86e56347">  164</a></span>&#160;    uint8_t     control_state;  </div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#ad99a002cf309fce17b19538285a6a7fb">  165</a></span>&#160;} <a class="code" href="../../db/da2/a00300.html">usbd_status</a>;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="../../db/da2/a00300.html#a747a059fe57b0c857f08a003bf82b69d">  166</a></span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a>)(usbd_device *dev, uint8_t event, uint8_t ep);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a>)(usbd_device *dev, <a class="code" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keyword">typedef</span> <a class="code" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a> (*<a class="code" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a>)(usbd_device *dev, <a class="code" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req, <a class="code" href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a> *callback);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">typedef</span> <a class="code" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a> (*<a class="code" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a>)(<a class="code" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req, <span class="keywordtype">void</span> **address, uint16_t *dsize);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keyword">typedef</span> <a class="code" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a> (*<a class="code" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a>)(usbd_device *dev, uint8_t cfg);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">typedef</span> uint32_t (*<a class="code" href="../../d5/d1e/a00103.html#ga9a3d5b843f2cefc83d90a8da3151b3e8">usbd_hw_getinfo</a>)(void);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d5/d1e/a00103.html#ga521e6e03cdee1a357298e3f851698cf5">usbd_hw_enable</a>)(<span class="keywordtype">bool</span> enable);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="keyword">typedef</span> uint8_t (*<a class="code" href="../../d5/d1e/a00103.html#ga51ab95cc32891731c1ff52acd088d374">usbd_hw_connect</a>)(<span class="keywordtype">bool</span> connect);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d5/d1e/a00103.html#ga0dfb3a13355c4775e0e1681d76585bdf">usbd_hw_setaddr</a>)(uint8_t address);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="keyword">typedef</span> bool (*<a class="code" href="../../d5/d1e/a00103.html#ga56dcaff98bac6a4c564bab6825f12da3">usbd_hw_ep_config</a>)(uint8_t ep, uint8_t eptype, uint16_t epsize);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d5/d1e/a00103.html#ga9322c08c36d05121e7d998e1345fe46e">usbd_hw_ep_deconfig</a>)(uint8_t ep);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keyword">typedef</span> int32_t (*<a class="code" href="../../d5/d1e/a00103.html#ga1488f8a6dee0c985f5abd38396b3a867">usbd_hw_ep_read</a>)(uint8_t ep, <span class="keywordtype">void</span> *buf, uint16_t blen);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="keyword">typedef</span> int32_t (*<a class="code" href="../../d5/d1e/a00103.html#ga17f18cf2982e5a482a39603a4dd64f03">usbd_hw_ep_write</a>)(uint8_t ep, <span class="keywordtype">void</span> *buf, uint16_t blen);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d5/d1e/a00103.html#gab728331c31cfbd74d48606fe754f664b">usbd_hw_ep_setstall</a>)(uint8_t ep, <span class="keywordtype">bool</span> stall);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">typedef</span> bool (*<a class="code" href="../../d5/d1e/a00103.html#ga0d66682a43cc9a4a4657bae7b37d1721">usbd_hw_ep_isstalled</a>)(uint8_t ep);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="../../d5/d1e/a00103.html#gad661412e0f66de317eea9c3784629096">usbd_hw_poll</a>)(usbd_device *dev, <a class="code" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> callback);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="keyword">typedef</span> uint16_t (*<a class="code" href="../../d5/d1e/a00103.html#gac4c9def5578968e903439f15bc64ab5b">usbd_hw_get_frameno</a>)(void);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="../../d5/d1e/a00103.html#gac4c9def5578968e903439f15bc64ab5b">  297</a></span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">typedef</span> uint16_t (*<a class="code" href="../../d5/d1e/a00103.html#ga521aa5ada654934cb97e12d73a315030">usbd_hw_get_serialno</a>)(<span class="keywordtype">void</span> *buffer);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d8/d17/a00304.html">usbd_driver</a> {</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga9a3d5b843f2cefc83d90a8da3151b3e8">usbd_hw_getinfo</a>         getinfo;            </div><div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html">  307</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga521e6e03cdee1a357298e3f851698cf5">usbd_hw_enable</a>          enable;             </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#a120c65f705b6324d6bf86387301b84c1">  308</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga51ab95cc32891731c1ff52acd088d374">usbd_hw_connect</a>         connect;            </div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#aa2ff86011aadc305de6fc0e7dad3fb0d">  309</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga0dfb3a13355c4775e0e1681d76585bdf">usbd_hw_setaddr</a>         setaddr;            </div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#a0fada49940e6a124eeaa8fccdd6af7d8">  310</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga56dcaff98bac6a4c564bab6825f12da3">usbd_hw_ep_config</a>       ep_config;          </div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#ab9dcf925eac960e40dd84173fd0cc140">  311</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga9322c08c36d05121e7d998e1345fe46e">usbd_hw_ep_deconfig</a>     ep_deconfig;        </div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#af82fea4edefd615fc44103834bd99f55">  312</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga1488f8a6dee0c985f5abd38396b3a867">usbd_hw_ep_read</a>         ep_read;            </div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#ad540208811726121c69af62eb8488cb5">  313</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga17f18cf2982e5a482a39603a4dd64f03">usbd_hw_ep_write</a>        ep_write;           </div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#a2138238b87c35d50b12c912cb321d6fd">  314</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#gab728331c31cfbd74d48606fe754f664b">usbd_hw_ep_setstall</a>     ep_setstall;        </div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#ad6efbf9b639ed4774eb641ca6b7b406e">  315</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga0d66682a43cc9a4a4657bae7b37d1721">usbd_hw_ep_isstalled</a>    ep_isstalled;       </div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#a81e491d8b093017a58dd25985cf10279">  316</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#gad661412e0f66de317eea9c3784629096">usbd_hw_poll</a>            poll;               </div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#af39e2c81c0a3b6e10314c75fd788c8b4">  317</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#gac4c9def5578968e903439f15bc64ab5b">usbd_hw_get_frameno</a>     frame_no;           </div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#ac484a3f7f2a5c5fe1408b2e8ab916e3a">  318</a></span>&#160;    <a class="code" href="../../d5/d1e/a00103.html#ga521aa5ada654934cb97e12d73a315030">usbd_hw_get_serialno</a>    get_serialno_desc;  </div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#ad888231679960970839a7f909b6445d1">  319</a></span>&#160;};</div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="../../d8/d17/a00304.html#a510769363d195609bd86968e6a4a1f92">  320</a></span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/d0f/a00308.html">_usbd_device</a> {</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="../../d8/d17/a00304.html">usbd_driver</a>    *<a class="code" href="../../d5/d0f/a00308.html#a01a7b4ca4263bcc396148a3a842a1a60">driver</a>;                </div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html">  329</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a>           <a class="code" href="../../d5/d0f/a00308.html#a3c9492abdca9472e1849424bccb25949">control_callback</a>;       </div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#a01a7b4ca4263bcc396148a3a842a1a60">  330</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a>           <a class="code" href="../../d5/d0f/a00308.html#ac347ceb62000ffe91295a17327a0c147">complete_callback</a>;      </div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#a3c9492abdca9472e1849424bccb25949">  331</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a>           <a class="code" href="../../d5/d0f/a00308.html#a1d23b803531b51295330432b830db43e">config_callback</a>;        </div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#ac347ceb62000ffe91295a17327a0c147">  332</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a>           <a class="code" href="../../d5/d0f/a00308.html#a6130fec453b6b16bf62ec780d948a579">descriptor_callback</a>;    </div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#a1d23b803531b51295330432b830db43e">  333</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a>           <a class="code" href="../../d5/d0f/a00308.html#afd45fcc08a9a15089fed779b5f15b257">events</a>[usbd_evt_count]; </div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#a6130fec453b6b16bf62ec780d948a579">  334</a></span>&#160;    <a class="code" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a>           <a class="code" href="../../d5/d0f/a00308.html#a8ace5b102b3936ffaa145fe6ddc21c51">endpoint</a>[8];            </div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#afd45fcc08a9a15089fed779b5f15b257">  335</a></span>&#160;    <a class="code" href="../../db/da2/a00300.html">usbd_status</a>                 <a class="code" href="../../d5/d0f/a00308.html#a65517cf504759026df2e759697a44456">status</a>;                 </div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#a8ace5b102b3936ffaa145fe6ddc21c51">  336</a></span>&#160;};</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="../../d5/d0f/a00308.html#a65517cf504759026df2e759697a44456">  337</a></span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga32f29b38819f95a081c4b8e5901090bb">usbd_init</a>(usbd_device *dev, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="../../d8/d17/a00304.html">usbd_driver</a> *drv,</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                             <span class="keyword">const</span> uint8_t ep0size, uint32_t *buffer, <span class="keyword">const</span> uint16_t bsize) {</div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga32f29b38819f95a081c4b8e5901090bb">  347</a></span>&#160;    dev-&gt;driver = drv;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    dev-&gt;status.ep0size = ep0size;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    dev-&gt;status.data_ptr = buffer;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    dev-&gt;status.data_buf = buffer;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    dev-&gt;status.data_maxsize = bsize - __builtin_offsetof(<a class="code" href="../../db/d7b/a00296.html">usbd_ctlreq</a>, data);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;}</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#gae994b4f002351aea0399568a92d88c14">usbd_poll</a>(usbd_device *dev);</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#gaab0522f0d69f6b838fce7f1840f8b067">usbd_reg_control</a>(usbd_device *dev, <a class="code" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a> callback) {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    dev-&gt;control_callback = callback;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gaab0522f0d69f6b838fce7f1840f8b067">  366</a></span>&#160;}</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#gac6b42380fd5e97bbc86230c81498827f">usbd_reg_config</a>(usbd_device *dev, <a class="code" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a> callback) {</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    dev-&gt;config_callback = callback;</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gac6b42380fd5e97bbc86230c81498827f">  374</a></span>&#160;}</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#gafa5ef6dda3b942336d43aa2ba1e49f52">usbd_reg_descr</a>(usbd_device *dev, <a class="code" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a> callback) {</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    dev-&gt;descriptor_callback = callback;</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gafa5ef6dda3b942336d43aa2ba1e49f52">  382</a></span>&#160;}</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../d0/dc2/a00104.html#ga8d49025ebd29f8104e89b2bbdfd63185">usbd_ep_config</a>(usbd_device *dev, uint8_t ep, uint8_t eptype, uint16_t epsize) {</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keywordflow">return</span> dev-&gt;driver-&gt;ep_config(ep, eptype, epsize);</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga8d49025ebd29f8104e89b2bbdfd63185">  390</a></span>&#160;}</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga22b889eb0b4c8a88c0525cc1c90c83ea">usbd_ep_deconfig</a>(usbd_device *dev, uint8_t ep) {</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    dev-&gt;driver-&gt;ep_deconfig(ep);</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga22b889eb0b4c8a88c0525cc1c90c83ea">  398</a></span>&#160;}</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga03d68cf538adebd34efd3012b92da693">usbd_reg_endpoint</a>(usbd_device *dev, uint8_t ep, <a class="code" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> callback) {</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    dev-&gt;endpoint[ep &amp; 0x07] = callback;</div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga03d68cf538adebd34efd3012b92da693">  407</a></span>&#160;}</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga3b8185117daea1d28732382b5fa36ff8">usbd_reg_event</a>(usbd_device *dev, uint8_t evt, <a class="code" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> callback) {</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    dev-&gt;events[evt] = callback;</div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga3b8185117daea1d28732382b5fa36ff8">  416</a></span>&#160;}</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> int32_t <a class="code" href="../../d0/dc2/a00104.html#gaf290c740d704e94deed37f2f59094c17">usbd_ep_write</a>(usbd_device *dev, uint8_t ep, <span class="keywordtype">void</span> *buf, uint16_t blen) {</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <span class="keywordflow">return</span> dev-&gt;driver-&gt;ep_write(ep, buf, blen);</div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gaf290c740d704e94deed37f2f59094c17">  424</a></span>&#160;}</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> int32_t <a class="code" href="../../d0/dc2/a00104.html#gabce892816f191ee4588b59dbd70ed004">usbd_ep_read</a>(usbd_device *dev, uint8_t ep, <span class="keywordtype">void</span> *buf, uint16_t blen) {</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordflow">return</span> dev-&gt;driver-&gt;ep_read(ep, buf, blen);</div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gabce892816f191ee4588b59dbd70ed004">  432</a></span>&#160;}</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga62d8a32edf72dbdbb870d05e7e4017f7">usbd_ep_stall</a>(usbd_device *dev, uint8_t ep) {</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    dev-&gt;driver-&gt;ep_setstall(ep, 1);</div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga62d8a32edf72dbdbb870d05e7e4017f7">  440</a></span>&#160;}</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga24b864ef84e19bcd0f815ad4242041fa">usbd_ep_unstall</a>(usbd_device *dev, uint8_t ep) {</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    dev-&gt;driver-&gt;ep_setstall(ep, 0);</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga24b864ef84e19bcd0f815ad4242041fa">  448</a></span>&#160;}</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d0/dc2/a00104.html#ga13b40f8ef25729e67a948bb036b6ce58">usbd_enable</a>(usbd_device *dev, <span class="keywordtype">bool</span> <a class="code" href="../../d8/d17/a00304.html#aa2ff86011aadc305de6fc0e7dad3fb0d">enable</a>) {</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    dev-&gt;driver-&gt;enable(enable);</div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga13b40f8ef25729e67a948bb036b6ce58">  456</a></span>&#160;}</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> uint8_t <a class="code" href="../../d0/dc2/a00104.html#ga9574c807b4052ab5f34290b1afb00065">usbd_connect</a>(usbd_device *dev, <span class="keywordtype">bool</span> <a class="code" href="../../d8/d17/a00304.html#a0fada49940e6a124eeaa8fccdd6af7d8">connect</a>) {</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keywordflow">return</span> dev-&gt;driver-&gt;connect(connect);</div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#ga9574c807b4052ab5f34290b1afb00065">  465</a></span>&#160;}</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="keyword">inline</span> <span class="keyword">static</span> uint32_t <a class="code" href="../../d0/dc2/a00104.html#gac64fb60affe8b2fe6253e6ebe5fe9525">usbd_getinfo</a>(usbd_device *dev) {</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keywordflow">return</span> dev-&gt;driver-&gt;getinfo();</div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="../../d0/dc2/a00104.html#gac64fb60affe8b2fe6253e6ebe5fe9525">  471</a></span>&#160;}</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">#endif //(__ASSEMBLER__)</span></div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">#if defined(__cplusplus)</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    }</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">#endif //_USBD_STD_H_</span></div><div class="ttc" id="a00104_html_gaab0522f0d69f6b838fce7f1840f8b067"><div class="ttname"><a href="../../d0/dc2/a00104.html#gaab0522f0d69f6b838fce7f1840f8b067">usbd_reg_control</a></div><div class="ttdeci">static void usbd_reg_control(usbd_device *dev, usbd_ctl_callback callback)</div><div class="ttdoc">Register callback for all control requests. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00366">usbd_core.h:366</a></div></div>
<div class="ttc" id="a00104_html_ga22b889eb0b4c8a88c0525cc1c90c83ea"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga22b889eb0b4c8a88c0525cc1c90c83ea">usbd_ep_deconfig</a></div><div class="ttdeci">static void usbd_ep_deconfig(usbd_device *dev, uint8_t ep)</div><div class="ttdoc">Deconfigure endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00398">usbd_core.h:398</a></div></div>
<div class="ttc" id="a00104_html_gac6b42380fd5e97bbc86230c81498827f"><div class="ttname"><a href="../../d0/dc2/a00104.html#gac6b42380fd5e97bbc86230c81498827f">usbd_reg_config</a></div><div class="ttdeci">static void usbd_reg_config(usbd_device *dev, usbd_cfg_callback callback)</div><div class="ttdoc">Register callback for SET_CONFIG control request. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00374">usbd_core.h:374</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6a77433ddfd0efda420c5aa6ccc14b8daf"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6a77433ddfd0efda420c5aa6ccc14b8daf">usbd_ctl_ztxdata</a></div><div class="ttdoc">TX stage. Transmitting DATA-IN payload. Zero length packet maybe required.. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00126">usbd_core.h:126</a></div></div>
<div class="ttc" id="a00104_html_gafa5ef6dda3b942336d43aa2ba1e49f52"><div class="ttname"><a href="../../d0/dc2/a00104.html#gafa5ef6dda3b942336d43aa2ba1e49f52">usbd_reg_descr</a></div><div class="ttdeci">static void usbd_reg_descr(usbd_device *dev, usbd_dsc_callback callback)</div><div class="ttdoc">Register callback for GET_DESCRIPTOR control request. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00382">usbd_core.h:382</a></div></div>
<div class="ttc" id="a00104_html_ga5401592e6f44b34f3f08f5fbfc75d693"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga5401592e6f44b34f3f08f5fbfc75d693">usbd_machine_state</a></div><div class="ttdeci">usbd_machine_state</div><div class="ttdoc">USB device machine states. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00113">usbd_core.h:113</a></div></div>
<div class="ttc" id="a00103_html_ga521aa5ada654934cb97e12d73a315030"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga521aa5ada654934cb97e12d73a315030">usbd_hw_get_serialno</a></div><div class="ttdeci">uint16_t(* usbd_hw_get_serialno)(void *buffer)</div><div class="ttdoc">Makes a string descriptor contains unique serial number from hardware ID&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00304">usbd_core.h:304</a></div></div>
<div class="ttc" id="a00308_html_ac347ceb62000ffe91295a17327a0c147"><div class="ttname"><a href="../../d5/d0f/a00308.html#ac347ceb62000ffe91295a17327a0c147">_usbd_device::complete_callback</a></div><div class="ttdeci">usbd_rqc_callback complete_callback</div><div class="ttdoc">USB control transfer completed callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00332">usbd_core.h:332</a></div></div>
<div class="ttc" id="a00103_html_ga9a3d5b843f2cefc83d90a8da3151b3e8"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga9a3d5b843f2cefc83d90a8da3151b3e8">usbd_hw_getinfo</a></div><div class="ttdeci">uint32_t(* usbd_hw_getinfo)(void)</div><div class="ttdoc">Get USB device status and capabilities. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00227">usbd_core.h:227</a></div></div>
<div class="ttc" id="a00308_html_a65517cf504759026df2e759697a44456"><div class="ttname"><a href="../../d5/d0f/a00308.html#a65517cf504759026df2e759697a44456">_usbd_device::status</a></div><div class="ttdeci">usbd_status status</div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00337">usbd_core.h:337</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6aef8382ffd3aa402ab3466e7af1cb7026"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6aef8382ffd3aa402ab3466e7af1cb7026">usbd_ctl_rxdata</a></div><div class="ttdoc">RX stage. Receiving DATA-OUT payload. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00124">usbd_core.h:124</a></div></div>
<div class="ttc" id="a00104_html_gga5401592e6f44b34f3f08f5fbfc75d693a21f28f602405397500ac5755ef420d87"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693a21f28f602405397500ac5755ef420d87">usbd_state_default</a></div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00116">usbd_core.h:116</a></div></div>
<div class="ttc" id="a00104_html_gac64fb60affe8b2fe6253e6ebe5fe9525"><div class="ttname"><a href="../../d0/dc2/a00104.html#gac64fb60affe8b2fe6253e6ebe5fe9525">usbd_getinfo</a></div><div class="ttdeci">static uint32_t usbd_getinfo(usbd_device *dev)</div><div class="ttdoc">Retrieves status and capabilities. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00471">usbd_core.h:471</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6ae38b5ef5939bd04435e89d680acc07c7"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ae38b5ef5939bd04435e89d680acc07c7">usbd_ctl_statusin</a></div><div class="ttdoc">STATUS-IN stage. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00130">usbd_core.h:130</a></div></div>
<div class="ttc" id="a00104_html_gae994b4f002351aea0399568a92d88c14"><div class="ttname"><a href="../../d0/dc2/a00104.html#gae994b4f002351aea0399568a92d88c14">usbd_poll</a></div><div class="ttdeci">void usbd_poll(usbd_device *dev)</div><div class="ttdoc">Polls USB for events. </div></div>
<div class="ttc" id="a00104_html_ga304c7a310c29930f3e3a0de82cb3d5da"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a></div><div class="ttdeci">usbd_respond(* usbd_dsc_callback)(usbd_ctlreq *req, void **address, uint16_t *dsize)</div><div class="ttdoc">USB get descriptor callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00209">usbd_core.h:209</a></div></div>
<div class="ttc" id="a00104_html_gga5401592e6f44b34f3f08f5fbfc75d693aa4b741eff1b346a428d12d55fa90e199"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693aa4b741eff1b346a428d12d55fa90e199">usbd_state_addressed</a></div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00117">usbd_core.h:117</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6ab38def65f71bfb910106c4f471e6d093"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ab38def65f71bfb910106c4f471e6d093">usbd_ctl_statusout</a></div><div class="ttdoc">STATUS-OUT stage. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00131">usbd_core.h:131</a></div></div>
<div class="ttc" id="a00104_html_ga69107740e936027a76fdd5e1ab951ea0"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a></div><div class="ttdeci">void(* usbd_rqc_callback)(usbd_device *dev, usbd_ctlreq *req)</div><div class="ttdoc">USB control transfer completed callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00182">usbd_core.h:182</a></div></div>
<div class="ttc" id="a00296_html"><div class="ttname"><a href="../../db/d7b/a00296.html">usbd_ctlreq</a></div><div class="ttdoc">Represents generic USB control request. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00144">usbd_core.h:144</a></div></div>
<div class="ttc" id="a00308_html_a01a7b4ca4263bcc396148a3a842a1a60"><div class="ttname"><a href="../../d5/d0f/a00308.html#a01a7b4ca4263bcc396148a3a842a1a60">_usbd_device::driver</a></div><div class="ttdeci">const struct usbd_driver * driver</div><div class="ttdoc">Represents a hardware USB driver call table. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00330">usbd_core.h:330</a></div></div>
<div class="ttc" id="a00104_html_gga0fac0b81178c584fb2baa52c8faa49f2ad3ad0fc956590b793ccc6b84a0485b28"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2ad3ad0fc956590b793ccc6b84a0485b28">usbd_fail</a></div><div class="ttdoc">Function has an error, STALLPID will be issued. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00136">usbd_core.h:136</a></div></div>
<div class="ttc" id="a00104_html_ga0fac0b81178c584fb2baa52c8faa49f2"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a></div><div class="ttdeci">usbd_respond</div><div class="ttdoc">Reporting status results. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00135">usbd_core.h:135</a></div></div>
<div class="ttc" id="a00104_html_gabce892816f191ee4588b59dbd70ed004"><div class="ttname"><a href="../../d0/dc2/a00104.html#gabce892816f191ee4588b59dbd70ed004">usbd_ep_read</a></div><div class="ttdeci">static int32_t usbd_ep_read(usbd_device *dev, uint8_t ep, void *buf, uint16_t blen)</div><div class="ttdoc">Read data from endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00432">usbd_core.h:432</a></div></div>
<div class="ttc" id="a00103_html_ga1488f8a6dee0c985f5abd38396b3a867"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga1488f8a6dee0c985f5abd38396b3a867">usbd_hw_ep_read</a></div><div class="ttdeci">int32_t(* usbd_hw_ep_read)(uint8_t ep, void *buf, uint16_t blen)</div><div class="ttdoc">Reads data from OUT or control endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00267">usbd_core.h:267</a></div></div>
<div class="ttc" id="a00304_html_aa2ff86011aadc305de6fc0e7dad3fb0d"><div class="ttname"><a href="../../d8/d17/a00304.html#aa2ff86011aadc305de6fc0e7dad3fb0d">usbd_driver::enable</a></div><div class="ttdeci">usbd_hw_enable enable</div><div class="ttdoc">Enables or disables USB hardware. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00309">usbd_core.h:309</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6acd768bd9a31560eff928ecbbf0ef4344"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6acd768bd9a31560eff928ecbbf0ef4344">usbd_ctl_idle</a></div><div class="ttdoc">Idle stage. Awaiting for SETUP packet. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00123">usbd_core.h:123</a></div></div>
<div class="ttc" id="a00104_html_gga0fac0b81178c584fb2baa52c8faa49f2aa2908dddecd599d265c626356aea8f46"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2aa2908dddecd599d265c626356aea8f46">usbd_nak</a></div><div class="ttdoc">Function is busy. NAK handshake. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00138">usbd_core.h:138</a></div></div>
<div class="ttc" id="a00103_html_ga17f18cf2982e5a482a39603a4dd64f03"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga17f18cf2982e5a482a39603a4dd64f03">usbd_hw_ep_write</a></div><div class="ttdeci">int32_t(* usbd_hw_ep_write)(uint8_t ep, void *buf, uint16_t blen)</div><div class="ttdoc">Writes data to IN or control endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00275">usbd_core.h:275</a></div></div>
<div class="ttc" id="a00103_html_ga56dcaff98bac6a4c564bab6825f12da3"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga56dcaff98bac6a4c564bab6825f12da3">usbd_hw_ep_config</a></div><div class="ttdeci">bool(* usbd_hw_ep_config)(uint8_t ep, uint8_t eptype, uint16_t epsize)</div><div class="ttdoc">Configures endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00251">usbd_core.h:251</a></div></div>
<div class="ttc" id="a00300_html"><div class="ttname"><a href="../../db/da2/a00300.html">usbd_status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00158">usbd_core.h:158</a></div></div>
<div class="ttc" id="a00104_html_ga24b864ef84e19bcd0f815ad4242041fa"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga24b864ef84e19bcd0f815ad4242041fa">usbd_ep_unstall</a></div><div class="ttdeci">static void usbd_ep_unstall(usbd_device *dev, uint8_t ep)</div><div class="ttdoc">Unstall endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00448">usbd_core.h:448</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6abc01743314c52bb898074373d780b9e5"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6abc01743314c52bb898074373d780b9e5">usbd_ctl_lastdata</a></div><div class="ttdoc">TX stage. Last DATA-IN packed passed to buffer. Awaiting for the TX completion. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00128">usbd_core.h:128</a></div></div>
<div class="ttc" id="a00104_html_ga3aca852c36615e7fa9b6440f021240f6"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga3aca852c36615e7fa9b6440f021240f6">usbd_ctl_state</a></div><div class="ttdeci">usbd_ctl_state</div><div class="ttdoc">USB device control endpoint machine state. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00122">usbd_core.h:122</a></div></div>
<div class="ttc" id="a00104_html_ga9574c807b4052ab5f34290b1afb00065"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga9574c807b4052ab5f34290b1afb00065">usbd_connect</a></div><div class="ttdeci">static uint8_t usbd_connect(usbd_device *dev, bool connect)</div><div class="ttdoc">Connects or disconnects USB hardware to/from usb host. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00465">usbd_core.h:465</a></div></div>
<div class="ttc" id="a00104_html_ga13b40f8ef25729e67a948bb036b6ce58"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga13b40f8ef25729e67a948bb036b6ce58">usbd_enable</a></div><div class="ttdeci">static void usbd_enable(usbd_device *dev, bool enable)</div><div class="ttdoc">Enables or disables USB hardware. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00456">usbd_core.h:456</a></div></div>
<div class="ttc" id="a00308_html_afd45fcc08a9a15089fed779b5f15b257"><div class="ttname"><a href="../../d5/d0f/a00308.html#afd45fcc08a9a15089fed779b5f15b257">_usbd_device::events</a></div><div class="ttdeci">usbd_evt_callback events[usbd_evt_count]</div><div class="ttdoc">array of the event callbacks. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00335">usbd_core.h:335</a></div></div>
<div class="ttc" id="a00103_html_gad661412e0f66de317eea9c3784629096"><div class="ttname"><a href="../../d5/d1e/a00103.html#gad661412e0f66de317eea9c3784629096">usbd_hw_poll</a></div><div class="ttdeci">void(* usbd_hw_poll)(usbd_device *dev, usbd_evt_callback callback)</div><div class="ttdoc">Polls USB hardware for the events. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00294">usbd_core.h:294</a></div></div>
<div class="ttc" id="a00103_html_ga0d66682a43cc9a4a4657bae7b37d1721"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga0d66682a43cc9a4a4657bae7b37d1721">usbd_hw_ep_isstalled</a></div><div class="ttdeci">bool(* usbd_hw_ep_isstalled)(uint8_t ep)</div><div class="ttdoc">Checks endpoint for stalled state. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00288">usbd_core.h:288</a></div></div>
<div class="ttc" id="a00104_html_ga666d9b86915fa7981c64c6d72a7cc5ea"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a></div><div class="ttdeci">usbd_respond(* usbd_cfg_callback)(usbd_device *dev, uint8_t cfg)</div><div class="ttdoc">USB set configuration callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00218">usbd_core.h:218</a></div></div>
<div class="ttc" id="a00103_html_ga9322c08c36d05121e7d998e1345fe46e"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga9322c08c36d05121e7d998e1345fe46e">usbd_hw_ep_deconfig</a></div><div class="ttdeci">void(* usbd_hw_ep_deconfig)(uint8_t ep)</div><div class="ttdoc">De-configures, cleans and disables endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00258">usbd_core.h:258</a></div></div>
<div class="ttc" id="a00104_html_gga3aca852c36615e7fa9b6440f021240f6ac9e4174a590a9f7484286f17e126a9ac"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga3aca852c36615e7fa9b6440f021240f6ac9e4174a590a9f7484286f17e126a9ac">usbd_ctl_txdata</a></div><div class="ttdoc">TX stage. Transmitting DATA-IN payload. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00125">usbd_core.h:125</a></div></div>
<div class="ttc" id="a00104_html_gga5401592e6f44b34f3f08f5fbfc75d693a61b7bd62db86e10c25c3d10ed3d32ad7"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga5401592e6f44b34f3f08f5fbfc75d693a61b7bd62db86e10c25c3d10ed3d32ad7">usbd_state_configured</a></div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00118">usbd_core.h:118</a></div></div>
<div class="ttc" id="a00104_html_ga3b8185117daea1d28732382b5fa36ff8"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga3b8185117daea1d28732382b5fa36ff8">usbd_reg_event</a></div><div class="ttdeci">static void usbd_reg_event(usbd_device *dev, uint8_t evt, usbd_evt_callback callback)</div><div class="ttdoc">Registers event callback. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00416">usbd_core.h:416</a></div></div>
<div class="ttc" id="a00104_html_ga32f29b38819f95a081c4b8e5901090bb"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga32f29b38819f95a081c4b8e5901090bb">usbd_init</a></div><div class="ttdeci">static void usbd_init(usbd_device *dev, const struct usbd_driver *drv, const uint8_t ep0size, uint32_t *buffer, const uint16_t bsize)</div><div class="ttdoc">Initializes device structure. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00347">usbd_core.h:347</a></div></div>
<div class="ttc" id="a00308_html"><div class="ttname"><a href="../../d5/d0f/a00308.html">_usbd_device</a></div><div class="ttdoc">Represents a USB device data. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00329">usbd_core.h:329</a></div></div>
<div class="ttc" id="a00104_html_ga03d68cf538adebd34efd3012b92da693"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga03d68cf538adebd34efd3012b92da693">usbd_reg_endpoint</a></div><div class="ttdeci">static void usbd_reg_endpoint(usbd_device *dev, uint8_t ep, usbd_evt_callback callback)</div><div class="ttdoc">Register endpoint callback. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00407">usbd_core.h:407</a></div></div>
<div class="ttc" id="a00304_html_a0fada49940e6a124eeaa8fccdd6af7d8"><div class="ttname"><a href="../../d8/d17/a00304.html#a0fada49940e6a124eeaa8fccdd6af7d8">usbd_driver::connect</a></div><div class="ttdeci">usbd_hw_connect connect</div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00310">usbd_core.h:310</a></div></div>
<div class="ttc" id="a00104_html_ga24325482daef183b8d3048cec1d3babe"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a></div><div class="ttdeci">usbd_respond(* usbd_ctl_callback)(usbd_device *dev, usbd_ctlreq *req, usbd_rqc_callback *callback)</div><div class="ttdoc">USB control callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00199">usbd_core.h:199</a></div></div>
<div class="ttc" id="a00104_html_ga8d49025ebd29f8104e89b2bbdfd63185"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga8d49025ebd29f8104e89b2bbdfd63185">usbd_ep_config</a></div><div class="ttdeci">static bool usbd_ep_config(usbd_device *dev, uint8_t ep, uint8_t eptype, uint16_t epsize)</div><div class="ttdoc">Configure endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00390">usbd_core.h:390</a></div></div>
<div class="ttc" id="a00308_html_a3c9492abdca9472e1849424bccb25949"><div class="ttname"><a href="../../d5/d0f/a00308.html#a3c9492abdca9472e1849424bccb25949">_usbd_device::control_callback</a></div><div class="ttdeci">usbd_ctl_callback control_callback</div><div class="ttdoc">USB control callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00331">usbd_core.h:331</a></div></div>
<div class="ttc" id="a00104_html_gaf290c740d704e94deed37f2f59094c17"><div class="ttname"><a href="../../d0/dc2/a00104.html#gaf290c740d704e94deed37f2f59094c17">usbd_ep_write</a></div><div class="ttdeci">static int32_t usbd_ep_write(usbd_device *dev, uint8_t ep, void *buf, uint16_t blen)</div><div class="ttdoc">Write data to endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00424">usbd_core.h:424</a></div></div>
<div class="ttc" id="a00104_html_ga62d8a32edf72dbdbb870d05e7e4017f7"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga62d8a32edf72dbdbb870d05e7e4017f7">usbd_ep_stall</a></div><div class="ttdeci">static void usbd_ep_stall(usbd_device *dev, uint8_t ep)</div><div class="ttdoc">Stall endpoint. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00440">usbd_core.h:440</a></div></div>
<div class="ttc" id="a00304_html"><div class="ttname"><a href="../../d8/d17/a00304.html">usbd_driver</a></div><div class="ttdoc">Represents a hardware USB driver call table. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00307">usbd_core.h:307</a></div></div>
<div class="ttc" id="a00103_html_ga521e6e03cdee1a357298e3f851698cf5"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga521e6e03cdee1a357298e3f851698cf5">usbd_hw_enable</a></div><div class="ttdeci">void(* usbd_hw_enable)(bool enable)</div><div class="ttdoc">Enables or disables USB hardware. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00232">usbd_core.h:232</a></div></div>
<div class="ttc" id="a00308_html_a8ace5b102b3936ffaa145fe6ddc21c51"><div class="ttname"><a href="../../d5/d0f/a00308.html#a8ace5b102b3936ffaa145fe6ddc21c51">_usbd_device::endpoint</a></div><div class="ttdeci">usbd_evt_callback endpoint[8]</div><div class="ttdoc">array of the endpoint callbacks. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00336">usbd_core.h:336</a></div></div>
<div class="ttc" id="a00104_html_ga2992d1e12544a788bf2e1d774d68f3f7"><div class="ttname"><a href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a></div><div class="ttdeci">void(* usbd_evt_callback)(usbd_device *dev, uint8_t event, uint8_t ep)</div><div class="ttdoc">Generic USB device event callback for events and endpoints processing. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00175">usbd_core.h:175</a></div></div>
<div class="ttc" id="a00308_html_a1d23b803531b51295330432b830db43e"><div class="ttname"><a href="../../d5/d0f/a00308.html#a1d23b803531b51295330432b830db43e">_usbd_device::config_callback</a></div><div class="ttdeci">usbd_cfg_callback config_callback</div><div class="ttdoc">USB set configuration callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00333">usbd_core.h:333</a></div></div>
<div class="ttc" id="a00103_html_gac4c9def5578968e903439f15bc64ab5b"><div class="ttname"><a href="../../d5/d1e/a00103.html#gac4c9def5578968e903439f15bc64ab5b">usbd_hw_get_frameno</a></div><div class="ttdeci">uint16_t(* usbd_hw_get_frameno)(void)</div><div class="ttdoc">Gets frame number from usb hardware. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00297">usbd_core.h:297</a></div></div>
<div class="ttc" id="a00103_html_ga0dfb3a13355c4775e0e1681d76585bdf"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga0dfb3a13355c4775e0e1681d76585bdf">usbd_hw_setaddr</a></div><div class="ttdeci">void(* usbd_hw_setaddr)(uint8_t address)</div><div class="ttdoc">Sets USB hardware address. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00243">usbd_core.h:243</a></div></div>
<div class="ttc" id="a00103_html_ga51ab95cc32891731c1ff52acd088d374"><div class="ttname"><a href="../../d5/d1e/a00103.html#ga51ab95cc32891731c1ff52acd088d374">usbd_hw_connect</a></div><div class="ttdeci">uint8_t(* usbd_hw_connect)(bool connect)</div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00238">usbd_core.h:238</a></div></div>
<div class="ttc" id="a00104_html_gga0fac0b81178c584fb2baa52c8faa49f2af67773b99f1ceccf0a194ac42aa51f00"><div class="ttname"><a href="../../d0/dc2/a00104.html#gga0fac0b81178c584fb2baa52c8faa49f2af67773b99f1ceccf0a194ac42aa51f00">usbd_ack</a></div><div class="ttdoc">Function completes request accepted ZLP or data will be send. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00137">usbd_core.h:137</a></div></div>
<div class="ttc" id="a00308_html_a6130fec453b6b16bf62ec780d948a579"><div class="ttname"><a href="../../d5/d0f/a00308.html#a6130fec453b6b16bf62ec780d948a579">_usbd_device::descriptor_callback</a></div><div class="ttdeci">usbd_dsc_callback descriptor_callback</div><div class="ttdoc">USB get descriptor callback function. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00334">usbd_core.h:334</a></div></div>
<div class="ttc" id="a00103_html_gab728331c31cfbd74d48606fe754f664b"><div class="ttname"><a href="../../d5/d1e/a00103.html#gab728331c31cfbd74d48606fe754f664b">usbd_hw_ep_setstall</a></div><div class="ttdeci">void(* usbd_hw_ep_setstall)(uint8_t ep, bool stall)</div><div class="ttdef"><b>Definition:</b> <a href="../../db/db6/a00074_source.html#l00282">usbd_core.h:282</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_bfccd401955b95cf8c75461437045ac0.html">inc</a></li><li class="navelem"><b>usbd_core.h</b></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>