`
mmdev
  • 浏览: 12913724 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics