zoukankan      html  css  js  c++  java
  • Linux 内核 usb_control_msg 接口

    usb_control_msg 函数就像 usb_bulk_msg 函数, 除了它允许一个驱动发送和结束 USB 控制信息:

    int usb_control_msg(struct usb_device *dev, unsigned int pipe, u8 request, u8 requesttype,   u16 value,   u16 index, void *data,   u16 size, int timeout);

    这个函数的参数几乎和 usb_bulk_msg 的相同, 有几个这样的不同: struct usb_device *dev

    指向发送控制消息去的 USB 设备的指针. unsigned int pipe

    控制消息要发送到的 USB 设备的特定端点. 这个值在 usb_sndctrlpipe 或者 usb_rcvctrlpipe 函数中被创建.

        u8 request

    这个控制消息的 USB 请求值.

        u8 requesttype

    这个控制消息的 USB 请求类型.

        u16 value

    这个控制消息的 USB 消息值.

        u16 index

    这个控制消息的 USB 消息索引值. void *data

    如果是一个 OUT 端点, 是一个指向要发送到设备的数据的指针. 如果是一个 IN 端点, 是一个在被从设备读取后数据被放置的地方的指针.

        u16 size

    被 data 参数指向的缓冲的大小. int timeout

    时间量, 以嘀哒计, 应当在超时前等待的. 如果这个值是 0, 这个函数将等待消息 结束.

    如果函数是成功的, 它返回被传送到或从这个设备的字节数. 如果它不成功, 它返回一个 负错误码.

    参数 request, requesttype, value, 和 index 都直接映射到 USB 规范给一个 USB 控 制消息如何被定义. 对于更多的关于这些参数的有效值的信息和它们如何被使用, 见 USB 规范的第 9 章.

    象 usb_bulk_msg 函数, 函数 usb_control_msg 不能被从中断上下文或者持有自旋锁中 被调用. 还有, 这个函数不能被任何其他函数取消, 所以当使用它时要小心; 确认你的驱 动的 disconnect 函数了解足够多, 在允许它自己被从内存卸载之前完成等待调用.

  • 相关阅读:
    Android Listview 隐藏滚动条
    打开Activity时,不自动显示(弹出)虚拟键盘
    Spring Boot web API接口设计之token、timestamp、sign
    WPF ListView点击删除某一行并获取绑定数据
    WPF中控件的显示与隐藏
    WPF 格式化输出- IValueConverter接口的使用 datagrid列中的值转换显示
    WPF之DataGrid应用 翻页
    WPF中修改DataGrid单元格值并保存
    DataGrid获取单元格的值
    WPF DataGrid 列宽填充表格方法
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11147393.html
Copyright © 2011-2022 走看看