chensuoqian
驱动牛犊
驱动牛犊
  • 注册日期2003-02-25
  • 最后登录2003-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3680回复:4

usb驱动中ioctl函数第三个参数的用法!!!

楼主#
更多 发布于:2003-05-25 09:40
ioctl函数第三个参数传送的数据是不是指setup数据包的内容,还是别的什么数据!
ioctl函数中copy_from_user函数的参数如下:
copy_from_user(&args,(void *)arg,sizeof(args))
指针args是指向setup数据包的(内核空间)。第二个参数arg是指向用户空间的,能不能讲一下这个参数具体指向用户空间的何处,谢谢!!
我的理解是这个参数就是用户空间所调用的ioctl函数的第三个参数,不知道对不对?


 

 
chensuoqian
驱动牛犊
驱动牛犊
  • 注册日期2003-02-25
  • 最后登录2003-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-28 09:29
谢谢dos回答我的问题!我正在做毕设,课题是实现一块dsp板的usb驱动,驱动框架已经完成!但在完成与硬件进行数据传输的功能时,
老师给我一个结构让我在驱动中定义,结构如下:
USB_GSM_REQ
        { UCHAR bmRequestType
          UCHAR bRequest
          USHORT WValue
          USHORT WIndex
          USHORT WLength
        }
这个usb设备的底层是由老师自己写的,我不知如何在我的驱动中实现,请指教!!
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-28 00:36
命令及其参数用于app与driver交换信息。比如定义一个命令为读取数据,那么参数可能包含数据长度、位移和buffer。
setup包属于controller和device之间在硬件层的协议,跟软件没有任何关系。
chensuoqian
驱动牛犊
驱动牛犊
  • 注册日期2003-02-25
  • 最后登录2003-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-27 09:28
命令的参数具体是指什么?是不是向设备发送的一些控制信息??这个参数和setup数据包有关系吗?
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-25 22:16
第三个参数时命令码,你的意思应该是第四个参数吧。每一个ioctl命令执行不同的操作,需要不同的参数。用户层app调用ioctl命令时,会把对应这个命令的参数一同传给driver。
游客

返回顶部