| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573 |
- <!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: USB Standard</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
-  <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('da/d74/a00099.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="summary">
- <a href="#groups">Modules</a> |
- <a href="#nested-classes">Data Structures</a> </div>
- <div class="headertitle">
- <div class="title">USB Standard</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>This module contains generic USB device framework definitions.
- <a href="#details">More...</a></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
- Modules</h2></td></tr>
- <tr class="memitem:d0/d61/a00100"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d61/a00100.html">USB standard LANGID codes</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
- Data Structures</h2></td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/ddf/a00224.html">usb_header_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">common USB descriptor header <a href="../../d5/ddf/a00224.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc2/a00228.html">usb_device_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a USB device descriptor. <a href="../../de/dc2/a00228.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d53/a00232.html">usb_qualifier_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB device qualifier descriptor. <a href="../../d0/d53/a00232.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d40/a00236.html">usb_config_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB device configuration descriptor. <a href="../../d7/d40/a00236.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d21/a00240.html">usb_interface_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB interface descriptor. <a href="../../d9/d21/a00240.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d08/a00244.html">usb_iad_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB interface association descriptor. <a href="../../d6/d08/a00244.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dd7/a00248.html">usb_endpoint_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB endpoint descriptor. <a href="../../dd/dd7/a00248.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/ded/a00252.html">usb_string_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB string descriptor. <a href="../../dc/ded/a00252.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/def/a00256.html">usb_debug_descriptor</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">USB debug descriptor. <a href="../../d0/def/a00256.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- Utility functional macros</h2></td></tr>
- <tr class="memitem:ga63eb203f5f5e37dc55157680549c656c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga63eb203f5f5e37dc55157680549c656c">VERSION_BCD</a>(maj, min, rev)   (((maj & 0xFF) << 8) | ((min & 0x0F) << 4) | (rev & 0x0F))</td></tr>
- <tr class="separator:ga63eb203f5f5e37dc55157680549c656c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga872cd80ad22caad26fe45fe2182645d4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga872cd80ad22caad26fe45fe2182645d4">USB_ARRAY_DESC</a>(...)</td></tr>
- <tr class="separator:ga872cd80ad22caad26fe45fe2182645d4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga362afc1ada1c8cbeca04329e99c2e8f9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga362afc1ada1c8cbeca04329e99c2e8f9">USB_STRING_DESC</a>(s)</td></tr>
- <tr class="separator:ga362afc1ada1c8cbeca04329e99c2e8f9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga7b68661c679b3b44dfed37455fff2dde"><td class="memItemLeft" align="right" valign="top"><a id="ga7b68661c679b3b44dfed37455fff2dde"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga7b68661c679b3b44dfed37455fff2dde">USB_CFG_POWER_MA</a>(mA)   ((mA) >> 1)</td></tr>
- <tr class="memdesc:ga7b68661c679b3b44dfed37455fff2dde"><td class="mdescLeft"> </td><td class="mdescRight">Macro to set мaximum power consumption field for the <a class="el" href="../../d7/d40/a00236.html">usb_config_descriptor</a>. <br /></td></tr>
- <tr class="separator:ga7b68661c679b3b44dfed37455fff2dde"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB device configuration definitions</h2></td></tr>
- <tr class="memitem:ga99e305e78b1ab7c4a5a4f707b37b44bc"><td class="memItemLeft" align="right" valign="top"><a id="ga99e305e78b1ab7c4a5a4f707b37b44bc"></a>
- #define </td><td class="memItemRight" valign="bottom"><b>USB_CFG_ATTR_RESERVED</b>   0x80</td></tr>
- <tr class="separator:ga99e305e78b1ab7c4a5a4f707b37b44bc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9ddd89dfca67de15c1d38c2ae0f9bd80"><td class="memItemLeft" align="right" valign="top"><a id="ga9ddd89dfca67de15c1d38c2ae0f9bd80"></a>
- #define </td><td class="memItemRight" valign="bottom"><b>USB_CFG_ATTR_SELFPOWERED</b>   0x40</td></tr>
- <tr class="separator:ga9ddd89dfca67de15c1d38c2ae0f9bd80"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB endpoint attributes definitions</h2></td></tr>
- <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6b4c30cbf6a5770dc29fde4cba19da41"></a><a class="anchor" id="USB_ENDPOINT_DEF"></a></p>
- </td></tr>
- <tr class="memitem:gaf97b4b6b7cfda4ecf08ce1172b4be451"><td class="memItemLeft" align="right" valign="top"><a id="gaf97b4b6b7cfda4ecf08ce1172b4be451"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaf97b4b6b7cfda4ecf08ce1172b4be451">USB_EPDIR_IN</a>   0x00</td></tr>
- <tr class="memdesc:gaf97b4b6b7cfda4ecf08ce1172b4be451"><td class="mdescLeft"> </td><td class="mdescRight">Host-to-device endpoint direction. <br /></td></tr>
- <tr class="separator:gaf97b4b6b7cfda4ecf08ce1172b4be451"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga51a142fba352a184c600e68190f4ef09"><td class="memItemLeft" align="right" valign="top"><a id="ga51a142fba352a184c600e68190f4ef09"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga51a142fba352a184c600e68190f4ef09">USB_EPDIR_OUT</a>   0x80</td></tr>
- <tr class="memdesc:ga51a142fba352a184c600e68190f4ef09"><td class="mdescLeft"> </td><td class="mdescRight">Device-to-host endpoint direction. <br /></td></tr>
- <tr class="separator:ga51a142fba352a184c600e68190f4ef09"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gad21ccfa9002cb22958cd5a38682114ee"><td class="memItemLeft" align="right" valign="top"><a id="gad21ccfa9002cb22958cd5a38682114ee"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gad21ccfa9002cb22958cd5a38682114ee">USB_EPTYPE_CONTROL</a>   0x00</td></tr>
- <tr class="memdesc:gad21ccfa9002cb22958cd5a38682114ee"><td class="mdescLeft"> </td><td class="mdescRight">Control endpoint. <br /></td></tr>
- <tr class="separator:gad21ccfa9002cb22958cd5a38682114ee"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga87bcf2bb75709226f08268be4d472c7a"><td class="memItemLeft" align="right" valign="top"><a id="ga87bcf2bb75709226f08268be4d472c7a"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga87bcf2bb75709226f08268be4d472c7a">USB_EPTYPE_ISOCHRONUS</a>   0x01</td></tr>
- <tr class="memdesc:ga87bcf2bb75709226f08268be4d472c7a"><td class="mdescLeft"> </td><td class="mdescRight">Isochronous endpoint. <br /></td></tr>
- <tr class="separator:ga87bcf2bb75709226f08268be4d472c7a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2e0da3e7ed8f844ab9322b6cf5b5a84b"><td class="memItemLeft" align="right" valign="top"><a id="ga2e0da3e7ed8f844ab9322b6cf5b5a84b"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga2e0da3e7ed8f844ab9322b6cf5b5a84b">USB_EPTYPE_BULK</a>   0x02</td></tr>
- <tr class="memdesc:ga2e0da3e7ed8f844ab9322b6cf5b5a84b"><td class="mdescLeft"> </td><td class="mdescRight">Bbulk endpoint. <br /></td></tr>
- <tr class="separator:ga2e0da3e7ed8f844ab9322b6cf5b5a84b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gade4942219a9d3206c31adf64bc72ba71"><td class="memItemLeft" align="right" valign="top"><a id="gade4942219a9d3206c31adf64bc72ba71"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gade4942219a9d3206c31adf64bc72ba71">USB_EPTYPE_INTERRUPT</a>   0x03</td></tr>
- <tr class="memdesc:gade4942219a9d3206c31adf64bc72ba71"><td class="mdescLeft"> </td><td class="mdescRight">Interrupt endpoint. <br /></td></tr>
- <tr class="separator:gade4942219a9d3206c31adf64bc72ba71"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga782f6de3a1fe7f7087882663d0f314f8"><td class="memItemLeft" align="right" valign="top"><a id="ga782f6de3a1fe7f7087882663d0f314f8"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga782f6de3a1fe7f7087882663d0f314f8">USB_EPATTR_NO_SYNC</a>   0x00</td></tr>
- <tr class="memdesc:ga782f6de3a1fe7f7087882663d0f314f8"><td class="mdescLeft"> </td><td class="mdescRight">No synchronization. <br /></td></tr>
- <tr class="separator:ga782f6de3a1fe7f7087882663d0f314f8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4ca5965884c1ea94cdeedaa50d2cab11"><td class="memItemLeft" align="right" valign="top"><a id="ga4ca5965884c1ea94cdeedaa50d2cab11"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga4ca5965884c1ea94cdeedaa50d2cab11">USB_EPATTR_ASYNC</a>   0x04</td></tr>
- <tr class="memdesc:ga4ca5965884c1ea94cdeedaa50d2cab11"><td class="mdescLeft"> </td><td class="mdescRight">Asynchronous endpoint. <br /></td></tr>
- <tr class="separator:ga4ca5965884c1ea94cdeedaa50d2cab11"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab02aee2779e7783f4292560f942ce2c6"><td class="memItemLeft" align="right" valign="top"><a id="gab02aee2779e7783f4292560f942ce2c6"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gab02aee2779e7783f4292560f942ce2c6">USB_EPATTR_ADAPTIVE</a>   0x08</td></tr>
- <tr class="memdesc:gab02aee2779e7783f4292560f942ce2c6"><td class="mdescLeft"> </td><td class="mdescRight">Adaptive endpoint. <br /></td></tr>
- <tr class="separator:gab02aee2779e7783f4292560f942ce2c6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac5b7635e12514f6acba6a29f72e7cbbe"><td class="memItemLeft" align="right" valign="top"><a id="gac5b7635e12514f6acba6a29f72e7cbbe"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gac5b7635e12514f6acba6a29f72e7cbbe">USB_EPATTR_SYNC</a>   0x0C</td></tr>
- <tr class="memdesc:gac5b7635e12514f6acba6a29f72e7cbbe"><td class="mdescLeft"> </td><td class="mdescRight">Synchronous endpoint. <br /></td></tr>
- <tr class="separator:gac5b7635e12514f6acba6a29f72e7cbbe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6305caac69f911af7d3f642916db6739"><td class="memItemLeft" align="right" valign="top"><a id="ga6305caac69f911af7d3f642916db6739"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga6305caac69f911af7d3f642916db6739">USB_EPUSAGE_DATA</a>   0x00</td></tr>
- <tr class="memdesc:ga6305caac69f911af7d3f642916db6739"><td class="mdescLeft"> </td><td class="mdescRight">Data endpoint. <br /></td></tr>
- <tr class="separator:ga6305caac69f911af7d3f642916db6739"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga18284e16d696647a8fcbc71697cc217c"><td class="memItemLeft" align="right" valign="top"><a id="ga18284e16d696647a8fcbc71697cc217c"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga18284e16d696647a8fcbc71697cc217c">USB_EPUSAGE_FEEDBACK</a>   0x10</td></tr>
- <tr class="memdesc:ga18284e16d696647a8fcbc71697cc217c"><td class="mdescLeft"> </td><td class="mdescRight">Feedback endpoint. <br /></td></tr>
- <tr class="separator:ga18284e16d696647a8fcbc71697cc217c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4bf1b931e18c6f97abd18fa603e92ab7"><td class="memItemLeft" align="right" valign="top"><a id="ga4bf1b931e18c6f97abd18fa603e92ab7"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga4bf1b931e18c6f97abd18fa603e92ab7">USB_EPUSAGE_IMP_FEEDBACK</a>   0x20</td></tr>
- <tr class="memdesc:ga4bf1b931e18c6f97abd18fa603e92ab7"><td class="mdescLeft"> </td><td class="mdescRight">Implicit feedback Data endpoint. <br /></td></tr>
- <tr class="separator:ga4bf1b931e18c6f97abd18fa603e92ab7"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- Special string descriptor indexes</h2></td></tr>
- <tr class="memitem:ga746bc73e4e35c42810c1b72aa91eea4e"><td class="memItemLeft" align="right" valign="top"><a id="ga746bc73e4e35c42810c1b72aa91eea4e"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga746bc73e4e35c42810c1b72aa91eea4e">NO_DESCRIPTOR</a>   0x00</td></tr>
- <tr class="memdesc:ga746bc73e4e35c42810c1b72aa91eea4e"><td class="mdescLeft"> </td><td class="mdescRight">String descriptor doesn't exists in the device. <br /></td></tr>
- <tr class="separator:ga746bc73e4e35c42810c1b72aa91eea4e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaad4d076ee1eb5cba8efec47779bce3e9"><td class="memItemLeft" align="right" valign="top"><a id="gaad4d076ee1eb5cba8efec47779bce3e9"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaad4d076ee1eb5cba8efec47779bce3e9">INTSERIALNO_DESCRIPTOR</a>   0xFE</td></tr>
- <tr class="memdesc:gaad4d076ee1eb5cba8efec47779bce3e9"><td class="mdescLeft"> </td><td class="mdescRight">String descriptor is an internal serial number provided by hardware driver. <br /></td></tr>
- <tr class="separator:gaad4d076ee1eb5cba8efec47779bce3e9"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB class definitions</h2></td></tr>
- <tr class="memitem:ga1e00c14ff205d2d88be93faa2a81927a"><td class="memItemLeft" align="right" valign="top"><a id="ga1e00c14ff205d2d88be93faa2a81927a"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga1e00c14ff205d2d88be93faa2a81927a">USB_CLASS_PER_INTERFACE</a>   0x00</td></tr>
- <tr class="memdesc:ga1e00c14ff205d2d88be93faa2a81927a"><td class="mdescLeft"> </td><td class="mdescRight">Class defined on interface level. <br /></td></tr>
- <tr class="separator:ga1e00c14ff205d2d88be93faa2a81927a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2ed8ff1595c1184d0aa4eefbc3c2e39c"><td class="memItemLeft" align="right" valign="top"><a id="ga2ed8ff1595c1184d0aa4eefbc3c2e39c"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga2ed8ff1595c1184d0aa4eefbc3c2e39c">USB_SUBCLASS_NONE</a>   0x00</td></tr>
- <tr class="memdesc:ga2ed8ff1595c1184d0aa4eefbc3c2e39c"><td class="mdescLeft"> </td><td class="mdescRight">No subclass defined. <br /></td></tr>
- <tr class="separator:ga2ed8ff1595c1184d0aa4eefbc3c2e39c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gadda0f765fb3bbb06a4f66d6431998a65"><td class="memItemLeft" align="right" valign="top"><a id="gadda0f765fb3bbb06a4f66d6431998a65"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gadda0f765fb3bbb06a4f66d6431998a65">USB_PROTO_NONE</a>   0x00</td></tr>
- <tr class="memdesc:gadda0f765fb3bbb06a4f66d6431998a65"><td class="mdescLeft"> </td><td class="mdescRight">No protocol defined. <br /></td></tr>
- <tr class="separator:gadda0f765fb3bbb06a4f66d6431998a65"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga8785f84db1be6b0b5da34cd91a1b6138"><td class="memItemLeft" align="right" valign="top"><a id="ga8785f84db1be6b0b5da34cd91a1b6138"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga8785f84db1be6b0b5da34cd91a1b6138">USB_CLASS_AUDIO</a>   0x01</td></tr>
- <tr class="memdesc:ga8785f84db1be6b0b5da34cd91a1b6138"><td class="mdescLeft"> </td><td class="mdescRight">Audio device class. <br /></td></tr>
- <tr class="separator:ga8785f84db1be6b0b5da34cd91a1b6138"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaa5f3153d014b6267ba8da243b6b46443"><td class="memItemLeft" align="right" valign="top"><a id="gaa5f3153d014b6267ba8da243b6b46443"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaa5f3153d014b6267ba8da243b6b46443">USB_CLASS_PHYSICAL</a>   0x05</td></tr>
- <tr class="memdesc:gaa5f3153d014b6267ba8da243b6b46443"><td class="mdescLeft"> </td><td class="mdescRight">Physical device class. <br /></td></tr>
- <tr class="separator:gaa5f3153d014b6267ba8da243b6b46443"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2c519456bac2f388baabf8db178169ac"><td class="memItemLeft" align="right" valign="top"><a id="ga2c519456bac2f388baabf8db178169ac"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga2c519456bac2f388baabf8db178169ac">USB_CLASS_STILL_IMAGE</a>   0x06</td></tr>
- <tr class="memdesc:ga2c519456bac2f388baabf8db178169ac"><td class="mdescLeft"> </td><td class="mdescRight">Still Imaging device class. <br /></td></tr>
- <tr class="separator:ga2c519456bac2f388baabf8db178169ac"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab3e03403111b64480ba298d2641cf92f"><td class="memItemLeft" align="right" valign="top"><a id="gab3e03403111b64480ba298d2641cf92f"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gab3e03403111b64480ba298d2641cf92f">USB_CLASS_PRINTER</a>   0x07</td></tr>
- <tr class="memdesc:gab3e03403111b64480ba298d2641cf92f"><td class="mdescLeft"> </td><td class="mdescRight">Printer device class. <br /></td></tr>
- <tr class="separator:gab3e03403111b64480ba298d2641cf92f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaa99b73e335df09e6545fc44798a3c1f2"><td class="memItemLeft" align="right" valign="top"><a id="gaa99b73e335df09e6545fc44798a3c1f2"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaa99b73e335df09e6545fc44798a3c1f2">USB_CLASS_MASS_STORAGE</a>   0x08</td></tr>
- <tr class="memdesc:gaa99b73e335df09e6545fc44798a3c1f2"><td class="mdescLeft"> </td><td class="mdescRight">Mass Storage device class. <br /></td></tr>
- <tr class="separator:gaa99b73e335df09e6545fc44798a3c1f2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaac5a936a2d1a6e3403798b031294992a"><td class="memItemLeft" align="right" valign="top"><a id="gaac5a936a2d1a6e3403798b031294992a"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaac5a936a2d1a6e3403798b031294992a">USB_CLASS_HUB</a>   0x09</td></tr>
- <tr class="memdesc:gaac5a936a2d1a6e3403798b031294992a"><td class="mdescLeft"> </td><td class="mdescRight">HUB device class. <br /></td></tr>
- <tr class="separator:gaac5a936a2d1a6e3403798b031294992a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaebefa708b1fb84af2ab6c60b414d7e7f"><td class="memItemLeft" align="right" valign="top"><a id="gaebefa708b1fb84af2ab6c60b414d7e7f"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaebefa708b1fb84af2ab6c60b414d7e7f">USB_CLASS_CSCID</a>   0x0B</td></tr>
- <tr class="memdesc:gaebefa708b1fb84af2ab6c60b414d7e7f"><td class="mdescLeft"> </td><td class="mdescRight">Smart Card device class. <br /></td></tr>
- <tr class="separator:gaebefa708b1fb84af2ab6c60b414d7e7f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2bc85c84fbcdb58a651eae036ce5c3b9"><td class="memItemLeft" align="right" valign="top"><a id="ga2bc85c84fbcdb58a651eae036ce5c3b9"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga2bc85c84fbcdb58a651eae036ce5c3b9">USB_CLASS_CONTENT_SEC</a>   0x0D</td></tr>
- <tr class="memdesc:ga2bc85c84fbcdb58a651eae036ce5c3b9"><td class="mdescLeft"> </td><td class="mdescRight">Content Security device class. <br /></td></tr>
- <tr class="separator:ga2bc85c84fbcdb58a651eae036ce5c3b9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga42a579e1be399e32a495b82634411449"><td class="memItemLeft" align="right" valign="top"><a id="ga42a579e1be399e32a495b82634411449"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga42a579e1be399e32a495b82634411449">USB_CLASS_VIDEO</a>   0x0E</td></tr>
- <tr class="memdesc:ga42a579e1be399e32a495b82634411449"><td class="mdescLeft"> </td><td class="mdescRight">Video device class. <br /></td></tr>
- <tr class="separator:ga42a579e1be399e32a495b82634411449"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae3107c8f58dec700e3bdfeabf15680cd"><td class="memItemLeft" align="right" valign="top"><a id="gae3107c8f58dec700e3bdfeabf15680cd"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gae3107c8f58dec700e3bdfeabf15680cd">USB_CLASS_HEALTHCARE</a>   0x0F</td></tr>
- <tr class="memdesc:gae3107c8f58dec700e3bdfeabf15680cd"><td class="mdescLeft"> </td><td class="mdescRight">Personal Healthcare device class. <br /></td></tr>
- <tr class="separator:gae3107c8f58dec700e3bdfeabf15680cd"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2dd0351cedfc2324ac2f9a412b8f52c8"><td class="memItemLeft" align="right" valign="top"><a id="ga2dd0351cedfc2324ac2f9a412b8f52c8"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga2dd0351cedfc2324ac2f9a412b8f52c8">USB_CLASS_AV</a>   0x10</td></tr>
- <tr class="memdesc:ga2dd0351cedfc2324ac2f9a412b8f52c8"><td class="mdescLeft"> </td><td class="mdescRight">Audio/Video device class. <br /></td></tr>
- <tr class="separator:ga2dd0351cedfc2324ac2f9a412b8f52c8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6d6c5e74c304e3fe44e951888c767764"><td class="memItemLeft" align="right" valign="top"><a id="ga6d6c5e74c304e3fe44e951888c767764"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga6d6c5e74c304e3fe44e951888c767764">USB_CLASS_BILLBOARD</a>   0x11</td></tr>
- <tr class="memdesc:ga6d6c5e74c304e3fe44e951888c767764"><td class="mdescLeft"> </td><td class="mdescRight">Billboard device class. <br /></td></tr>
- <tr class="separator:ga6d6c5e74c304e3fe44e951888c767764"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae0008b8c1888f45c1d8abf0858c3f859"><td class="memItemLeft" align="right" valign="top"><a id="gae0008b8c1888f45c1d8abf0858c3f859"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gae0008b8c1888f45c1d8abf0858c3f859">USB_CLASS_CBRIDGE</a>   0x12</td></tr>
- <tr class="memdesc:gae0008b8c1888f45c1d8abf0858c3f859"><td class="mdescLeft"> </td><td class="mdescRight">USB Type-C Bridge device class. <br /></td></tr>
- <tr class="separator:gae0008b8c1888f45c1d8abf0858c3f859"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3b2d878638ec2583b4c7cc6b98227d90"><td class="memItemLeft" align="right" valign="top"><a id="ga3b2d878638ec2583b4c7cc6b98227d90"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga3b2d878638ec2583b4c7cc6b98227d90">USB_CLASS_DIAGNOSTIC</a>   0xDC</td></tr>
- <tr class="memdesc:ga3b2d878638ec2583b4c7cc6b98227d90"><td class="mdescLeft"> </td><td class="mdescRight">Diagnostic device class. <br /></td></tr>
- <tr class="separator:ga3b2d878638ec2583b4c7cc6b98227d90"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga23f5dcd78c94757a5ef269fbb5acb636"><td class="memItemLeft" align="right" valign="top"><a id="ga23f5dcd78c94757a5ef269fbb5acb636"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga23f5dcd78c94757a5ef269fbb5acb636">USB_CLASS_WIRELESS</a>   0xE0</td></tr>
- <tr class="memdesc:ga23f5dcd78c94757a5ef269fbb5acb636"><td class="mdescLeft"> </td><td class="mdescRight">Wireless controller class. <br /></td></tr>
- <tr class="separator:ga23f5dcd78c94757a5ef269fbb5acb636"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga02fb07e20ad6d1af64439f40093bc80f"><td class="memItemLeft" align="right" valign="top"><a id="ga02fb07e20ad6d1af64439f40093bc80f"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga02fb07e20ad6d1af64439f40093bc80f">USB_CLASS_MISC</a>   0xEF</td></tr>
- <tr class="memdesc:ga02fb07e20ad6d1af64439f40093bc80f"><td class="mdescLeft"> </td><td class="mdescRight">Miscellanious device class. <br /></td></tr>
- <tr class="separator:ga02fb07e20ad6d1af64439f40093bc80f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga468ff9393384f125de57a533c8e5240b"><td class="memItemLeft" align="right" valign="top"><a id="ga468ff9393384f125de57a533c8e5240b"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga468ff9393384f125de57a533c8e5240b">USB_CLASS_APP_SPEC</a>   0xFE</td></tr>
- <tr class="memdesc:ga468ff9393384f125de57a533c8e5240b"><td class="mdescLeft"> </td><td class="mdescRight">Application Specific class. <br /></td></tr>
- <tr class="separator:ga468ff9393384f125de57a533c8e5240b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gacacc4de7981ab8e877680cd5a8c3b227"><td class="memItemLeft" align="right" valign="top"><a id="gacacc4de7981ab8e877680cd5a8c3b227"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gacacc4de7981ab8e877680cd5a8c3b227">USB_CLASS_VENDOR</a>   0xFF</td></tr>
- <tr class="memdesc:gacacc4de7981ab8e877680cd5a8c3b227"><td class="mdescLeft"> </td><td class="mdescRight">Vendor specific class. <br /></td></tr>
- <tr class="separator:gacacc4de7981ab8e877680cd5a8c3b227"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4468c2fe98b271b38d71e9a0689dd3bc"><td class="memItemLeft" align="right" valign="top"><a id="ga4468c2fe98b271b38d71e9a0689dd3bc"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga4468c2fe98b271b38d71e9a0689dd3bc">USB_SUBCLASS_VENDOR</a>   0xFF</td></tr>
- <tr class="memdesc:ga4468c2fe98b271b38d71e9a0689dd3bc"><td class="mdescLeft"> </td><td class="mdescRight">Vendor specific subclass. <br /></td></tr>
- <tr class="separator:ga4468c2fe98b271b38d71e9a0689dd3bc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga1d44bd0e96a322b245b67f3ef4537577"><td class="memItemLeft" align="right" valign="top"><a id="ga1d44bd0e96a322b245b67f3ef4537577"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga1d44bd0e96a322b245b67f3ef4537577">USB_PROTO_VENDOR</a>   0xFF</td></tr>
- <tr class="memdesc:ga1d44bd0e96a322b245b67f3ef4537577"><td class="mdescLeft"> </td><td class="mdescRight">Vendor specific protocol. <br /></td></tr>
- <tr class="separator:ga1d44bd0e96a322b245b67f3ef4537577"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaaf2d6c6cd7b43e2372cd74cf1b36f82c"><td class="memItemLeft" align="right" valign="top"><a id="gaaf2d6c6cd7b43e2372cd74cf1b36f82c"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaaf2d6c6cd7b43e2372cd74cf1b36f82c">USB_CLASS_IAD</a>   0xEF</td></tr>
- <tr class="memdesc:gaaf2d6c6cd7b43e2372cd74cf1b36f82c"><td class="mdescLeft"> </td><td class="mdescRight">Class defined on interface association level. <br /></td></tr>
- <tr class="separator:gaaf2d6c6cd7b43e2372cd74cf1b36f82c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3a637995f1146443c98cfd98185a2b83"><td class="memItemLeft" align="right" valign="top"><a id="ga3a637995f1146443c98cfd98185a2b83"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga3a637995f1146443c98cfd98185a2b83">USB_SUBCLASS_IAD</a>   0x02</td></tr>
- <tr class="memdesc:ga3a637995f1146443c98cfd98185a2b83"><td class="mdescLeft"> </td><td class="mdescRight">Subclass defined on interface association level. <br /></td></tr>
- <tr class="separator:ga3a637995f1146443c98cfd98185a2b83"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaa944b2ff7546ea01f53566002ee9ec52"><td class="memItemLeft" align="right" valign="top"><a id="gaa944b2ff7546ea01f53566002ee9ec52"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaa944b2ff7546ea01f53566002ee9ec52">USB_PROTO_IAD</a>   0x01</td></tr>
- <tr class="memdesc:gaa944b2ff7546ea01f53566002ee9ec52"><td class="mdescLeft"> </td><td class="mdescRight">Protocol defined on interface association level. <br /></td></tr>
- <tr class="separator:gaa944b2ff7546ea01f53566002ee9ec52"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB Standard descriptor types</h2></td></tr>
- <tr class="memitem:ga76eb46fb8a7219b6c824036f56b94a94"><td class="memItemLeft" align="right" valign="top"><a id="ga76eb46fb8a7219b6c824036f56b94a94"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga76eb46fb8a7219b6c824036f56b94a94">USB_DTYPE_DEVICE</a>   0x01</td></tr>
- <tr class="memdesc:ga76eb46fb8a7219b6c824036f56b94a94"><td class="mdescLeft"> </td><td class="mdescRight">Device descriptor. <br /></td></tr>
- <tr class="separator:ga76eb46fb8a7219b6c824036f56b94a94"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gad2d9345dbf8bb1ed7f49c7856d5d1ef8"><td class="memItemLeft" align="right" valign="top"><a id="gad2d9345dbf8bb1ed7f49c7856d5d1ef8"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gad2d9345dbf8bb1ed7f49c7856d5d1ef8">USB_DTYPE_CONFIGURATION</a>   0x02</td></tr>
- <tr class="memdesc:gad2d9345dbf8bb1ed7f49c7856d5d1ef8"><td class="mdescLeft"> </td><td class="mdescRight">Configuration descriptor. <br /></td></tr>
- <tr class="separator:gad2d9345dbf8bb1ed7f49c7856d5d1ef8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gabde1b2a68da742b490fa1281c80cce39"><td class="memItemLeft" align="right" valign="top"><a id="gabde1b2a68da742b490fa1281c80cce39"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gabde1b2a68da742b490fa1281c80cce39">USB_DTYPE_STRING</a>   0x03</td></tr>
- <tr class="memdesc:gabde1b2a68da742b490fa1281c80cce39"><td class="mdescLeft"> </td><td class="mdescRight">String descriptor. <br /></td></tr>
- <tr class="separator:gabde1b2a68da742b490fa1281c80cce39"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaefd56033b4b680837f946ffccdfa7d3b"><td class="memItemLeft" align="right" valign="top"><a id="gaefd56033b4b680837f946ffccdfa7d3b"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaefd56033b4b680837f946ffccdfa7d3b">USB_DTYPE_INTERFACE</a>   0x04</td></tr>
- <tr class="memdesc:gaefd56033b4b680837f946ffccdfa7d3b"><td class="mdescLeft"> </td><td class="mdescRight">Interface descriptor. <br /></td></tr>
- <tr class="separator:gaefd56033b4b680837f946ffccdfa7d3b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaf4bc77da317012c0324d2c2d34b2ea5d"><td class="memItemLeft" align="right" valign="top"><a id="gaf4bc77da317012c0324d2c2d34b2ea5d"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaf4bc77da317012c0324d2c2d34b2ea5d">USB_DTYPE_ENDPOINT</a>   0x05</td></tr>
- <tr class="memdesc:gaf4bc77da317012c0324d2c2d34b2ea5d"><td class="mdescLeft"> </td><td class="mdescRight">Endpoint descriptor. <br /></td></tr>
- <tr class="separator:gaf4bc77da317012c0324d2c2d34b2ea5d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga01816e9350a1549df049179f297de6e5"><td class="memItemLeft" align="right" valign="top"><a id="ga01816e9350a1549df049179f297de6e5"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga01816e9350a1549df049179f297de6e5">USB_DTYPE_QUALIFIER</a>   0x06</td></tr>
- <tr class="memdesc:ga01816e9350a1549df049179f297de6e5"><td class="mdescLeft"> </td><td class="mdescRight">Qualifier descriptor. <br /></td></tr>
- <tr class="separator:ga01816e9350a1549df049179f297de6e5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga99bbf7c3e4f9d751bf07d64a0ccd9713"><td class="memItemLeft" align="right" valign="top"><a id="ga99bbf7c3e4f9d751bf07d64a0ccd9713"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga99bbf7c3e4f9d751bf07d64a0ccd9713">USB_DTYPE_OTHER</a>   0x07</td></tr>
- <tr class="memdesc:ga99bbf7c3e4f9d751bf07d64a0ccd9713"><td class="mdescLeft"> </td><td class="mdescRight">Descriptor is of other type. <br /></td></tr>
- <tr class="separator:ga99bbf7c3e4f9d751bf07d64a0ccd9713"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3313728a669e31a1a086b25b0168f4ce"><td class="memItemLeft" align="right" valign="top"><a id="ga3313728a669e31a1a086b25b0168f4ce"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga3313728a669e31a1a086b25b0168f4ce">USB_DTYPE_INTERFACEPOWER</a>   0x08</td></tr>
- <tr class="memdesc:ga3313728a669e31a1a086b25b0168f4ce"><td class="mdescLeft"> </td><td class="mdescRight">Interface power descriptor. <br /></td></tr>
- <tr class="separator:ga3313728a669e31a1a086b25b0168f4ce"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gadeb010e5871ad986b4020baa8d38acd3"><td class="memItemLeft" align="right" valign="top"><a id="gadeb010e5871ad986b4020baa8d38acd3"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gadeb010e5871ad986b4020baa8d38acd3">USB_DTYPE_OTG</a>   0x09</td></tr>
- <tr class="memdesc:gadeb010e5871ad986b4020baa8d38acd3"><td class="mdescLeft"> </td><td class="mdescRight">OTG descriptor. <br /></td></tr>
- <tr class="separator:gadeb010e5871ad986b4020baa8d38acd3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9b4bc4deb61f79f8ce0fa650a4329764"><td class="memItemLeft" align="right" valign="top"><a id="ga9b4bc4deb61f79f8ce0fa650a4329764"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga9b4bc4deb61f79f8ce0fa650a4329764">USB_DTYPE_DEBUG</a>   0x0A</td></tr>
- <tr class="memdesc:ga9b4bc4deb61f79f8ce0fa650a4329764"><td class="mdescLeft"> </td><td class="mdescRight">Debug descriptor. <br /></td></tr>
- <tr class="separator:ga9b4bc4deb61f79f8ce0fa650a4329764"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3db10dc9f3b3a09d06fb33084ef5bb33"><td class="memItemLeft" align="right" valign="top"><a id="ga3db10dc9f3b3a09d06fb33084ef5bb33"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga3db10dc9f3b3a09d06fb33084ef5bb33">USB_DTYPE_INTERFASEASSOC</a>   0x0B</td></tr>
- <tr class="memdesc:ga3db10dc9f3b3a09d06fb33084ef5bb33"><td class="mdescLeft"> </td><td class="mdescRight">Interface association descriptor. <br /></td></tr>
- <tr class="separator:ga3db10dc9f3b3a09d06fb33084ef5bb33"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gad91ea073e6d698b8c81ba0a549cc2fd3"><td class="memItemLeft" align="right" valign="top"><a id="gad91ea073e6d698b8c81ba0a549cc2fd3"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gad91ea073e6d698b8c81ba0a549cc2fd3">USB_DTYPE_CS_INTERFACE</a>   0x24</td></tr>
- <tr class="memdesc:gad91ea073e6d698b8c81ba0a549cc2fd3"><td class="mdescLeft"> </td><td class="mdescRight">Class specific interface descriptor. <br /></td></tr>
- <tr class="separator:gad91ea073e6d698b8c81ba0a549cc2fd3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga61ba428dde3a38fb3295f25e91cdc080"><td class="memItemLeft" align="right" valign="top"><a id="ga61ba428dde3a38fb3295f25e91cdc080"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga61ba428dde3a38fb3295f25e91cdc080">USB_DTYPE_CS_ENDPOINT</a>   0x25</td></tr>
- <tr class="memdesc:ga61ba428dde3a38fb3295f25e91cdc080"><td class="mdescLeft"> </td><td class="mdescRight">Class specific endpoint descriptor. <br /></td></tr>
- <tr class="separator:ga61ba428dde3a38fb3295f25e91cdc080"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB Standard requests</h2></td></tr>
- <tr class="memitem:ga2ad287478695ce37d8920c9470b2ed27"><td class="memItemLeft" align="right" valign="top"><a id="ga2ad287478695ce37d8920c9470b2ed27"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga2ad287478695ce37d8920c9470b2ed27">USB_STD_GET_STATUS</a>   0x00</td></tr>
- <tr class="memdesc:ga2ad287478695ce37d8920c9470b2ed27"><td class="mdescLeft"> </td><td class="mdescRight">Returns status for the specified recipient. <br /></td></tr>
- <tr class="separator:ga2ad287478695ce37d8920c9470b2ed27"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab75849b041fcad933c092cb2c92e687c"><td class="memItemLeft" align="right" valign="top"><a id="gab75849b041fcad933c092cb2c92e687c"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gab75849b041fcad933c092cb2c92e687c">USB_STD_CLEAR_FEATURE</a>   0x01</td></tr>
- <tr class="memdesc:gab75849b041fcad933c092cb2c92e687c"><td class="mdescLeft"> </td><td class="mdescRight">Used to clear or disable a specific feature. <br /></td></tr>
- <tr class="separator:gab75849b041fcad933c092cb2c92e687c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga62ab8761749f25c14fd23dbe5e24924d"><td class="memItemLeft" align="right" valign="top"><a id="ga62ab8761749f25c14fd23dbe5e24924d"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga62ab8761749f25c14fd23dbe5e24924d">USB_STD_SET_FEATURE</a>   0x03</td></tr>
- <tr class="memdesc:ga62ab8761749f25c14fd23dbe5e24924d"><td class="mdescLeft"> </td><td class="mdescRight">Used to set or enable a specific feature. <br /></td></tr>
- <tr class="separator:ga62ab8761749f25c14fd23dbe5e24924d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaab264006b196a5963223739e4a9289fa"><td class="memItemLeft" align="right" valign="top"><a id="gaab264006b196a5963223739e4a9289fa"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaab264006b196a5963223739e4a9289fa">USB_STD_SET_ADDRESS</a>   0x05</td></tr>
- <tr class="memdesc:gaab264006b196a5963223739e4a9289fa"><td class="mdescLeft"> </td><td class="mdescRight">Sets the device address for all future device accesses. <br /></td></tr>
- <tr class="separator:gaab264006b196a5963223739e4a9289fa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga97f0c52d7008d8ba62008f5e17be6b45"><td class="memItemLeft" align="right" valign="top"><a id="ga97f0c52d7008d8ba62008f5e17be6b45"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga97f0c52d7008d8ba62008f5e17be6b45">USB_STD_GET_DESCRIPTOR</a>   0x06</td></tr>
- <tr class="memdesc:ga97f0c52d7008d8ba62008f5e17be6b45"><td class="mdescLeft"> </td><td class="mdescRight">Returns the specified descriptor if the descriptor exists. <br /></td></tr>
- <tr class="separator:ga97f0c52d7008d8ba62008f5e17be6b45"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac5d4ec37f340f3af59de27d81bd3b9a2"><td class="memItemLeft" align="right" valign="top"><a id="gac5d4ec37f340f3af59de27d81bd3b9a2"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gac5d4ec37f340f3af59de27d81bd3b9a2">USB_STD_SET_DESCRIPTOR</a>   0x07</td></tr>
- <tr class="memdesc:gac5d4ec37f340f3af59de27d81bd3b9a2"><td class="mdescLeft"> </td><td class="mdescRight">This request is optional and may be used to update existing descriptors or new descriptors may be added. <br /></td></tr>
- <tr class="separator:gac5d4ec37f340f3af59de27d81bd3b9a2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaca070724014a2aa364ee6df5b580894e"><td class="memItemLeft" align="right" valign="top"><a id="gaca070724014a2aa364ee6df5b580894e"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gaca070724014a2aa364ee6df5b580894e">USB_STD_GET_CONFIG</a>   0x08</td></tr>
- <tr class="memdesc:gaca070724014a2aa364ee6df5b580894e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current device configuration value. <br /></td></tr>
- <tr class="separator:gaca070724014a2aa364ee6df5b580894e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga5ddeb8485dcaad324de96acd426215ac"><td class="memItemLeft" align="right" valign="top"><a id="ga5ddeb8485dcaad324de96acd426215ac"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga5ddeb8485dcaad324de96acd426215ac">USB_STD_SET_CONFIG</a>   0x09</td></tr>
- <tr class="memdesc:ga5ddeb8485dcaad324de96acd426215ac"><td class="mdescLeft"> </td><td class="mdescRight">Sets the device configuration. <br /></td></tr>
- <tr class="separator:ga5ddeb8485dcaad324de96acd426215ac"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4e01e91a47dfba54fcf7f74d6c8eb731"><td class="memItemLeft" align="right" valign="top"><a id="ga4e01e91a47dfba54fcf7f74d6c8eb731"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga4e01e91a47dfba54fcf7f74d6c8eb731">USB_STD_GET_INTERFACE</a>   0x0A</td></tr>
- <tr class="memdesc:ga4e01e91a47dfba54fcf7f74d6c8eb731"><td class="mdescLeft"> </td><td class="mdescRight">Returns the selected alternate setting for the specified interface. <br /></td></tr>
- <tr class="separator:ga4e01e91a47dfba54fcf7f74d6c8eb731"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gad03189a1217bbdc02567ed17a6942dc8"><td class="memItemLeft" align="right" valign="top"><a id="gad03189a1217bbdc02567ed17a6942dc8"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gad03189a1217bbdc02567ed17a6942dc8">USB_STD_SET_INTERFACE</a>   0x0B</td></tr>
- <tr class="memdesc:gad03189a1217bbdc02567ed17a6942dc8"><td class="mdescLeft"> </td><td class="mdescRight">Allows the host to select an alternate setting for the specified interface. <br /></td></tr>
- <tr class="separator:gad03189a1217bbdc02567ed17a6942dc8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga70e67e3f889ad2c728416a00a4d4c8b0"><td class="memItemLeft" align="right" valign="top"><a id="ga70e67e3f889ad2c728416a00a4d4c8b0"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga70e67e3f889ad2c728416a00a4d4c8b0">USB_STD_SYNCH_FRAME</a>   0x0C</td></tr>
- <tr class="memdesc:ga70e67e3f889ad2c728416a00a4d4c8b0"><td class="mdescLeft"> </td><td class="mdescRight">Used to set and then report an endpoint's synchronization frame. <br /></td></tr>
- <tr class="separator:ga70e67e3f889ad2c728416a00a4d4c8b0"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB Feature selector</h2></td></tr>
- <tr class="memitem:ga9ed63c8f4b74289bed63db2d9f93eb62"><td class="memItemLeft" align="right" valign="top"><a id="ga9ed63c8f4b74289bed63db2d9f93eb62"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga9ed63c8f4b74289bed63db2d9f93eb62">USB_FEAT_ENDPOINT_HALT</a>   0x00</td></tr>
- <tr class="memdesc:ga9ed63c8f4b74289bed63db2d9f93eb62"><td class="mdescLeft"> </td><td class="mdescRight">Halt endpoint. <br /></td></tr>
- <tr class="separator:ga9ed63c8f4b74289bed63db2d9f93eb62"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9fb1a5f9c4d14831b1c481b009ebc573"><td class="memItemLeft" align="right" valign="top"><a id="ga9fb1a5f9c4d14831b1c481b009ebc573"></a>
- #define </td><td class="memItemRight" valign="bottom"><b>USB_FEAT_REMOTE_WKUP</b>   0x01</td></tr>
- <tr class="separator:ga9fb1a5f9c4d14831b1c481b009ebc573"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga0de6998107cb381c60906062c219a1f5"><td class="memItemLeft" align="right" valign="top"><a id="ga0de6998107cb381c60906062c219a1f5"></a>
- #define </td><td class="memItemRight" valign="bottom"><b>USB_FEAT_TEST_MODE</b>   0x02</td></tr>
- <tr class="separator:ga0de6998107cb381c60906062c219a1f5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab5a0f1d3a75c0862549f75f55c82ba28"><td class="memItemLeft" align="right" valign="top"><a id="gab5a0f1d3a75c0862549f75f55c82ba28"></a>
- #define </td><td class="memItemRight" valign="bottom"><b>USB_FEAT_DEBUG_MODE</b>   0x06</td></tr>
- <tr class="separator:gab5a0f1d3a75c0862549f75f55c82ba28"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- USB Test mode Selectors</h2></td></tr>
- <tr class="memitem:ga43656056ee4e69cd60abf1d98d582925"><td class="memItemLeft" align="right" valign="top"><a id="ga43656056ee4e69cd60abf1d98d582925"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga43656056ee4e69cd60abf1d98d582925">USB_TEST_J</a>   0x01</td></tr>
- <tr class="memdesc:ga43656056ee4e69cd60abf1d98d582925"><td class="mdescLeft"> </td><td class="mdescRight">Test J. <br /></td></tr>
- <tr class="separator:ga43656056ee4e69cd60abf1d98d582925"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga94cc55d6876e137b0d8101d72ed69f0a"><td class="memItemLeft" align="right" valign="top"><a id="ga94cc55d6876e137b0d8101d72ed69f0a"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga94cc55d6876e137b0d8101d72ed69f0a">USB_TEST_K</a>   0x02</td></tr>
- <tr class="memdesc:ga94cc55d6876e137b0d8101d72ed69f0a"><td class="mdescLeft"> </td><td class="mdescRight">Test K. <br /></td></tr>
- <tr class="separator:ga94cc55d6876e137b0d8101d72ed69f0a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae12f4f9fcbaf8f19ba4f2ded69fd6b0c"><td class="memItemLeft" align="right" valign="top"><a id="gae12f4f9fcbaf8f19ba4f2ded69fd6b0c"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#gae12f4f9fcbaf8f19ba4f2ded69fd6b0c">USB_TEST_SE0_NAK</a>   0x03</td></tr>
- <tr class="memdesc:gae12f4f9fcbaf8f19ba4f2ded69fd6b0c"><td class="mdescLeft"> </td><td class="mdescRight">Test SE0 NAK. <br /></td></tr>
- <tr class="separator:gae12f4f9fcbaf8f19ba4f2ded69fd6b0c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga1701867b88f438ef2974c255664099d3"><td class="memItemLeft" align="right" valign="top"><a id="ga1701867b88f438ef2974c255664099d3"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga1701867b88f438ef2974c255664099d3">USB_TEST_PACKET</a>   0x04</td></tr>
- <tr class="memdesc:ga1701867b88f438ef2974c255664099d3"><td class="mdescLeft"> </td><td class="mdescRight">Test Pcaket. <br /></td></tr>
- <tr class="separator:ga1701867b88f438ef2974c255664099d3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga21cf0cae77c05fd596928d03305d7bac"><td class="memItemLeft" align="right" valign="top"><a id="ga21cf0cae77c05fd596928d03305d7bac"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d74/a00099.html#ga21cf0cae77c05fd596928d03305d7bac">USB_TEST_FORCE_ENABLE</a>   0x05</td></tr>
- <tr class="memdesc:ga21cf0cae77c05fd596928d03305d7bac"><td class="mdescLeft"> </td><td class="mdescRight">Test Force Enable. <br /></td></tr>
- <tr class="separator:ga21cf0cae77c05fd596928d03305d7bac"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <p>This module contains generic USB device framework definitions. </p>
- <p>This module based on</p><ul>
- <li>Chapter 9 of the <a href="https://www.usb.org/sites/default/files/usb_20_20181221.zip">Universal Serial Bus Specification Revision 2.0</a></li>
- <li><a href="https://github.com/abcminiuser/lufa">LUFA - the Lightweight USB Framework for AVRs.</a> </li>
- </ul>
- <h2 class="groupheader">Macro Definition Documentation</h2>
- <a id="ga63eb203f5f5e37dc55157680549c656c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga63eb203f5f5e37dc55157680549c656c">◆ </a></span>VERSION_BCD</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define VERSION_BCD</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname">maj, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname">min, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname">rev </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td>   (((maj & 0xFF) << 8) | ((min & 0x0F) << 4) | (rev & 0x0F))</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Macro to encode major/minor/version number into BCD code </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">maj</td><td>Major version </td></tr>
- <tr><td class="paramname">min</td><td>Minor version </td></tr>
- <tr><td class="paramname">rev</td><td>Revision </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../da/d24/a00068_source.html#l00040">40</a> of file <a class="el" href="../../da/d24/a00068_source.html">usb_std.h</a>.</p>
- </div>
- </div>
- <a id="ga872cd80ad22caad26fe45fe2182645d4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga872cd80ad22caad26fe45fe2182645d4">◆ </a></span>USB_ARRAY_DESC</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define USB_ARRAY_DESC</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <b>Value:</b><div class="fragment"><div class="line">{.bLength = 2 + <span class="keyword">sizeof</span>((uint16_t[]){__VA_ARGS__}),\</div><div class="line"> .bDescriptorType = <a class="code" href="../../da/d74/a00099.html#gabde1b2a68da742b490fa1281c80cce39">USB_DTYPE_STRING</a>,\</div><div class="line"> .wString = {__VA_ARGS__}}</div><div class="ttc" id="a00099_html_gabde1b2a68da742b490fa1281c80cce39"><div class="ttname"><a href="../../da/d74/a00099.html#gabde1b2a68da742b490fa1281c80cce39">USB_DTYPE_STRING</a></div><div class="ttdeci">#define USB_DTYPE_STRING</div><div class="ttdoc">String descriptor. </div><div class="ttdef"><b>Definition:</b> <a href="../../da/d24/a00068_source.html#l00121">usb_std.h:121</a></div></div>
- </div><!-- fragment --><p>Macro to create <a class="el" href="../../dc/ded/a00252.html">usb_string_descriptor</a> from array </p>
- <p class="definition">Definition at line <a class="el" href="../../da/d24/a00068_source.html#l00043">43</a> of file <a class="el" href="../../da/d24/a00068_source.html">usb_std.h</a>.</p>
- </div>
- </div>
- <a id="ga362afc1ada1c8cbeca04329e99c2e8f9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga362afc1ada1c8cbeca04329e99c2e8f9">◆ </a></span>USB_STRING_DESC</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define USB_STRING_DESC</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname">s</td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <b>Value:</b><div class="fragment"><div class="line">{.bLength = <span class="keyword">sizeof</span>(CAT(u,s)),\</div><div class="line"> .bDescriptorType = <a class="code" href="../../da/d74/a00099.html#gabde1b2a68da742b490fa1281c80cce39">USB_DTYPE_STRING</a>,\</div><div class="line"> .wString = {CAT(u,s)}}</div><div class="ttc" id="a00099_html_gabde1b2a68da742b490fa1281c80cce39"><div class="ttname"><a href="../../da/d74/a00099.html#gabde1b2a68da742b490fa1281c80cce39">USB_DTYPE_STRING</a></div><div class="ttdeci">#define USB_DTYPE_STRING</div><div class="ttdoc">String descriptor. </div><div class="ttdef"><b>Definition:</b> <a href="../../da/d24/a00068_source.html#l00121">usb_std.h:121</a></div></div>
- </div><!-- fragment --><p>Macro to create <a class="el" href="../../dc/ded/a00252.html">usb_string_descriptor</a> from string </p>
- <p class="definition">Definition at line <a class="el" href="../../da/d24/a00068_source.html#l00047">47</a> of file <a class="el" href="../../da/d24/a00068_source.html">usb_std.h</a>.</p>
- </div>
- </div>
- </div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <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>
|