usb 结构体(USB structure).doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
usb 结构体(USB structure)

usb 结构体(USB structure) 结构usb_device_id来自include/linux/h mod_devicetable。 结构usb_device_id { 98 / *这场比赛吗?* / 99 __u16 match_flags; 一百 101 *用于特定于产品的匹配;范围是包含* 102 __u16 idvendor; 103 __u16 idproduct; 104 __u16 bcddevice_lo; 105 __u16 bcddevice_hi; 一百零六 107 / * * /用于设备类比赛 108 __u8 bdeviceclass; 109 __u8 bdevicesubclass; 110 __u8 bdeviceprotocol; 一百一十一 112 / * * /用于接口类比赛 113 __u8 binterfaceclass; 114 __u8 binterfacesubclass; 115 __u8 binterfaceprotocol; 一百一十六 117 / * * /不匹配 118 kernel_ulong_t driver_info; 119 }; 上节我们注意到id_index = id-storage_usb_ids,ID我们知道,storage_probe函数的两个形参之一,而 storage_usb_ids,不是别人,正是我们曾经赋给usb_storage_driver的成员id_table的值。忘记了 id_table的可以回去看。它实际上就是一张表格,告诉全世界我这个司机支持怎样的一些设 备。storage_usb_ids同样来自司机/ USB /存储/ C中USB, 111 *本表中的条目,除了最后的表外 112 *(usb_mass_storage_class和空项),对应, 113 *线与us_unsuaul_dev_list [ ]的条目。 114 * / 一百一十五 116 #定义unusual_dev(id_vendor,id_product,bcddevicemin,bcddevicemax,\ 117 vendorname,产品名称,useprotocol,usetransport,\ 118 initfunction、旗)\ 119 { usb_device_ver(id_vendor,id_product,bcddevicemin,bcddevicemax)} 一百二十 121静态结构usb_device_id storage_usb_ids [ ] = { 一百二十二 123 #包括“unusual_devs。” 124 # undef unusual_dev 125 *所有子类值的控制/批量传输* 126 { usb_interface_info(usb_class_mass_storage,us_sc_rbc, us_pr_cb)}, 127 { usb_interface_info(usb_class_mass_storage,us_sc_8020, us_pr_cb)}, usb_interface_info这个咚咚,很显 然这是一个宏,来自include/linux/h的USB, 482 #定义usb_interface_info(Cl,SC,PR)\ 483。match_flags = usb_device_id_match_int_info,binterfaceclass =。 (CL),。 binterfacesubclass = (sc),.binterfaceprotocol = (pr) 每一个usb _ interface _ info就是构造一个struct usb _ device _ id的结构体变量, 回顾一下我们之前 给出的struct usb _ device _ id的定义, 这里实际上就是为其中的四个元素赋了值, 它们是 match _ flags, binterfaceclass, binterfacesubclass, binterfaceprotocol. match _ flag, 它又是表示什么意思? usb interface _ info这个宏貌似把所有的设 _ 备的match _ flag都给设成了usb _ device _ id _ match _ int _ info, 这是为啥? 这个宏来自 include / linux / usb.h, 435 # define usb _ device _ id _ match _ int _ info \ 436 (usb _ device _ id _ match _ int _ class | usb _ device _ i

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档