LDD3学习笔记(16):USB驱动

#include<linux/usb.h>

所有和USB相关的头文件.它必须被所有的USB设备驱动包含.

structusb_driver;

描述USB驱动的结构.

structusb_device_id;

描述这个驱动支持的USB设备的结构.

intusb_register(structusb_driver*d);

用来从USB核心注册和注销一个USB驱动的函数.

structusb_device*interface_to_usbdev(structusb_interface*intf);

structusb_interface获取控制structusb_device*.

structusb_device;

控制完整USB设备的结构.

structusb_interface;

USB设备结构,所有的USB驱动用来和USB核心通讯的.

voidusb_set_intfdata(structusb_interface*intf,void*data);

void*usb_get_intfdata(structusb_interface*intf);

设置和获取在structusb_interface中的私有数据指针部分的函数.

structusb_class_driver;

描述USB驱动的一个结构,这个驱动要使用USB主编号来和用户空间程序通讯.

intusb_register_dev(structusb_interface*intf,structusb_class_driver*class_driver);

voidusb_deregister_dev(structusb_interface*intf,structusb_class_driver*class_driver);

用来注册和注销一个特定structusb_interface*结构到structusb_class_driver结构的函数.

structurb;

描述一个USB数据传输的结构.

structurb*usb_alloc_urb(intiso_packets,intmem_flags);

voidusb_free_urb(structurb*urb);

用来创建和销毁一个structusburb*的函数.

intusb_submit_urb(structurb*urb,intmem_flags);

intusb_kill_urb(structurb*urb);

intusb_unlink_urb(structurb*urb);

用来启动和停止一个USB数据传输的函数.

voidusb_fill_int_urb(structurb*urb,structusb_device*dev,unsignedintpipe,void*transfer_buffer,int

buffer_length,usb_complete_tcomplete,void*context,intinterval);

voidusb_fill_bulk_urb(structurb*urb,structusb_device*dev,unsignedintpipe,void*transfer_buffer,int

buffer_length,usb_complete_tcomplete,void*context);

voidusb_fill_control_urb(structurb*urb,structusb_device*dev,unsignedintpipe,unsignedchar

*setup_packet,void*transfer_buffer,intbuffer_length,usb_complete_tcomplete,void*context);

用来在被提交给USB核心之前初始化一个structurb的函数.

intusb_bulk_msg(structusb_device*usb_dev,unsignedintpipe,void*data,intlen,int*actual_length,int

timeout);

intusb_control_msg(structusb_device*dev,unsignedintpipe,__u8request,__u8requesttype,__u16

value,__u16index,void*data,__u16size,inttimeout);

用来发送和接受USB数据的函数,不必使用一个structurb.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值