编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

其他实用程序函数

本节介绍在 USB 设备驱动程序中有用的其他函数。

检索字符串描述符

调用 usb_get_string_descr(9F) 函数可检索给定了索引的字符串描述符。一些配置、接口或设备描述符具有关联的字符串 ID。这样的描述符包含具有非零值的字符串索引字段。将字符串索引字段值传递给 usb_get_string_descr(9F) 可检索对应的字符串。

管道专用数据工具

每个管道都有一个空间指针,专供客户机驱动程序使用。使用 usb_pipe_set_private(9F) 函数可安装一个值。使用 usb_pipe_get_private(9F) 函数可检索该值。当管道可能需要将其自己的客户机定义状态传递到回调,以进行特定处理时,此工具在回调中很有用。

清除 USB 条件

使用 usb_clr_feature(9F) 函数可以完成以下任务:

  • 发出 USB CLEAR_FEATURE 请求以清除端点的停止条件。

  • 清除设备的远程唤醒条件。

  • 在设备级别、接口级别或端点级别清除特定于设备的条件。

获取设备、接口或端点状态

使用 usb_get_status(9F) 函数可发出 USB GET_STATUS 请求,以检索设备、接口或端点的状态。

  • 设备状态。自备电源并启用远程唤醒。

  • 接口状态。根据 USB 2.0 规范返回零。

  • 端点状态。已停止端点。此状态指示运行延迟。必须清除停止状态才能重新运行设备。

    协议延迟指示发出了不支持的控制管道请求。在下一个控制传输开始时将会自动清除协议延迟。

获取设备的总线地址

使用 usb_get_addr(9F) 函数可获取设备的 USB 总线地址以用于调试目的。此地址映射到特定的 USB 端口。