⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 storage_8c.html

📁 usbport-sl811usb主控器芯片usb程序实现
💻 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/drivers/class/storage.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&nbsp;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&nbsp;List</span></a></li>    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>  </ul></div><h1>/home/bene/projects/sl811/usbstack/drivers/class/storage.c File Reference</h1><code>#include &lt;wait.h&gt;</code><br><code>#include &lt;stdlib.h&gt;</code><br><code>#include &lt;<a class="el" href="core_8h-source.html">core/core.h</a>&gt;</code><br><code>#include &lt;<a class="el" href="usb_8h-source.html">core/usb.h</a>&gt;</code><br><code>#include &lt;<a class="el" href="usb11spec_8h-source.html">usbspec/usb11spec.h</a>&gt;</code><br><code>#include &quot;<a class="el" href="storage_8h-source.html">storage.h</a>&quot;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#4e132cfaa78353e3af1474a86b2dd535">MAX_DEVICES</a>&nbsp;&nbsp;&nbsp;2</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#0a6c6c3eb155433864323844b151598f">usb_storage_probe</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#970ba00b5d6db799471427b0a3d3151f">usb_storage_check</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#52045de442f01c1fa8498142802b2677">usb_storage_init</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#9cb488439837f7cc33205637dacd74bd">usb_storage_open</a> (u8 device)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#4d0f224bc7398d381944304e85b01cd2">usb_storage_inquiry</a> (u8 device)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#2bfcaffcb1a2abc12372dac39bcbdf3b">usb_storage_read_capacity</a> (u8 device)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#c95fa60ab8bc84aa3c4c9cd7b8337c0d">usb_storage_read_sector</a> (u8 device, u32 sector, char *buf)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#33504a0f1a785365f956ee06fa97d49d">usb_storage_write_sector</a> (u8 device, u32 sector, char *buf)</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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#4501521348d4e3560df4d6a703e57da0">massstorage</a> [MAX_DEVICES]</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#4b83b9e724e643b04dadfa22ba4a94ae">sectorsize</a> [MAX_DEVICES]</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#8ce1f15d6f9717645330318ee1023230">massstorage_in_use</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__driver__t.html">usb_driver</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage_8c.html#43d5f58db83c9692fb088be7d46f764b">storage</a></td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="4e132cfaa78353e3af1474a86b2dd535"></a><!-- doxytag: member="storage.c::MAX_DEVICES" ref="4e132cfaa78353e3af1474a86b2dd535" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define MAX_DEVICES&nbsp;&nbsp;&nbsp;2          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="970ba00b5d6db799471427b0a3d3151f"></a><!-- doxytag: member="storage.c::usb_storage_check" ref="970ba00b5d6db799471427b0a3d3151f" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usb_storage_check           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="52045de442f01c1fa8498142802b2677"></a><!-- doxytag: member="storage.c::usb_storage_init" ref="52045de442f01c1fa8498142802b2677" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usb_storage_init           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="4d0f224bc7398d381944304e85b01cd2"></a><!-- doxytag: member="storage.c::usb_storage_inquiry" ref="4d0f224bc7398d381944304e85b01cd2" args="(u8 device)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_storage_inquiry           </td>          <td>(</td>          <td class="paramtype">u8&nbsp;</td>          <td class="paramname"> <em>device</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="9cb488439837f7cc33205637dacd74bd"></a><!-- doxytag: member="storage.c::usb_storage_open" ref="9cb488439837f7cc33205637dacd74bd" args="(u8 device)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_storage_open           </td>          <td>(</td>          <td class="paramtype">u8&nbsp;</td>          <td class="paramname"> <em>device</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>open connection to an storage device </div></div><p><a class="anchor" name="0a6c6c3eb155433864323844b151598f"></a><!-- doxytag: member="storage.c::usb_storage_probe" ref="0a6c6c3eb155433864323844b151598f" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usb_storage_probe           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="2bfcaffcb1a2abc12372dac39bcbdf3b"></a><!-- doxytag: member="storage.c::usb_storage_read_capacity" ref="2bfcaffcb1a2abc12372dac39bcbdf3b" args="(u8 device)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_storage_read_capacity           </td>          <td>(</td>          <td class="paramtype">u8&nbsp;</td>          <td class="paramname"> <em>device</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="c95fa60ab8bc84aa3c4c9cd7b8337c0d"></a><!-- doxytag: member="storage.c::usb_storage_read_sector" ref="c95fa60ab8bc84aa3c4c9cd7b8337c0d" args="(u8 device, u32 sector, char *buf)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_storage_read_sector           </td>          <td>(</td>          <td class="paramtype">u8&nbsp;</td>          <td class="paramname"> <em>device</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">u32&nbsp;</td>          <td class="paramname"> <em>sector</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>buf</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="33504a0f1a785365f956ee06fa97d49d"></a><!-- doxytag: member="storage.c::usb_storage_write_sector" ref="33504a0f1a785365f956ee06fa97d49d" args="(u8 device, u32 sector, char *buf)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_storage_write_sector           </td>          <td>(</td>          <td class="paramtype">u8&nbsp;</td>          <td class="paramname"> <em>device</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">u32&nbsp;</td>          <td class="paramname"> <em>sector</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>buf</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></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="4501521348d4e3560df4d6a703e57da0"></a><!-- doxytag: member="storage.c::massstorage" ref="4501521348d4e3560df4d6a703e57da0" args="[MAX_DEVICES]" --><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="storage_8c.html#4501521348d4e3560df4d6a703e57da0">massstorage</a>[MAX_DEVICES]          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="8ce1f15d6f9717645330318ee1023230"></a><!-- doxytag: member="storage.c::massstorage_in_use" ref="8ce1f15d6f9717645330318ee1023230" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 <a class="el" href="storage_8c.html#8ce1f15d6f9717645330318ee1023230">massstorage_in_use</a>          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="4b83b9e724e643b04dadfa22ba4a94ae"></a><!-- doxytag: member="storage.c::sectorsize" ref="4b83b9e724e643b04dadfa22ba4a94ae" args="[MAX_DEVICES]" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u16 <a class="el" href="storage_8c.html#4b83b9e724e643b04dadfa22ba4a94ae">sectorsize</a>[MAX_DEVICES]          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="43d5f58db83c9692fb088be7d46f764b"></a><!-- doxytag: member="storage.c::storage" ref="43d5f58db83c9692fb088be7d46f764b" 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="storage_8c.html#43d5f58db83c9692fb088be7d46f764b">storage</a>          </td>        </tr>      </table></div><div class="memdoc"><p><b>Initial value:</b><div class="fragment"><pre class="fragment"> {  .name   = <span class="stringliteral">"storage"</span>,  .probe  = <a class="code" href="storage_8c.html#0a6c6c3eb155433864323844b151598f">usb_storage_probe</a>,  .check  = <a class="code" href="storage_8c.html#970ba00b5d6db799471427b0a3d3151f">usb_storage_check</a>,  .data   = NULL}</pre></div></div></div><p><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 08:14:11 2007 for usbstack by&nbsp;<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 + -