📄 usb_8h.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/core/usb.h 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/core/usb.h File Reference</h1><code>#include <lib/types.h></code><br><code>#include <<a class="el" href="core_8h-source.html">core/core.h</a>></code><br><p><a href="usb_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Functions</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="usb_8h.html#b1ab8d31ba6bf15352c1b62500f7ec7d">usb_open</a> (u32 vendor_id, u32 product_id)</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="usb_8h.html#52c2bd3e63f3188fba38052e833f5afd">usb_open_class</a> (u8 class)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#a016743f793d7fbe430b91a6ac19bbca">usb_close</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#30772d3ad0aab2e7185c3678c95cc604">usb_get_device_descriptor</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, char *buf, u8 size)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#5a09d4be5e45fe503236041ada40405d">usb_set_address</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 address)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#0d65fa2357fef7e70f480e6b479975cf">usb_set_configuration</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 configuration)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#f61ea8d82c09b7bc9a7d5944ebe03c1c">usb_set_altinterface</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 alternate)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#cabbd669fcfbbd1ff806b37344c0486e">usb_reset</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#1819f0ea1b21096f25d9f7f6747aae41">usb_control_msg</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 requesttype, u8 request, u16 value, u16 index, u16 length, char *buf, u16 size, u16 timeout)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#5ebf547e758584cccc3d12def6b2706a">usb_get_string</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 index, u8 langid, char *buf, u8 buflen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#c724192e64a16676a38f9a84c6e0a657">usb_get_string_simple</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 index, char *buf, u8 buflen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#c018ca15172cdaf5e46cb88eadee6de2">usb_get_descriptor</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, unsigned char type, unsigned char index, void *buf, u8 size)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#780bd3c2aeb11aa07d94e7fd2814091e">usb_bulk_write</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 ep, char *buf, u8 size, u8 timeout)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#09618efcb98dc1cf22908bc76973ac5b">usb_bulk_read</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 ep, char *buf, u8 size, u8 timeout)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#748c402a0d9400622abff015492e7c6b">usb_u8errupt_write</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 ep, char *buf, u8 size, u8 timeout)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#ed39685b228fc5b4192d0ff6b3acc12a">usb_u8errupt_read</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 ep, char *buf, u8 size, u8 timeout)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#c36bbab7df127d7d2076bc04b3a12a40">usb_isochron_write</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 ep, char *buf, u8 size, u8 timeout)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="usb_8h.html#2764be421f5db3fe7546ef8d591f39e5">usb_isochron_read</a> (<a class="el" href="structusb__device__t.html">usb_device</a> *dev, u8 ep, char *buf, u8 size, u8 timeout)</td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="09618efcb98dc1cf22908bc76973ac5b"></a><!-- doxytag: member="usb.h::usb_bulk_read" ref="09618efcb98dc1cf22908bc76973ac5b" args="(usb_device *dev, u8 ep, char *buf, u8 size, u8 timeout)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_bulk_read </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>ep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>timeout</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>Read from an bulk endpoint. </div></div><p><a class="anchor" name="780bd3c2aeb11aa07d94e7fd2814091e"></a><!-- doxytag: member="usb.h::usb_bulk_write" ref="780bd3c2aeb11aa07d94e7fd2814091e" args="(usb_device *dev, u8 ep, char *buf, u8 size, u8 timeout)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_bulk_write </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>ep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>timeout</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>Write to an a bulk endpoint. </div></div><p><a class="anchor" name="a016743f793d7fbe430b91a6ac19bbca"></a><!-- doxytag: member="usb.h::usb_close" ref="a016743f793d7fbe430b91a6ac19bbca" args="(usb_device *dev)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_close </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Close device after a communication. </div></div><p><a class="anchor" name="1819f0ea1b21096f25d9f7f6747aae41"></a><!-- doxytag: member="usb.h::usb_control_msg" ref="1819f0ea1b21096f25d9f7f6747aae41" args="(usb_device *dev, u8 requesttype, u8 request, u16 value, u16 index, u16 length, char *buf, u16 size, u16 timeout)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_control_msg </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>requesttype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>request</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"> <em>value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"> <em>index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"> <em>timeout</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>Create a control transfer. </div></div><p><a class="anchor" name="c018ca15172cdaf5e46cb88eadee6de2"></a><!-- doxytag: member="usb.h::usb_get_descriptor" ref="c018ca15172cdaf5e46cb88eadee6de2" args="(usb_device *dev, unsigned char type, unsigned char index, void *buf, u8 size)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_get_descriptor </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"> <em>index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>size</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></div></div><p><a class="anchor" name="30772d3ad0aab2e7185c3678c95cc604"></a><!-- doxytag: member="usb.h::usb_get_device_descriptor" ref="30772d3ad0aab2e7185c3678c95cc604" args="(usb_device *dev, char *buf, u8 size)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_get_device_descriptor </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>size</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></div></div><p><a class="anchor" name="5ebf547e758584cccc3d12def6b2706a"></a><!-- doxytag: member="usb.h::usb_get_string" ref="5ebf547e758584cccc3d12def6b2706a" args="(usb_device *dev, u8 index, u8 langid, char *buf, u8 buflen)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_get_string </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>langid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>buflen</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></div></div><p><a class="anchor" name="c724192e64a16676a38f9a84c6e0a657"></a><!-- doxytag: member="usb.h::usb_get_string_simple" ref="c724192e64a16676a38f9a84c6e0a657" args="(usb_device *dev, u8 index, char *buf, u8 buflen)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 usb_get_string_simple </td> <td>(</td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -