usb_srv_client.h
|
int32_t OpenDevice(const UsbDevice &device, USBDevicePipe &pip);
|
打开USB设备,建立连接
|
int32_t HasRight(std::string deviceName);
|
判断是否有权访问设备
|
int32_t RequestRight(std::string deviceName);
|
请求给定软件包的临时权限以访问设备
|
int32_t GetDevices(std::vector &deviceList);
|
获取USB设备列表
|
int32_t ClaimInterface(USBDevicePipe &pip, const UsbInterface &interface, bool force);
|
打开接口,并申明独占接口,必须在数据传输前执行
|
int32_t ReleaseInterface(USBDevicePipe &pip, const UsbInterface &interface);
|
关闭接口,释放接口的占用,在停止数据传输后执行
|
int32_t BulkTransfer(USBDevicePipe &pip, const USBEndpoint &endpoint, std::vector &vdata, int32_t timeout);
|
在给定端点上执行批量数据传输, 返回读取或发送的数据长度,通过端点方向确定读取或发送数据
|
int32_t ControlTransfer(USBDevicePipe &pip, const UsbCtrlTransfer &ctrl, std::vector &vdata);
|
对此设备执行端点零的控制事务,传输方向由请求类型决定
|
int32_t SetConfiguration(USBDevicePipe &pip, const USBConfig &config);
|
设置设备当前使用的配置,通过配置值进行指定
|
int32_t SetInterface(USBDevicePipe &pipe, const UsbInterface &interface);
|
设置指定接口的备选设置,用于在具有相同ID但不同备用设置的两个接口之间进行选择
|
int32_t GetRawDescriptors(std::vector &vdata);
|
获取原始的USB描述符
|
int32_t GetFileDescriptor();
|
获取文件描述符
|
bool Close(const USBDevicePipe &pip);
|
关闭设备,释放与设备相关的所有系统资源
|
int32_t PipeRequestWait(USBDevicePipe &pip, int64_t timeout, UsbRequest &req);
|
获取异步传输结果
|
int32_t RequestInitialize(UsbRequest &request);
|
初始化异步数据传输request
|
int32_t RequestFree(UsbRequest &request);
|
释放异步数据传输request
|
| int32_t RequestAbort(UsbRequest &request);
|
取消待处理的数据请求
|
int32_t RequestQueue(UsbRequest &request);
|
将指定的端点进行异步数据发送或者接收请求,数据传输方向由端点方向决定
|
int32_t BulkRequstDataSize(const UsbDev &dev, const UsbPipe &pipe, uint32_t &length);
|
异步批量读取数据,传输大量数据时使用
|
int32_t BulkReadData(const UsbDev &dev, const UsbPipe &pipe, std::vector &data);
|
与BulkReadData配合使用,获取读取结果
|
int32_t BulkWriteData(const UsbDev &dev, const UsbPipe &pipe, const std::vector &data);
|
异步批量写数据,传输大量数据时使用
|
int32_t BulkGetWriteCompleteLength(const UsbDev &dev, const UsbPipe &pipe, uint32_t &length);
|
与BulkWriteData配合使用,获取写入状态,由length描述
|