📄 usbstdreq_8c.html
字号:
<td class="memname">#define INTF_DESC_bAlternateSetting 3 </td> </tr> </table></div><div class="memdoc"><p>alternate setting offset </div></div><p><a class="anchor" name="34aab8254cf19803cfba1c7ba9a63263"></a><!-- doxytag: member="usbstdreq.c::MAX_DESC_HANDLERS" ref="34aab8254cf19803cfba1c7ba9a63263" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAX_DESC_HANDLERS 4 </td> </tr> </table></div><div class="memdoc"><p>device, interface, endpoint, other </div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="1576cdc9478c52fb9837103a8b0c8677"></a><!-- doxytag: member="usbstdreq.c::USBGetDescriptor" ref="1576cdc9478c52fb9837103a8b0c8677" args="(U16 wTypeIndex, U16 wLangID, int *piLen, U8 **ppbData)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> USBGetDescriptor </td> <td>(</td> <td class="paramtype"><a class="el" href="type_8h.html#c4de1ae30664d5bd186fb6b2ae44e725">U16</a> </td> <td class="paramname"> <em>wTypeIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="type_8h.html#c4de1ae30664d5bd186fb6b2ae44e725">U16</a> </td> <td class="paramname"> <em>wLangID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>piLen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> ** </td> <td class="paramname"> <em>ppbData</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Parses the list of installed USB descriptors and attempts to find the specified USB descriptor.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>wTypeIndex</em> </td><td>Type and index of the descriptor </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>wLangID</em> </td><td>Language ID of the descriptor (currently unused) </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>*piLen</em> </td><td>Descriptor length </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>*ppbData</em> </td><td>Descriptor data</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if the descriptor was found, FALSE otherwise </dd></dl></div></div><p><a class="anchor" name="ecf69d28f0af6dd53bd812a42e7c26f4"></a><!-- doxytag: member="usbstdreq.c::USBHandleStandardRequest" ref="ecf69d28f0af6dd53bd812a42e7c26f4" args="(TSetupPacket *pSetup, int *piLen, U8 **ppbData)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> USBHandleStandardRequest </td> <td>(</td> <td class="paramtype"><a class="el" href="structTSetupPacket.html">TSetupPacket</a> * </td> <td class="paramname"> <em>pSetup</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>piLen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> ** </td> <td class="paramname"> <em>ppbData</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Default handler for standard ('chapter 9') requests<p>If a custom request handler was installed, this handler is called first.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pSetup</em> </td><td>The setup packet </td></tr> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>*piLen</em> </td><td>Pointer to data length </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>ppbData</em> </td><td>Data buffer.</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if the request was handled successfully </dd></dl></div></div><p><a class="anchor" name="b1f2c8f7c767971f6806c4ef42332f04"></a><!-- doxytag: member="usbstdreq.c::USBRegisterCustomReqHandler" ref="b1f2c8f7c767971f6806c4ef42332f04" args="(TFnHandleRequest *pfnHandler)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void USBRegisterCustomReqHandler </td> <td>(</td> <td class="paramtype"><a class="el" href="usbapi_8h.html#cdc2d456f793c62f73c83a684b9eb67d">TFnHandleRequest</a> * </td> <td class="paramname"> <em>pfnHandler</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Registers a callback for custom device requests<p>In USBHandleStandardRequest, the custom request handler gets a first chance at handling the request before it is handed over to the 'chapter 9' request handler.<p>This can be used for example in HID devices, where a REQ_GET_DESCRIPTOR request is sent to an interface, which is not covered by the 'chapter 9' specification.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pfnHandler</em> </td><td>Callback function pointer </td></tr> </table></dl></div></div><p><a class="anchor" name="24ad9054d459b37459e409ab05754325"></a><!-- doxytag: member="usbstdreq.c::USBRegisterDescriptors" ref="24ad9054d459b37459e409ab05754325" args="(const U8 *pabDescriptors)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void USBRegisterDescriptors </td> <td>(</td> <td class="paramtype">const <a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> * </td> <td class="paramname"> <em>pabDescriptors</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Registers a pointer to a descriptor block containing all descriptors for the device.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pabDescriptors</em> </td><td>The descriptor byte array </td></tr> </table></dl></div></div><p><hr size="1"><address style="align: right;"><small>Generated on Fri Jul 27 12:07:03 2007 for LPCUSB by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -