USB设备信息各数据结构的组织关系

最近在学习USB协议,对照《Linux 那些事儿之我是USB Core》学习内核代码,从获取设备配置信息的函数usb_get_configuration开始,usb_parse_configuration,usb_parse_interface, usb_parse_endpoint三个函数内部的数据结构组织关系比较复杂,特意花时间把其中到数据结构关系整理了一下,希望有助记忆和理解。

下图中,蓝色部分是驱动中描述USB设备配置(广义配置,包括接口,端点等)的数据结构的指向关系,橙色部分是存放从设备读出来到配置信息的buffer,这几个函数的目的就是对buffer中的数据进行解析,把有用信息记录到驱动中的结构体中。

图中使用的符号说明:

英文句号.表示结构体成员,每一级子成员右缩进两字符

单向箭头表示指针指向或者有关联。

双向箭头表示驱动中的结构体是从buffer中拷贝一块数据直接填充;

起点为圆点的箭头表示是对当前数据结构的放大,表现更详细的信息

省略号表示其左侧的结构体有多个并排,是一个数组。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值