#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.
相关推荐
LDD3学习笔记设备模型之底层实现(kobject,kset)[汇编].pdf
LDD2+LDD3 linux设备驱动
经典 LDD3,linux驱动开发 linux驱动开发
ldd code ldd3驱动源代码 ldd code ldd3驱动源代码
LDD3是linux驱动开发的基础入门级图书,适合刚接触linux驱动的新手学习。
本资源为ldd3详解,该书中详细介绍了ldd3的使用以及各种驱动的设置
Linux 设备驱动 Edition 3 - LDD3中文版,学习linux必备之书,pdf格式
LDD-LinuxDeviceDrivers#1书籍-一些书中的原始码和范例目录书籍#2 study--本人的linux学习以及驱动代码目录书籍学习Linux内核的设计与实现,包括文档和示例代码,文档与同步更新自己实现的一些linux内核的驱动代码...
包含linux设备驱动 第三版(ldd3)书中所有源码。
这是《linux设备驱动程序》的全部源代码 学习linux设备驱动的时候可以参考一下
高清PDF,全英文版
自己总结外带网络搜集,用来复习的,方便个人随时随地下载,如果你喜欢,也可以下载
Linux_设备驱动_Edition_3_-_LDD3中文版.pdf
Linux设备驱动程序(中文版第三版) 例子
LDD-3(Linux驱动)中文版,绝对好东西
ldd3-examples-3.x, 在 linux 3.x 之后,端口LDD3源代码示例 ldd3-examples-3.xlinux 3 。x 之后LDD3源代码示例的端口背景LDD3是Linux设备驱动程序,第三版。 这是一本关于如何编写linux设备驱动程序的。 你可以从 ...
ldd3中文版、chmldd3中文版chm
LDD3配套源码,配合我的百度云分享的虚拟机可以直接编译运行(虚拟机另行在我上传的资源里下载,相关可以参考我的LDD3系列博客)
由于对Linux设备驱动程序设计的需求,所以前段时间在网上下载了LDD3的HTML格式文档,在看的时候感觉不太好看,同时为了打印方便,把它转化为PDF格式,所以在此与大家一起分享。 由于本资料不是本人自创,也是来自于...
Linux内核与设备驱动程序学习笔记