📄 sl811hs-hcd_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>usbstack: /home/bene/projects/sl811/usbstack/host/sl811hs-hcd.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> </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>/home/bene/projects/sl811/usbstack/host/sl811hs-hcd.c File Reference</h1><code>#include "<a class="el" href="host_8h-source.html">host.h</a>"</code><br><code>#include "<a class="el" href="sl811hs_8h-source.html">sl811hs.h</a>"</code><br><code>#include <wait.h></code><br><code>#include <stdlib.h></code><br><code>#include "uart.h"</code><br><code>#include <<a class="el" href="core_8h-source.html">core/core.h</a>></code><br><code>#include <<a class="el" href="usb11spec_8h-source.html">usbspec/usb11spec.h</a>></code><br><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="sl811hs-hcd_8c.html#e1fa436fd22f88502b92ee0bf90e264f">HUB_PORTSTATUS_C_PORT_CONNECTION</a> 1</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="sl811hs-hcd_8c.html#8d05c2e225b366547b63e359175e19ba">sl811_roothub_probe</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#0c629c34f38f5f6872ee3f16275876db">sl811_roothub_check</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#c6bbcb4b1f84c5aebfb37bd2d0440c7a">sl811_start_transfer</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#a5e728976c2dc39c8374ddbea42e9864">hcdi_init</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#156486d5382dea364107d54250a29795">hcdi_enqueue</a> (<a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *td)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#2937060a6cc3d0d69f04ea1d33d24de1">hcdi_dequeue</a> (<a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *td)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#68ce1031b8a7a610ec829f164d6f33cd">hcdi_irq</a> ()</td></tr><tr><td colspan="2"><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__device__t.html">usb_device</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#fc9f5e8894c82e44f3ebe104df7d5fb6">td_usba</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#14a82e7d20769a960e54b3eaa0122b94">td_usbb</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__driver__t.html">usb_driver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sl811hs-hcd_8c.html#4a9f6f9e694b6e75d4136f61bcdf60e8">sl811_roothub</a></td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="e1fa436fd22f88502b92ee0bf90e264f"></a><!-- doxytag: member="sl811hs-hcd.c::HUB_PORTSTATUS_C_PORT_CONNECTION" ref="e1fa436fd22f88502b92ee0bf90e264f" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define HUB_PORTSTATUS_C_PORT_CONNECTION 1 </td> </tr> </table></div><div class="memdoc"><p></div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="2937060a6cc3d0d69f04ea1d33d24de1"></a><!-- doxytag: member="sl811hs-hcd.c::hcdi_dequeue" ref="2937060a6cc3d0d69f04ea1d33d24de1" args="(usb_transfer_descriptor *td)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 hcdi_dequeue </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td> <td class="paramname"> <em>td</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Remove an transfer descriptor from transfer queue. </div></div><p><a class="anchor" name="156486d5382dea364107d54250a29795"></a><!-- doxytag: member="sl811hs-hcd.c::hcdi_enqueue" ref="156486d5382dea364107d54250a29795" args="(usb_transfer_descriptor *td)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 hcdi_enqueue </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td> <td class="paramname"> <em>td</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>hcdi_enqueue takes usb_irp and split it into several usb packeges (SETUP,IN,OUT) In the usbstack they are transported with the usb_transfer_descriptor data structure. </div></div><p><a class="anchor" name="a5e728976c2dc39c8374ddbea42e9864"></a><!-- doxytag: member="sl811hs-hcd.c::hcdi_init" ref="a5e728976c2dc39c8374ddbea42e9864" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void hcdi_init </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Intial host controller and necessary software structures. </div></div><p><a class="anchor" name="68ce1031b8a7a610ec829f164d6f33cd"></a><!-- doxytag: member="sl811hs-hcd.c::hcdi_irq" ref="68ce1031b8a7a610ec829f164d6f33cd" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void hcdi_irq </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>IRQ from host controller. </div></div><p><a class="anchor" name="0c629c34f38f5f6872ee3f16275876db"></a><!-- doxytag: member="sl811hs-hcd.c::sl811_roothub_check" ref="0c629c34f38f5f6872ee3f16275876db" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void sl811_roothub_check </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>This function is called periodical, to notice port changes after an hub </div></div><p><a class="anchor" name="8d05c2e225b366547b63e359175e19ba"></a><!-- doxytag: member="sl811hs-hcd.c::sl811_roothub_probe" ref="8d05c2e225b366547b63e359175e19ba" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void sl811_roothub_probe </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Find and initial root hub </div></div><p><a class="anchor" name="c6bbcb4b1f84c5aebfb37bd2d0440c7a"></a><!-- doxytag: member="sl811hs-hcd.c::sl811_start_transfer" ref="c6bbcb4b1f84c5aebfb37bd2d0440c7a" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void sl811_start_transfer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p></div></div><p><hr><h2>Variable Documentation</h2><a class="anchor" name="62e872bcf4a481ddb425c94ac5ec3be7"></a><!-- doxytag: member="sl811hs-hcd.c::device_on_downstream" ref="62e872bcf4a481ddb425c94ac5ec3be7" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__device__t.html">usb_device</a>* <a class="el" href="sl811hs-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="4a9f6f9e694b6e75d4136f61bcdf60e8"></a><!-- doxytag: member="sl811hs-hcd.c::sl811_roothub" ref="4a9f6f9e694b6e75d4136f61bcdf60e8" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__driver__t.html">usb_driver</a> <a class="el" href="sl811hs-hcd_8c.html#4a9f6f9e694b6e75d4136f61bcdf60e8">sl811_roothub</a> </td> </tr> </table></div><div class="memdoc"><p><b>Initial value:</b><div class="fragment"><pre class="fragment"> { .name = <span class="stringliteral">"sl811_roothub"</span>, .probe = <a class="code" href="sl811hs-hcd_8c.html#8d05c2e225b366547b63e359175e19ba">sl811_roothub_probe</a>, .check = <a class="code" href="sl811hs-hcd_8c.html#0c629c34f38f5f6872ee3f16275876db">sl811_roothub_check</a>, .data = NULL,}</pre></div></div></div><p><a class="anchor" name="fc9f5e8894c82e44f3ebe104df7d5fb6"></a><!-- doxytag: member="sl811hs-hcd.c::td_usba" ref="fc9f5e8894c82e44f3ebe104df7d5fb6" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a>* <a class="el" href="sl811hs-hcd_8c.html#fc9f5e8894c82e44f3ebe104df7d5fb6">td_usba</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="14a82e7d20769a960e54b3eaa0122b94"></a><!-- doxytag: member="sl811hs-hcd.c::td_usbb" ref="14a82e7d20769a960e54b3eaa0122b94" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a>* <a class="el" href="sl811hs-hcd_8c.html#14a82e7d20769a960e54b3eaa0122b94">td_usbb</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 08:14:11 2007 for usbstack 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 + -