?? usbstdreq_8c.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>LPCUSB: usbstdreq.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul></div><h1>usbstdreq.c File Reference</h1><code>#include "<a class="el" href="type_8h-source.html">type.h</a>"</code><br><code>#include "usbdebug.h"</code><br><code>#include "usbstruct.h"</code><br><code>#include "<a class="el" href="usbapi_8h-source.html">usbapi.h</a>"</code><br><p>Include dependency graph for usbstdreq.c:<p><center><img src="usbstdreq_8c__incl.png" border="0" usemap="#usbstdreq.c_map" alt=""></center><map name="usbstdreq.c_map"><area href="type_8h.html" shape="rect" coords="423,107,481,133" alt=""><area href="usbdebug_8h-source.html" shape="rect" coords="145,56,236,83" alt=""><area href="usbstruct_8h-source.html" shape="rect" coords="285,107,373,133" alt=""><area href="usbapi_8h.html" shape="rect" coords="155,157,227,184" alt=""></map><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#34aab8254cf19803cfba1c7ba9a63263">MAX_DESC_HANDLERS</a> 4</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#130239b71fca862b9dca67926d76f729">DESC_bLength</a> 0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#4a2c815cbd6869297e700d7f53c2dc73">DESC_bDescriptorType</a> 1</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#69ff0e5e64d33bc97345aeaefa5bec66">CONF_DESC_wTotalLength</a> 2</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#e6046d6ff9e3089644511616ce9cb3e2">CONF_DESC_bConfigurationValue</a> 5</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#631f56132c8b03adb0b957545687adc7">CONF_DESC_bmAttributes</a> 7</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#bd96330f3211846e5bbd65b64786e117">INTF_DESC_bAlternateSetting</a> 3</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#fb13653c9dcb30ef98fe7345ebaf57d4">ENDP_DESC_bEndpointAddress</a> 2</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#417e8eefa2e40157e742ba108dd1acce">ENDP_DESC_wMaxPacketSize</a> 4</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#24ad9054d459b37459e409ab05754325">USBRegisterDescriptors</a> (const <a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> *pabDescriptors)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#1576cdc9478c52fb9837103a8b0c8677">USBGetDescriptor</a> (<a class="el" href="type_8h.html#c4de1ae30664d5bd186fb6b2ae44e725">U16</a> wTypeIndex, <a class="el" href="type_8h.html#c4de1ae30664d5bd186fb6b2ae44e725">U16</a> wLangID, int *piLen, <a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> **ppbData)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#ecf69d28f0af6dd53bd812a42e7c26f4">USBHandleStandardRequest</a> (<a class="el" href="structTSetupPacket.html">TSetupPacket</a> *pSetup, int *piLen, <a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> **ppbData)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usbstdreq_8c.html#b1f2c8f7c767971f6806c4ef42332f04">USBRegisterCustomReqHandler</a> (<a class="el" href="usbapi_8h.html#cdc2d456f793c62f73c83a684b9eb67d">TFnHandleRequest</a> *pfnHandler)</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Standard request handler.<p>This modules handles the 'chapter 9' processing, specifically the standard device requests in table 9-3 from the universal serial bus specification revision 2.0<p>Specific types of devices may specify additional requests (for example HID devices add a GET_DESCRIPTOR request for interfaces), but they will not be part of this module.<p><dl compact><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>some requests have to return a request error if device not configured: <p>GET_INTERFACE, GET_STATUS, SET_INTERFACE, SYNCH_FRAME <p>this applies to the following if endpoint != 0: <p>SET_FEATURE, GET_FEATURE </dd></dl><hr><h2>Define Documentation</h2><a class="anchor" name="e6046d6ff9e3089644511616ce9cb3e2"></a><!-- doxytag: member="usbstdreq.c::CONF_DESC_bConfigurationValue" ref="e6046d6ff9e3089644511616ce9cb3e2" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CONF_DESC_bConfigurationValue 5 </td> </tr> </table></div><div class="memdoc"><p>configuration value offset </div></div><p><a class="anchor" name="631f56132c8b03adb0b957545687adc7"></a><!-- doxytag: member="usbstdreq.c::CONF_DESC_bmAttributes" ref="631f56132c8b03adb0b957545687adc7" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CONF_DESC_bmAttributes 7 </td> </tr> </table></div><div class="memdoc"><p>configuration characteristics </div></div><p><a class="anchor" name="69ff0e5e64d33bc97345aeaefa5bec66"></a><!-- doxytag: member="usbstdreq.c::CONF_DESC_wTotalLength" ref="69ff0e5e64d33bc97345aeaefa5bec66" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CONF_DESC_wTotalLength 2 </td> </tr> </table></div><div class="memdoc"><p>total length offset </div></div><p><a class="anchor" name="4a2c815cbd6869297e700d7f53c2dc73"></a><!-- doxytag: member="usbstdreq.c::DESC_bDescriptorType" ref="4a2c815cbd6869297e700d7f53c2dc73" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESC_bDescriptorType 1 </td> </tr> </table></div><div class="memdoc"><p>descriptor type offset </div></div><p><a class="anchor" name="130239b71fca862b9dca67926d76f729"></a><!-- doxytag: member="usbstdreq.c::DESC_bLength" ref="130239b71fca862b9dca67926d76f729" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DESC_bLength 0 </td> </tr> </table></div><div class="memdoc"><p>length offset </div></div><p><a class="anchor" name="fb13653c9dcb30ef98fe7345ebaf57d4"></a><!-- doxytag: member="usbstdreq.c::ENDP_DESC_bEndpointAddress" ref="fb13653c9dcb30ef98fe7345ebaf57d4" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ENDP_DESC_bEndpointAddress 2 </td> </tr> </table></div><div class="memdoc"><p>endpoint address offset </div></div><p><a class="anchor" name="417e8eefa2e40157e742ba108dd1acce"></a><!-- doxytag: member="usbstdreq.c::ENDP_DESC_wMaxPacketSize" ref="417e8eefa2e40157e742ba108dd1acce" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ENDP_DESC_wMaxPacketSize 4 </td> </tr> </table></div><div class="memdoc"><p>maximum packet size offset </div></div><p><a class="anchor" name="bd96330f3211846e5bbd65b64786e117"></a><!-- doxytag: member="usbstdreq.c::INTF_DESC_bAlternateSetting" ref="bd96330f3211846e5bbd65b64786e117" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -