- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- oracle hang分析(Oracle挂分析).doc
- oracle to_char&to_date(Oracle to_char和to_date).doc
- oracle 事务控制、数据并发性和一致性(Oracle transaction control, data concurrency, and consistency).doc
- oracle job 语法和时间间隔的设定(The Oracle job syntax and the setting of the time interval).doc
- oracle 几个服务各代表什么作用(Oracle what are the roles of several services).doc
- oracle 删除重复内容(Oracle删除重复内容).doc
- oracle sql中查找和删除重复记录方法(Find and delete duplicate record methods in Oracle SQL).doc
- oracle 最简单的学习笔记,增删改查,plsql基本语法,游标,函数,存储过程的实现(Oracle the simplest learning notes, additions and deletions to change, PLSQL basic syntax, cursors, functions, stored procedures to achieve).doc
- oracle 锁机制42(Oracle锁机制42).doc
- ofdm基本原理及应用(Fundamentals and applications of OFDM).doc
- Dell戴尔Dell Technologies PowerStore 易失性声明.pdf
- 华为星河AI金融目标网络白皮书.pdf
- 玩家国度ROG Mothership GZ700 笔记本电脑 GZ700GX 匈牙利文版升级指南.pdf
- HPE ProLiant DX385 Systems Integrated with Nutanix Software Deliver Scalable Performance for Oracle 19c Database技术文档用户手册.pdf
- MSI微星笔记本电脑尊爵14 AI+ Evo C2VMG-007CN产品手册用户手册(语言 Norwegian).pdf
- Samsung三星液晶显示器 32英寸 G80SD 240hz OLED电竞显示器 S32DG800SCProduct Guide.pdf
- Dell戴尔ECS Monthly Support Highlights – May 2024说明书用户手册.pdf
- Acer宏碁显示器V SeriesV247YE0快速指南使用手册.pdf
- Apache Cassandra® Tuning Guide for AMD EPYC™ 7003 Series Processors技术文档用户手册.pdf
- SPRT思普瑞特打印机SP-POS890使用说明书(1.10)用户手册.pdf
文档评论(0)