• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15import UsbServerTypes;
16sequenceable OHOS.IRemoteObject;
17sequenceable UsbDevice..OHOS.USB.UsbDevice;
18sequenceable UsbAccessory..OHOS.USB.USBAccessory;
19sequenceable UsbPort..OHOS.USB.UsbPort;
20sequenceable UsbEndpoint..OHOS.USB.USBEndpoint;
21sequenceable UsbSerialType..OHOS.USB.UsbSerialPort;
22sequenceable UsbSerialType..OHOS.USB.UsbSerialAttr;
23sequenceable UsbBulkTransData..OHOS.USB.UsbBulkTransData;
24
25interface OHOS.USB.IUsbServer {
26    /* the function about UsbService */
27    [macrodef USB_MANAGER_FEATURE_HOST] void GetDevices([out]UsbDevice[] deviceList);
28    [macrodef USB_MANAGER_FEATURE_HOST] void OpenDevice([in]unsigned char busNum, [in]unsigned char devAddr);
29    [macrodef USB_MANAGER_FEATURE_HOST] void Close([in]unsigned char busNum, [in]unsigned char devAddr);
30    [macrodef USB_MANAGER_FEATURE_HOST] void ResetDevice([in]unsigned char busNum, [in]unsigned char devAddr);
31    [macrodef USB_MANAGER_FEATURE_HOST] void ClaimInterface([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid, [in]unsigned char force);
32    [macrodef USB_MANAGER_FEATURE_HOST] void SetInterface([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid, [in]unsigned char altIndex);
33    [macrodef USB_MANAGER_FEATURE_HOST] void ReleaseInterface([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid);
34    [macrodef USB_MANAGER_FEATURE_HOST] void SetActiveConfig([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char configId);
35    [macrodef USB_MANAGER_FEATURE_HOST] void ManageGlobalInterface([in]boolean disable);
36    [macrodef USB_MANAGER_FEATURE_HOST] void ManageDevice([in]int vendorId, [in]int productId, [in]boolean disable);
37    [macrodef USB_MANAGER_FEATURE_HOST] void ManageInterfaceType([in]UsbDeviceTypeInfo[] disableType, [in]boolean disable);
38    [macrodef USB_MANAGER_FEATURE_HOST] void UsbAttachKernelDriver([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid);
39    [macrodef USB_MANAGER_FEATURE_HOST] void UsbDetachKernelDriver([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid);
40    [macrodef USB_MANAGER_FEATURE_HOST] void ClearHalt([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid, [in]unsigned char endpointId);
41    [macrodef USB_MANAGER_FEATURE_HOST] void GetActiveConfig([in]unsigned char busNum, [in]unsigned char devAddr, [out]unsigned char configId);
42    [macrodef USB_MANAGER_FEATURE_HOST] void GetRawDescriptor([in]unsigned char busNum, [in]unsigned char devAddr, [out]unsigned char[] bufferData);
43    [macrodef USB_MANAGER_FEATURE_HOST] void GetFileDescriptor([in]unsigned char busNum, [in]unsigned char devAddr, [out]FileDescriptor fd);
44    [macrodef USB_MANAGER_FEATURE_HOST] void GetDeviceSpeed([in]unsigned char busNum, [in]unsigned char devAddr, [out]unsigned char speed);
45    [macrodef USB_MANAGER_FEATURE_HOST] void GetInterfaceActiveStatus([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid, [out]boolean unactivated);
46    [macrodef USB_MANAGER_FEATURE_HOST] void BulkTransferRead([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [out]UsbBulkTransData buffData, [in]int timeOut);
47    [macrodef USB_MANAGER_FEATURE_HOST] void BulkTransferWrite([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [in]UsbBulkTransData buffData, [in]int timeOut);
48    [macrodef USB_MANAGER_FEATURE_HOST] void BulkTransferReadwithLength([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [in]int length, [out]UsbBulkTransData buffData, [in]int timeOut);
49    [macrodef USB_MANAGER_FEATURE_HOST] void ControlTransfer([in]unsigned char busNum, [in]unsigned char devAddr, [in]UsbCtlSetUp ctrlParams, [inout]unsigned char[] bufferData);
50    [macrodef USB_MANAGER_FEATURE_HOST] void UsbControlTransfer([in]unsigned char busNum, [in]unsigned char devAddr, [in]UsbCtlSetUp ctrlParams, [inout]unsigned char[] bufferData);
51    [macrodef USB_MANAGER_FEATURE_HOST] void RequestQueue([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [in]unsigned char[] clientData, [in]unsigned char[] bufferData);
52    [macrodef USB_MANAGER_FEATURE_HOST] void RequestWait([in]unsigned char busNum, [in]unsigned char devAddr, [in]int timeOut, [inout]unsigned char[] clientData, [inout]unsigned char[] bufferData);
53    [macrodef USB_MANAGER_FEATURE_HOST] void RequestCancel([in]unsigned char busNum, [in]unsigned char devAddr, [in]unsigned char interfaceid, [in]unsigned char endpointId);
54    [macrodef USB_MANAGER_FEATURE_HOST] void UsbCancelTransfer([in]unsigned char busNum, [in]unsigned char devAddr, [in]int endpoint);
55    [macrodef USB_MANAGER_FEATURE_HOST] void UsbSubmitTransfer([in]unsigned char busNum, [in]unsigned char devAddr, [in]UsbTransInfo info, [in]IRemoteObject cb, [in]FileDescriptor fd, [in] int memSize);
56    [macrodef USB_MANAGER_FEATURE_HOST] void RegBulkCallback([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [in]IRemoteObject cb);
57    [macrodef USB_MANAGER_FEATURE_HOST] void UnRegBulkCallback([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep);
58    [macrodef USB_MANAGER_FEATURE_HOST] void BulkRead([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [in]FileDescriptor ashmem, [in] int memSize);
59    [macrodef USB_MANAGER_FEATURE_HOST] void BulkWrite([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep, [in]FileDescriptor ashmem, [in] int memSize);
60    [macrodef USB_MANAGER_FEATURE_HOST] void BulkCancel([in]unsigned char busNum, [in]unsigned char devAddr, [in]USBEndpoint ep);
61    [macrodef USB_MANAGER_FEATURE_HOST] void HasRight([in]String deviceName, [out]boolean hasRight);
62    [macrodef USB_MANAGER_FEATURE_HOST] void RequestRight([in]String deviceName);
63    [macrodef USB_MANAGER_FEATURE_HOST] void RemoveRight([in]String deviceName);
64    [macrodef USB_MANAGER_FEATURE_HOST] void AddRight([in]String bundleName, [in]String deviceName);
65    [macrodef USB_MANAGER_FEATURE_HOST] void AddAccessRight([in]String tokenId, [in]String deviceName);
66
67    [macrodef USB_MANAGER_FEATURE_DEVICE] void GetCurrentFunctions([out] int funcs);
68    [macrodef USB_MANAGER_FEATURE_DEVICE] void SetCurrentFunctions([in] int funcs);
69    [macrodef USB_MANAGER_FEATURE_DEVICE] int UsbFunctionsFromString([in] String funcs);
70    [macrodef USB_MANAGER_FEATURE_DEVICE] String UsbFunctionsToString([in] int funcs);
71    [macrodef USB_MANAGER_FEATURE_DEVICE] void AddAccessoryRight([in] unsigned int tokenId, [in] USBAccessory access);
72    [macrodef USB_MANAGER_FEATURE_DEVICE] void HasAccessoryRight([in] USBAccessory access, [out] boolean checkResult);
73    [macrodef USB_MANAGER_FEATURE_DEVICE] void RequestAccessoryRight([in] USBAccessory access, [out] boolean checkResult);
74    [macrodef USB_MANAGER_FEATURE_DEVICE] void CancelAccessoryRight([in] USBAccessory access);
75    [macrodef USB_MANAGER_FEATURE_DEVICE] void GetAccessoryList([out] USBAccessory[] accessList);
76    [macrodef USB_MANAGER_FEATURE_DEVICE] void OpenAccessory([in] USBAccessory access, [out] FileDescriptor fd);
77    [macrodef USB_MANAGER_FEATURE_DEVICE] void CloseAccessory([in] int fd);
78
79    [macrodef USB_MANAGER_FEATURE_PORT] void GetPorts([out]UsbPort[] ports);
80    [macrodef USB_MANAGER_FEATURE_PORT] void GetSupportedModes([in] int portId, [out] int supportedModes);
81    [macrodef USB_MANAGER_FEATURE_PORT] void SetPortRole([in] int portId, [in] int powerRole, [in] int dataRole);
82
83    void SerialOpen([in] int portId, [in] IRemoteObject serialRemote);
84    void SerialClose([in] int portId);
85    void SerialRead([in] int portId, [out]unsigned char[] buffData, [in]unsigned int size, [out]unsigned int actualSize, [in]unsigned int timeout);
86    void SerialWrite([in] int portId, [in]unsigned char[] buffData, [in]unsigned int size, [out]unsigned int actualSize, [in]unsigned int timeout);
87    void SerialGetAttribute([in] int portId, [out]UsbSerialAttr attribute);
88    void SerialSetAttribute([in] int portId, [in]UsbSerialAttr attribute);
89    void SerialGetPortList([out] UsbSerialPort[] serialPortList);
90    void AddSerialRight([in] unsigned int tokenId, [in] int portId);
91    void HasSerialRight([in] int portId, [out]boolean hasRight);
92    void RequestSerialRight([in] int portId, [out]boolean hasRight);
93    void CancelSerialRight([in] int portId);
94}