readme.md
1**USB HDI API 接口**
2
3| C++接口申明 | C++接口描述 |
4| ------------------------------------------------------------ | ------------------------------------------------------------ |
5| int32_t OpenDevice(const UsbDev &dev); | 打开设备,建立连接 |
6| int32_t CloseDevice(const UsbDev &dev); | 关闭设备,释放与设备相关的所有系统资源 |
7| int32_t GetDeviceDescriptor(const UsbDev &dev, std::vector<uint8_t> &decriptor); | 获取设备描述符 |
8| int32_t GetConfigDescriptor(const UsbDev &dev, uint8_t descId, std::vector<uint8_t> &decriptor); | 获取设备的配置描述符 |
9| int32_t GetStringDescriptor(const UsbDev &dev, uint8_t descId, std::vector<uint8_t> &decriptor); | 获取设备的字符串描述符 |
10| int32_t SetConfig(const UsbDev &dev, uint8_t configIndex); | 设置设备当前使用的配置,通过配置值进行指定 |
11| int32_t GetConfig(const UsbDev &dev, uint8_t &configIndex); | 获取当前生效的配置值 |
12| int32_t ClaimInterface(const UsbDev &dev, uint8_t interfaceid); | 打开接口,并申明独占接口,必须在数据传输前执行 |
13| int32_t ReleaseInterface(const UsbDev &dev, uint8_t interfaceid); | 关闭接口,释放接口的占用,在停止数据传输后执行 |
14| int32_t SetInterface(const UsbDev &dev, uint8_t interfaceid, uint8_t altIndex); | 设置指定接口的备选设置,用于在具有相同ID但不同备用设置的两个接口之间进行选择 |
15| int32_t BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector<uint8_t> &data); | 在给定端点上执行批量数据读取, 返回读取的数据和长度,端点方向必须为数据读取 |
16| int32_t BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, const std::vector<uint8_t> &data); | 在给定端点上执行批量数据写入, 返回读取的数据和长度,端点方向必须为数据写入 |
17| int32_t ControlTransfer(const UsbDev &dev, const UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data); | 对此设备执行端点零的控制事务,传输方向由请求类型决定。 如果requestType& USB_ENDPOINT_DIR_MASK是USB_DIR_OUT ,则传输是写入,如果是USB_DIR_IN ,则传输是读取。 |
18| int32_t InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, <br/> std::vector<uint8_t> &data); | 在给定端点上执行中断数据读取, 返回读取的数据和长度,端点方向必须为数据读取 |
19| int32_t InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, <br/> std::vector<uint8_t> &data); | 在给定端点上执行中断数据写入, 返回读取的数据和长度,端点方向必须为数据写入 |
20| int32_t IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector<uint8_t> &data); | 在给定端点上执行等时数据读取, 返回读取的数据和长度,端点方向必须为数据读取 |
21| int32_t IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector<uint8_t> &data); | 在给定端点上执行等时数据写入, 返回读取的数据和长度,端点方向必须为数据写入 |
22| int32_t RequestQueue(const UsbDev &dev, const UsbPipe &pipe, const std::vector<uint8_t> &clientData, <br/> const std::vector<uint8_t> &buffer); | 将指定的端点进行异步数据发送或者接收请求,数据传输方向由端点方向决定 |
23| int32_t<br/> RequestWait(const UsbDev &dev, std::vector<uint8_t> &clientData, std::vector<uint8_t> &buffer, int32_t timeout); | 等待RequestQueue异步请求的操作结果 |
24| int32_t RequestCancel(const UsbDev &dev, const UsbPipe &pipe); | 取消待处理的数据请求 |
25| int32_t SetPortRole(int32_t portId, int32_t powerRole, int32_t dataRole); | 设置端口工作模式(从设备) |
26| int32_t GetCurrentFunctions(int32_t &funcs); | 获取从设备支持的功能列表(按位域表示)(从设备) |
27| int32_t SetCurrentFunctions(int32_t funcs); | 设置从设备支持的功能列表(按位域表示)(从设备) |
28| int32_t QueryPort(int32_t &portId, int32_t &powerRole, int32_t &dataRole, int32_t &mode); | 查询端口的当前设置(从设备) |
29| int32_t BindUsbdSubscriber(const sptr<UsbdSubscriber> &subscriber); | 绑定订阅者 |
30| int32_t UnbindUsbdSubscriber(); | 解绑订阅者 |
31