161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit BasicServicesKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci/** 2261847f8eSopenharmony_ci * This module provides the capability of manage USB device. 2361847f8eSopenharmony_ci * 2461847f8eSopenharmony_ci * @namespace usbManager 2561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 2661847f8eSopenharmony_ci * @since 9 2761847f8eSopenharmony_ci */ 2861847f8eSopenharmony_cideclare namespace usbManager { 2961847f8eSopenharmony_ci /** 3061847f8eSopenharmony_ci * Obtains the USB device list. 3161847f8eSopenharmony_ci * 3261847f8eSopenharmony_ci * @returns { Array<Readonly<USBDevice>> } USB device list. 3361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 3461847f8eSopenharmony_ci * @since 9 3561847f8eSopenharmony_ci */ 3661847f8eSopenharmony_ci function getDevices(): Array<Readonly<USBDevice>>; 3761847f8eSopenharmony_ci 3861847f8eSopenharmony_ci /** 3961847f8eSopenharmony_ci * Connects to the USB device based on the device information returned by getDevices(). 4061847f8eSopenharmony_ci * 4161847f8eSopenharmony_ci * @param { USBDevice } device - USB device on the device list returned by getDevices(). It cannot be empty. 4261847f8eSopenharmony_ci * @returns { Readonly<USBDevicePipe> } object for data transfer. 4361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 4461847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 4561847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 4661847f8eSopenharmony_ci * @throws { BusinessError } 14400001 - Permission denied. Call requestRight to get the permission first. 4761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 4861847f8eSopenharmony_ci * @since 9 4961847f8eSopenharmony_ci */ 5061847f8eSopenharmony_ci function connectDevice(device: USBDevice): Readonly<USBDevicePipe>; 5161847f8eSopenharmony_ci 5261847f8eSopenharmony_ci /** 5361847f8eSopenharmony_ci * Checks whether the application has the permission to access the device. 5461847f8eSopenharmony_ci * 5561847f8eSopenharmony_ci * @param { string } deviceName - device name defined by USBDevice.name. It cannot be empty. 5661847f8eSopenharmony_ci * @returns { boolean } indicates if the user has the permission to access the device. 5761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 5861847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 5961847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 6061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 6161847f8eSopenharmony_ci * @since 9 6261847f8eSopenharmony_ci */ 6361847f8eSopenharmony_ci function hasRight(deviceName: string): boolean; 6461847f8eSopenharmony_ci 6561847f8eSopenharmony_ci /** 6661847f8eSopenharmony_ci * Requests the permission for a given application to access the USB device. 6761847f8eSopenharmony_ci * The system application has access to the device by default, and there is no need to call this interface to apply. 6861847f8eSopenharmony_ci * 6961847f8eSopenharmony_ci * @param { string } deviceName - device name defined by USBDevice.name. It cannot be empty. 7061847f8eSopenharmony_ci * @returns { Promise<boolean> } indicates if the device access permissions are granted. 7161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 7261847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 7361847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 7461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 7561847f8eSopenharmony_ci * @since 9 7661847f8eSopenharmony_ci */ 7761847f8eSopenharmony_ci function requestRight(deviceName: string): Promise<boolean>; 7861847f8eSopenharmony_ci 7961847f8eSopenharmony_ci /** 8061847f8eSopenharmony_ci * Remove the permission for a given application to access the USB device. 8161847f8eSopenharmony_ci * The system application has access to the device by default, and calling this interface will not have any impact. 8261847f8eSopenharmony_ci * 8361847f8eSopenharmony_ci * @param { string } deviceName - device name defined by USBDevice.name. It cannot be empty. 8461847f8eSopenharmony_ci * @returns { boolean } indicates if the device access permissions are removed. 8561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 8661847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 8761847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 8861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 8961847f8eSopenharmony_ci * @since 9 9061847f8eSopenharmony_ci */ 9161847f8eSopenharmony_ci function removeRight(deviceName: string): boolean; 9261847f8eSopenharmony_ci 9361847f8eSopenharmony_ci /** 9461847f8eSopenharmony_ci * Add device access permission. 9561847f8eSopenharmony_ci * The system application has access to the device by default, and calling this interface will not have any impact. 9661847f8eSopenharmony_ci * 9761847f8eSopenharmony_ci * @param { string } bundleName - refers to application that require access permissions. It cannot be empty. 9861847f8eSopenharmony_ci * @param { string } deviceName - device name defined by USBDevice.name. It cannot be empty. 9961847f8eSopenharmony_ci * @returns { boolean } value to indicate whether the permission is granted. 10061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 10161847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 10261847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 10361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 10461847f8eSopenharmony_ci * @systemapi 10561847f8eSopenharmony_ci * @since 9 10661847f8eSopenharmony_ci * @deprecated since 12 10761847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#addDeviceAccessRight 10861847f8eSopenharmony_ci */ 10961847f8eSopenharmony_ci function addRight(bundleName: string, deviceName: string): boolean; 11061847f8eSopenharmony_ci 11161847f8eSopenharmony_ci /** 11261847f8eSopenharmony_ci * Converts the string descriptor of a given USB function list to a numeric mask combination. 11361847f8eSopenharmony_ci * 11461847f8eSopenharmony_ci * @param { string } funcs - descriptor of the supported function list. It cannot be empty. 11561847f8eSopenharmony_ci * @returns { number } the numeric mask combination of the function list. 11661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 11761847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 11861847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 11961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 12061847f8eSopenharmony_ci * @systemapi 12161847f8eSopenharmony_ci * @since 9 12261847f8eSopenharmony_ci * @deprecated since 12 12361847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#getFunctionsFromString 12461847f8eSopenharmony_ci */ 12561847f8eSopenharmony_ci function usbFunctionsFromString(funcs: string): number; 12661847f8eSopenharmony_ci 12761847f8eSopenharmony_ci /** 12861847f8eSopenharmony_ci * Converts the numeric mask combination of a given USB function list to a string descriptor. 12961847f8eSopenharmony_ci * 13061847f8eSopenharmony_ci * @param { FunctionType } funcs - numeric mask combination of the function list. The type of funcs must be number. It cannot be empty. 13161847f8eSopenharmony_ci * @returns { string } - descriptor of the supported function list. 13261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 13361847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 13461847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 13561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 13661847f8eSopenharmony_ci * @systemapi 13761847f8eSopenharmony_ci * @since 9 13861847f8eSopenharmony_ci * @deprecated since 12 13961847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#getStringFromFunctions 14061847f8eSopenharmony_ci */ 14161847f8eSopenharmony_ci function usbFunctionsToString(funcs: FunctionType): string; 14261847f8eSopenharmony_ci 14361847f8eSopenharmony_ci /** 14461847f8eSopenharmony_ci * Sets the current USB function list in Device mode. 14561847f8eSopenharmony_ci * 14661847f8eSopenharmony_ci * @param { FunctionType } funcs - numeric mask combination of the supported function list. It cannot be empty. 14761847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 14861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 14961847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 15061847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 15161847f8eSopenharmony_ci * @throws { BusinessError } 14400002 - Permission denied. The HDC is disabled by the system. 15261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 15361847f8eSopenharmony_ci * @systemapi 15461847f8eSopenharmony_ci * @since 9 15561847f8eSopenharmony_ci * @deprecated since 12 15661847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#setDeviceFunctions 15761847f8eSopenharmony_ci */ 15861847f8eSopenharmony_ci function setCurrentFunctions(funcs: FunctionType): Promise<void>; 15961847f8eSopenharmony_ci 16061847f8eSopenharmony_ci /** 16161847f8eSopenharmony_ci * Obtains the numeric mask combination for the current USB function list in Device mode. 16261847f8eSopenharmony_ci * 16361847f8eSopenharmony_ci * @returns { FunctionType } the numeric mask combination for the current USB function list in FunctionType. 16461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 16561847f8eSopenharmony_ci * @systemapi 16661847f8eSopenharmony_ci * @since 9 16761847f8eSopenharmony_ci * @deprecated since 12 16861847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#getDeviceFunctions 16961847f8eSopenharmony_ci */ 17061847f8eSopenharmony_ci function getCurrentFunctions(): FunctionType; 17161847f8eSopenharmony_ci 17261847f8eSopenharmony_ci /* usb port functions begin */ 17361847f8eSopenharmony_ci /** 17461847f8eSopenharmony_ci * Obtains the USBPort list. 17561847f8eSopenharmony_ci * 17661847f8eSopenharmony_ci * @returns { Array<USBPort> } the USBPort list. 17761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 17861847f8eSopenharmony_ci * @systemapi 17961847f8eSopenharmony_ci * @since 9 18061847f8eSopenharmony_ci * @deprecated since 12 18161847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#getPortList 18261847f8eSopenharmony_ci */ 18361847f8eSopenharmony_ci function getPorts(): Array<USBPort>; 18461847f8eSopenharmony_ci 18561847f8eSopenharmony_ci /** 18661847f8eSopenharmony_ci * Gets the mask combination for the supported mode list of the specified USBPort. 18761847f8eSopenharmony_ci * 18861847f8eSopenharmony_ci * @param { number } portId - unique ID of the port. It cannot be empty. 18961847f8eSopenharmony_ci * @returns { PortModeType } the mask combination for the supported mode list in PortModeType. 19061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 19161847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 19261847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 19361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 19461847f8eSopenharmony_ci * @systemapi 19561847f8eSopenharmony_ci * @since 9 19661847f8eSopenharmony_ci * @deprecated since 12 19761847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#getPortSupportModes 19861847f8eSopenharmony_ci */ 19961847f8eSopenharmony_ci function getSupportedModes(portId: number): PortModeType; 20061847f8eSopenharmony_ci 20161847f8eSopenharmony_ci /** 20261847f8eSopenharmony_ci * Sets the role types supported by the specified USBPort, which can be powerRole (for charging) and dataRole (for data transfer). 20361847f8eSopenharmony_ci * 20461847f8eSopenharmony_ci * @param { number } portId - unique ID of the port. It cannot be empty. 20561847f8eSopenharmony_ci * @param { PowerRoleType } powerRole - charging role. It cannot be empty. 20661847f8eSopenharmony_ci * @param { DataRoleType } dataRole - data role. It cannot be empty. 20761847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 20861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 20961847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 21061847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 21161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 21261847f8eSopenharmony_ci * @systemapi 21361847f8eSopenharmony_ci * @since 9 21461847f8eSopenharmony_ci * @deprecated since 12 21561847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#setPortRoleTypes 21661847f8eSopenharmony_ci */ 21761847f8eSopenharmony_ci function setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise<void>; 21861847f8eSopenharmony_ci 21961847f8eSopenharmony_ci /** 22061847f8eSopenharmony_ci * Add USB device access right. 22161847f8eSopenharmony_ci * The system application has access to the device by default, and calling this interface will not have any impact. 22261847f8eSopenharmony_ci * 22361847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 22461847f8eSopenharmony_ci * @param { string } tokenId - refers to application that require access permissions. It cannot be empty. 22561847f8eSopenharmony_ci * @param { string } deviceName - device name defined by USBDevice.name. It cannot be empty. 22661847f8eSopenharmony_ci * @returns { boolean } value to indicate whether the permission is granted. 22761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 22861847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 22961847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 23061847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 23161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 23261847f8eSopenharmony_ci * @systemapi 23361847f8eSopenharmony_ci * @since 12 23461847f8eSopenharmony_ci */ 23561847f8eSopenharmony_ci function addDeviceAccessRight(tokenId: string, deviceName: string): boolean; 23661847f8eSopenharmony_ci 23761847f8eSopenharmony_ci /** 23861847f8eSopenharmony_ci * Converts the string descriptor of a given USB function list to a numeric mask combination. 23961847f8eSopenharmony_ci * 24061847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 24161847f8eSopenharmony_ci * @param { string } funcs - descriptor of the supported function list. It cannot be empty. 24261847f8eSopenharmony_ci * @returns { number } the numeric mask combination of the function list. 24361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 24461847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 24561847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 24661847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 24761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 24861847f8eSopenharmony_ci * @systemapi 24961847f8eSopenharmony_ci * @since 12 25061847f8eSopenharmony_ci */ 25161847f8eSopenharmony_ci function getFunctionsFromString(funcs: string): number; 25261847f8eSopenharmony_ci 25361847f8eSopenharmony_ci /** 25461847f8eSopenharmony_ci * Converts the numeric mask combination of a given USB function list to a string descriptor. 25561847f8eSopenharmony_ci * 25661847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 25761847f8eSopenharmony_ci * @param { FunctionType } funcs - numeric mask combination of the function list. It cannot be empty. 25861847f8eSopenharmony_ci * @returns { string } - descriptor of the supported function list. 25961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 26061847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 26161847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 26261847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 26361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 26461847f8eSopenharmony_ci * @systemapi 26561847f8eSopenharmony_ci * @since 12 26661847f8eSopenharmony_ci */ 26761847f8eSopenharmony_ci function getStringFromFunctions(funcs: FunctionType): string; 26861847f8eSopenharmony_ci 26961847f8eSopenharmony_ci /** 27061847f8eSopenharmony_ci * Sets the current USB function list in Device mode. 27161847f8eSopenharmony_ci * 27261847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 27361847f8eSopenharmony_ci * @param { FunctionType } funcs - numeric mask combination of the supported function list. It cannot be empty. 27461847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 27561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 27661847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 27761847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 27861847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 27961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 28061847f8eSopenharmony_ci * @systemapi 28161847f8eSopenharmony_ci * @since 12 28261847f8eSopenharmony_ci */ 28361847f8eSopenharmony_ci function setDeviceFunctions(funcs: FunctionType): Promise<void>; 28461847f8eSopenharmony_ci 28561847f8eSopenharmony_ci /** 28661847f8eSopenharmony_ci * Obtains the numeric mask combination for the current USB function list in Device mode. 28761847f8eSopenharmony_ci * 28861847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 28961847f8eSopenharmony_ci * @returns { FunctionType } the numeric mask combination for the current USB function list in FunctionType. 29061847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 29161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 29261847f8eSopenharmony_ci * @systemapi 29361847f8eSopenharmony_ci * @since 12 29461847f8eSopenharmony_ci */ 29561847f8eSopenharmony_ci function getDeviceFunctions(): FunctionType; 29661847f8eSopenharmony_ci 29761847f8eSopenharmony_ci /* usb port functions begin */ 29861847f8eSopenharmony_ci /** 29961847f8eSopenharmony_ci * Obtains the USBPort list. 30061847f8eSopenharmony_ci * 30161847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 30261847f8eSopenharmony_ci * @returns { Array<USBPort> } the USBPort list. 30361847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 30461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 30561847f8eSopenharmony_ci * @systemapi 30661847f8eSopenharmony_ci * @since 12 30761847f8eSopenharmony_ci */ 30861847f8eSopenharmony_ci function getPortList(): Array<USBPort>; 30961847f8eSopenharmony_ci 31061847f8eSopenharmony_ci /** 31161847f8eSopenharmony_ci * Gets the mask combination for the supported mode list of the specified USBPort. 31261847f8eSopenharmony_ci * 31361847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 31461847f8eSopenharmony_ci * @param { number } portId - unique ID of the port. It cannot be empty. 31561847f8eSopenharmony_ci * @returns { PortModeType } the mask combination for the supported mode list in PortModeType. 31661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 31761847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 31861847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 31961847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 32061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 32161847f8eSopenharmony_ci * @systemapi 32261847f8eSopenharmony_ci * @since 12 32361847f8eSopenharmony_ci */ 32461847f8eSopenharmony_ci function getPortSupportModes(portId: number): PortModeType; 32561847f8eSopenharmony_ci 32661847f8eSopenharmony_ci /** 32761847f8eSopenharmony_ci * Sets the role types supported by the specified USBPort, which can be powerRole (for charging) and dataRole (for data transfer). 32861847f8eSopenharmony_ci * 32961847f8eSopenharmony_ci * @permission ohos.permission.MANAGE_USB_CONFIG 33061847f8eSopenharmony_ci * @param { number } portId - unique ID of the port. It cannot be empty. 33161847f8eSopenharmony_ci * @param { PowerRoleType } powerRole - charging role. It cannot be empty. 33261847f8eSopenharmony_ci * @param { DataRoleType } dataRole - data role. It cannot be empty. 33361847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 33461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 33561847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 33661847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 33761847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. Normal application do not have permission to use system api. 33861847f8eSopenharmony_ci * @throws { BusinessError } 14400003 - Unsupported operation. The current device does not support port role switching. 33961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 34061847f8eSopenharmony_ci * @systemapi 34161847f8eSopenharmony_ci * @since 12 34261847f8eSopenharmony_ci */ 34361847f8eSopenharmony_ci function setPortRoleTypes(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise<void>; 34461847f8eSopenharmony_ci 34561847f8eSopenharmony_ci /* usb pipe functions begin */ 34661847f8eSopenharmony_ci /** 34761847f8eSopenharmony_ci * Claims a USB interface. 34861847f8eSopenharmony_ci * 34961847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the bus number and device address. It cannot be empty. 35061847f8eSopenharmony_ci * @param { USBInterface } iface - USB interface, which is used to determine the interface to claim. It cannot be empty. 35161847f8eSopenharmony_ci * @param { boolean } [force] - optional parameter that determines whether to forcibly claim the USB interface. 35261847f8eSopenharmony_ci * @returns { number } returns **0** if the USB interface is successfully claimed; returns an error code otherwise. 35361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 35461847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 35561847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 35661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 35761847f8eSopenharmony_ci * @since 9 35861847f8eSopenharmony_ci */ 35961847f8eSopenharmony_ci function claimInterface(pipe: USBDevicePipe, iface: USBInterface, force?: boolean): number; 36061847f8eSopenharmony_ci 36161847f8eSopenharmony_ci /** 36261847f8eSopenharmony_ci * Releases a USB interface. 36361847f8eSopenharmony_ci * 36461847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the bus number and device address. It cannot be empty. 36561847f8eSopenharmony_ci * @param { USBInterface } iface - USB interface, which is used to determine the interface to release. It cannot be empty. 36661847f8eSopenharmony_ci * @returns { number } returns **0** if the USB interface is successfully released; returns an error code otherwise. 36761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 36861847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 36961847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 37061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 37161847f8eSopenharmony_ci * @since 9 37261847f8eSopenharmony_ci */ 37361847f8eSopenharmony_ci function releaseInterface(pipe: USBDevicePipe, iface: USBInterface): number; 37461847f8eSopenharmony_ci 37561847f8eSopenharmony_ci /** 37661847f8eSopenharmony_ci * Sets the device configuration. 37761847f8eSopenharmony_ci * 37861847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the bus number and device address. It cannot be empty. 37961847f8eSopenharmony_ci * @param { USBConfiguration } config - device configuration. It cannot be empty. 38061847f8eSopenharmony_ci * @returns { number } returns **0** if the device configuration is successfully set; returns an error code otherwise. 38161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 38261847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 38361847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 38461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 38561847f8eSopenharmony_ci * @since 9 38661847f8eSopenharmony_ci */ 38761847f8eSopenharmony_ci function setConfiguration(pipe: USBDevicePipe, config: USBConfiguration): number; 38861847f8eSopenharmony_ci 38961847f8eSopenharmony_ci /** 39061847f8eSopenharmony_ci * Sets a USB interface. 39161847f8eSopenharmony_ci * 39261847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the bus number and device address. It cannot be empty. 39361847f8eSopenharmony_ci * @param { USBInterface } iface - USB interface, which is used to determine the interface to set. It cannot be empty. 39461847f8eSopenharmony_ci * @returns { number } returns **0** if the USB interface is successfully set; return an error code otherwise. 39561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 39661847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 39761847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 39861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 39961847f8eSopenharmony_ci * @since 9 40061847f8eSopenharmony_ci */ 40161847f8eSopenharmony_ci function setInterface(pipe: USBDevicePipe, iface: USBInterface): number; 40261847f8eSopenharmony_ci 40361847f8eSopenharmony_ci /** 40461847f8eSopenharmony_ci * Obtains the raw USB descriptor. 40561847f8eSopenharmony_ci * 40661847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the bus number and device address. It cannot be empty. 40761847f8eSopenharmony_ci * @returns { Uint8Array } returns the raw descriptor data. 40861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 40961847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 41061847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 41161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 41261847f8eSopenharmony_ci * @since 9 41361847f8eSopenharmony_ci */ 41461847f8eSopenharmony_ci function getRawDescriptor(pipe: USBDevicePipe): Uint8Array; 41561847f8eSopenharmony_ci 41661847f8eSopenharmony_ci /** 41761847f8eSopenharmony_ci * Obtains the file descriptor. 41861847f8eSopenharmony_ci * 41961847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the USB device. It cannot be empty. 42061847f8eSopenharmony_ci * @returns { number } returns the file descriptor of the USB device. 42161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 42261847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 42361847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 42461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 42561847f8eSopenharmony_ci * @since 9 42661847f8eSopenharmony_ci */ 42761847f8eSopenharmony_ci function getFileDescriptor(pipe: USBDevicePipe): number; 42861847f8eSopenharmony_ci 42961847f8eSopenharmony_ci /** 43061847f8eSopenharmony_ci * Performs control transfer. 43161847f8eSopenharmony_ci * 43261847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the USB device. It cannot be empty. 43361847f8eSopenharmony_ci * @param { USBControlParams } controlparam - control transfer parameters. It cannot be empty. 43461847f8eSopenharmony_ci * @param { number } [timeout] - timeout duration. This parameter is optional. The default value is **0**, indicating no timeout. 43561847f8eSopenharmony_ci * @returns { Promise<number> } returns the size of the transmitted or received data block if the control transfer is successful; 43661847f8eSopenharmony_ci * return -1 if an exception occurs. 43761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 43861847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 43961847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 44061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 44161847f8eSopenharmony_ci * @since 9 44261847f8eSopenharmony_ci * @deprecated since 12 44361847f8eSopenharmony_ci * @useinstead ohos.usbManager/usbManager#usbControlTransfer 44461847f8eSopenharmony_ci */ 44561847f8eSopenharmony_ci function controlTransfer(pipe: USBDevicePipe, controlparam: USBControlParams, timeout?: number): Promise<number>; 44661847f8eSopenharmony_ci 44761847f8eSopenharmony_ci /** 44861847f8eSopenharmony_ci * Performs usb control transfer. 44961847f8eSopenharmony_ci * 45061847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the USB device. It cannot be empty. 45161847f8eSopenharmony_ci * @param { USBDeviceRequestParams } requestparam - control transfer parameters. It cannot be empty. 45261847f8eSopenharmony_ci * @param { number } [timeout] - timeout duration. This parameter is optional. The default value is **0**, indicating no timeout. 45361847f8eSopenharmony_ci * @returns { Promise<number> } returns the size of the transmitted or received data block if the control transfer is successful; 45461847f8eSopenharmony_ci * return -1 if an exception occurs. 45561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 45661847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 45761847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 45861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 45961847f8eSopenharmony_ci * @since 12 46061847f8eSopenharmony_ci */ 46161847f8eSopenharmony_ci function usbControlTransfer(pipe: USBDevicePipe, requestparam: USBDeviceRequestParams, timeout?: number): Promise<number>; 46261847f8eSopenharmony_ci 46361847f8eSopenharmony_ci /** 46461847f8eSopenharmony_ci * Performs bulk transfer. 46561847f8eSopenharmony_ci * 46661847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the USB device. It cannot be empty. 46761847f8eSopenharmony_ci * @param { USBEndpoint } endpoint - USB endpoint, which is used to determine the USB port for data transfer. It cannot be empty. 46861847f8eSopenharmony_ci * @param { Uint8Array } buffer - buffer for writing or reading data. It cannot be empty. 46961847f8eSopenharmony_ci * @param { number } [timeout] - timeout duration. This parameter is optional. The default value is **0**, indicating no timeout. 47061847f8eSopenharmony_ci * @returns { Promise<number> } the size of the transmitted or received data block if the control transfer is successful; 47161847f8eSopenharmony_ci * return -1 if an exception occurs. 47261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 47361847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 47461847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 47561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 47661847f8eSopenharmony_ci * @since 9 47761847f8eSopenharmony_ci */ 47861847f8eSopenharmony_ci function bulkTransfer( 47961847f8eSopenharmony_ci pipe: USBDevicePipe, 48061847f8eSopenharmony_ci endpoint: USBEndpoint, 48161847f8eSopenharmony_ci buffer: Uint8Array, 48261847f8eSopenharmony_ci timeout?: number 48361847f8eSopenharmony_ci ): Promise<number>; 48461847f8eSopenharmony_ci 48561847f8eSopenharmony_ci /** 48661847f8eSopenharmony_ci * Closes a USB device pipe. 48761847f8eSopenharmony_ci * 48861847f8eSopenharmony_ci * @param { USBDevicePipe } pipe - device pipe, which is used to determine the USB device. It cannot be empty. 48961847f8eSopenharmony_ci * @returns { number } returns **0** if the USB device pipe is closed successfully; return an error code otherwise. 49061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 49161847f8eSopenharmony_ci * <br>1.Mandatory parameters are left unspecified. 49261847f8eSopenharmony_ci * <br>2.Incorrect parameter types. 49361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 49461847f8eSopenharmony_ci * @since 9 49561847f8eSopenharmony_ci */ 49661847f8eSopenharmony_ci function closePipe(pipe: USBDevicePipe): number; 49761847f8eSopenharmony_ci 49861847f8eSopenharmony_ci /** 49961847f8eSopenharmony_ci * Represents the USB endpoint from which data is sent or received. You can obtain the USB endpoint through USBInterface. 50061847f8eSopenharmony_ci * 50161847f8eSopenharmony_ci * @typedef USBEndpoint 50261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 50361847f8eSopenharmony_ci * @since 9 50461847f8eSopenharmony_ci */ 50561847f8eSopenharmony_ci interface USBEndpoint { 50661847f8eSopenharmony_ci /** 50761847f8eSopenharmony_ci * Endpoint address 50861847f8eSopenharmony_ci * 50961847f8eSopenharmony_ci * @type { number } 51061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 51161847f8eSopenharmony_ci * @since 9 51261847f8eSopenharmony_ci */ 51361847f8eSopenharmony_ci address: number; 51461847f8eSopenharmony_ci 51561847f8eSopenharmony_ci /** 51661847f8eSopenharmony_ci * Endpoint attributes 51761847f8eSopenharmony_ci * 51861847f8eSopenharmony_ci * @type { number } 51961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 52061847f8eSopenharmony_ci * @since 9 52161847f8eSopenharmony_ci */ 52261847f8eSopenharmony_ci attributes: number; 52361847f8eSopenharmony_ci 52461847f8eSopenharmony_ci /** 52561847f8eSopenharmony_ci * Endpoint interval 52661847f8eSopenharmony_ci * 52761847f8eSopenharmony_ci * @type { number } 52861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 52961847f8eSopenharmony_ci * @since 9 53061847f8eSopenharmony_ci */ 53161847f8eSopenharmony_ci interval: number; 53261847f8eSopenharmony_ci 53361847f8eSopenharmony_ci /** 53461847f8eSopenharmony_ci * Maximum size of data packets on the endpoint 53561847f8eSopenharmony_ci * 53661847f8eSopenharmony_ci * @type { number } 53761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 53861847f8eSopenharmony_ci * @since 9 53961847f8eSopenharmony_ci */ 54061847f8eSopenharmony_ci maxPacketSize: number; 54161847f8eSopenharmony_ci 54261847f8eSopenharmony_ci /** 54361847f8eSopenharmony_ci * Endpoint direction 54461847f8eSopenharmony_ci * 54561847f8eSopenharmony_ci * @type { USBRequestDirection } 54661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 54761847f8eSopenharmony_ci * @since 9 54861847f8eSopenharmony_ci */ 54961847f8eSopenharmony_ci direction: USBRequestDirection; 55061847f8eSopenharmony_ci 55161847f8eSopenharmony_ci /** 55261847f8eSopenharmony_ci * Endpoint number 55361847f8eSopenharmony_ci * 55461847f8eSopenharmony_ci * @type { number } 55561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 55661847f8eSopenharmony_ci * @since 9 55761847f8eSopenharmony_ci */ 55861847f8eSopenharmony_ci number: number; 55961847f8eSopenharmony_ci 56061847f8eSopenharmony_ci /** 56161847f8eSopenharmony_ci * Endpoint type 56261847f8eSopenharmony_ci * 56361847f8eSopenharmony_ci * @type { number } 56461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 56561847f8eSopenharmony_ci * @since 9 56661847f8eSopenharmony_ci */ 56761847f8eSopenharmony_ci type: number; 56861847f8eSopenharmony_ci 56961847f8eSopenharmony_ci /** 57061847f8eSopenharmony_ci * Unique ID defined by USBInterface.id, which indicates the interface to which the endpoint belongs 57161847f8eSopenharmony_ci * 57261847f8eSopenharmony_ci * @type { number } 57361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 57461847f8eSopenharmony_ci * @since 9 57561847f8eSopenharmony_ci */ 57661847f8eSopenharmony_ci interfaceId: number; 57761847f8eSopenharmony_ci } 57861847f8eSopenharmony_ci 57961847f8eSopenharmony_ci /** 58061847f8eSopenharmony_ci * Represents a USB interface. One config can contain multiple **USBInterface** instances, each providing a specific function. 58161847f8eSopenharmony_ci * 58261847f8eSopenharmony_ci * @typedef USBInterface 58361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 58461847f8eSopenharmony_ci * @since 9 58561847f8eSopenharmony_ci */ 58661847f8eSopenharmony_ci interface USBInterface { 58761847f8eSopenharmony_ci /** 58861847f8eSopenharmony_ci * Unique ID of the USB interface 58961847f8eSopenharmony_ci * 59061847f8eSopenharmony_ci * @type { number } 59161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 59261847f8eSopenharmony_ci * @since 9 59361847f8eSopenharmony_ci */ 59461847f8eSopenharmony_ci id: number; 59561847f8eSopenharmony_ci 59661847f8eSopenharmony_ci /** 59761847f8eSopenharmony_ci * Interface protocol 59861847f8eSopenharmony_ci * 59961847f8eSopenharmony_ci * @type { number } 60061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 60161847f8eSopenharmony_ci * @since 9 60261847f8eSopenharmony_ci */ 60361847f8eSopenharmony_ci protocol: number; 60461847f8eSopenharmony_ci 60561847f8eSopenharmony_ci /** 60661847f8eSopenharmony_ci * Device type 60761847f8eSopenharmony_ci * 60861847f8eSopenharmony_ci * @type { number } 60961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 61061847f8eSopenharmony_ci * @since 9 61161847f8eSopenharmony_ci */ 61261847f8eSopenharmony_ci clazz: number; 61361847f8eSopenharmony_ci 61461847f8eSopenharmony_ci /** 61561847f8eSopenharmony_ci * Device subclass 61661847f8eSopenharmony_ci * 61761847f8eSopenharmony_ci * @type { number } 61861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 61961847f8eSopenharmony_ci * @since 9 62061847f8eSopenharmony_ci */ 62161847f8eSopenharmony_ci subClass: number; 62261847f8eSopenharmony_ci 62361847f8eSopenharmony_ci /** 62461847f8eSopenharmony_ci * Alternation between descriptors of the same USB interface 62561847f8eSopenharmony_ci * 62661847f8eSopenharmony_ci * @type { number } 62761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 62861847f8eSopenharmony_ci * @since 9 62961847f8eSopenharmony_ci */ 63061847f8eSopenharmony_ci alternateSetting: number; 63161847f8eSopenharmony_ci 63261847f8eSopenharmony_ci /** 63361847f8eSopenharmony_ci * Interface name 63461847f8eSopenharmony_ci * 63561847f8eSopenharmony_ci * @type { string } 63661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 63761847f8eSopenharmony_ci * @since 9 63861847f8eSopenharmony_ci */ 63961847f8eSopenharmony_ci name: string; 64061847f8eSopenharmony_ci 64161847f8eSopenharmony_ci /** 64261847f8eSopenharmony_ci * USBEndpoint that belongs to the USB interface 64361847f8eSopenharmony_ci * 64461847f8eSopenharmony_ci * @type { Array<USBEndpoint> } 64561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 64661847f8eSopenharmony_ci * @since 9 64761847f8eSopenharmony_ci */ 64861847f8eSopenharmony_ci endpoints: Array<USBEndpoint>; 64961847f8eSopenharmony_ci } 65061847f8eSopenharmony_ci 65161847f8eSopenharmony_ci /** 65261847f8eSopenharmony_ci * USB configuration. One USBDevice can contain multiple USBConfiguration instances. 65361847f8eSopenharmony_ci * 65461847f8eSopenharmony_ci * @typedef USBConfiguration 65561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 65661847f8eSopenharmony_ci * @since 9 65761847f8eSopenharmony_ci */ 65861847f8eSopenharmony_ci interface USBConfiguration { 65961847f8eSopenharmony_ci /** 66061847f8eSopenharmony_ci * Unique ID of the USB configuration 66161847f8eSopenharmony_ci * 66261847f8eSopenharmony_ci * @type { number } 66361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 66461847f8eSopenharmony_ci * @since 9 66561847f8eSopenharmony_ci */ 66661847f8eSopenharmony_ci id: number; 66761847f8eSopenharmony_ci 66861847f8eSopenharmony_ci /** 66961847f8eSopenharmony_ci * Configuration attributes 67061847f8eSopenharmony_ci * 67161847f8eSopenharmony_ci * @type { number } 67261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 67361847f8eSopenharmony_ci * @since 9 67461847f8eSopenharmony_ci */ 67561847f8eSopenharmony_ci attributes: number; 67661847f8eSopenharmony_ci 67761847f8eSopenharmony_ci /** 67861847f8eSopenharmony_ci * Maximum power consumption, in mA 67961847f8eSopenharmony_ci * 68061847f8eSopenharmony_ci * @type { number } 68161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 68261847f8eSopenharmony_ci * @since 9 68361847f8eSopenharmony_ci */ 68461847f8eSopenharmony_ci maxPower: number; 68561847f8eSopenharmony_ci 68661847f8eSopenharmony_ci /** 68761847f8eSopenharmony_ci * Configuration name, which can be left empty 68861847f8eSopenharmony_ci * 68961847f8eSopenharmony_ci * @type { string } 69061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 69161847f8eSopenharmony_ci * @since 9 69261847f8eSopenharmony_ci */ 69361847f8eSopenharmony_ci name: string; 69461847f8eSopenharmony_ci 69561847f8eSopenharmony_ci /** 69661847f8eSopenharmony_ci * Support for remote wakeup 69761847f8eSopenharmony_ci * 69861847f8eSopenharmony_ci * @type { boolean } 69961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 70061847f8eSopenharmony_ci * @since 9 70161847f8eSopenharmony_ci */ 70261847f8eSopenharmony_ci isRemoteWakeup: boolean; 70361847f8eSopenharmony_ci 70461847f8eSopenharmony_ci /** 70561847f8eSopenharmony_ci * Support for independent power supplies 70661847f8eSopenharmony_ci * 70761847f8eSopenharmony_ci * @type { boolean } 70861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 70961847f8eSopenharmony_ci * @since 9 71061847f8eSopenharmony_ci */ 71161847f8eSopenharmony_ci isSelfPowered: boolean; 71261847f8eSopenharmony_ci 71361847f8eSopenharmony_ci /** 71461847f8eSopenharmony_ci * Supported interface attributes 71561847f8eSopenharmony_ci * 71661847f8eSopenharmony_ci * @type { Array<USBInterface> } 71761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 71861847f8eSopenharmony_ci * @since 9 71961847f8eSopenharmony_ci */ 72061847f8eSopenharmony_ci interfaces: Array<USBInterface>; 72161847f8eSopenharmony_ci } 72261847f8eSopenharmony_ci 72361847f8eSopenharmony_ci /** 72461847f8eSopenharmony_ci * Represents a USB device. 72561847f8eSopenharmony_ci * 72661847f8eSopenharmony_ci * @typedef USBDevice 72761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 72861847f8eSopenharmony_ci * @since 9 72961847f8eSopenharmony_ci */ 73061847f8eSopenharmony_ci interface USBDevice { 73161847f8eSopenharmony_ci /** 73261847f8eSopenharmony_ci * Bus address 73361847f8eSopenharmony_ci * 73461847f8eSopenharmony_ci * @type { number } 73561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 73661847f8eSopenharmony_ci * @since 9 73761847f8eSopenharmony_ci */ 73861847f8eSopenharmony_ci busNum: number; 73961847f8eSopenharmony_ci 74061847f8eSopenharmony_ci /** 74161847f8eSopenharmony_ci * Device address 74261847f8eSopenharmony_ci * 74361847f8eSopenharmony_ci * @type { number } 74461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 74561847f8eSopenharmony_ci * @since 9 74661847f8eSopenharmony_ci */ 74761847f8eSopenharmony_ci devAddress: number; 74861847f8eSopenharmony_ci 74961847f8eSopenharmony_ci /** 75061847f8eSopenharmony_ci * Device SN 75161847f8eSopenharmony_ci * 75261847f8eSopenharmony_ci * @type { string } 75361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 75461847f8eSopenharmony_ci * @since 9 75561847f8eSopenharmony_ci */ 75661847f8eSopenharmony_ci serial: string; 75761847f8eSopenharmony_ci 75861847f8eSopenharmony_ci /** 75961847f8eSopenharmony_ci * Device name 76061847f8eSopenharmony_ci * 76161847f8eSopenharmony_ci * @type { string } 76261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 76361847f8eSopenharmony_ci * @since 9 76461847f8eSopenharmony_ci */ 76561847f8eSopenharmony_ci name: string; 76661847f8eSopenharmony_ci 76761847f8eSopenharmony_ci /** 76861847f8eSopenharmony_ci * Device manufacturer 76961847f8eSopenharmony_ci * 77061847f8eSopenharmony_ci * @type { string } 77161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 77261847f8eSopenharmony_ci * @since 9 77361847f8eSopenharmony_ci */ 77461847f8eSopenharmony_ci manufacturerName: string; 77561847f8eSopenharmony_ci 77661847f8eSopenharmony_ci /** 77761847f8eSopenharmony_ci * Product information 77861847f8eSopenharmony_ci * 77961847f8eSopenharmony_ci * @type { string } 78061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 78161847f8eSopenharmony_ci * @since 9 78261847f8eSopenharmony_ci */ 78361847f8eSopenharmony_ci productName: string; 78461847f8eSopenharmony_ci 78561847f8eSopenharmony_ci /** 78661847f8eSopenharmony_ci * Product version 78761847f8eSopenharmony_ci * 78861847f8eSopenharmony_ci * @type { string } 78961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 79061847f8eSopenharmony_ci * @since 9 79161847f8eSopenharmony_ci */ 79261847f8eSopenharmony_ci version: string; 79361847f8eSopenharmony_ci 79461847f8eSopenharmony_ci /** 79561847f8eSopenharmony_ci * Vendor ID 79661847f8eSopenharmony_ci * 79761847f8eSopenharmony_ci * @type { number } 79861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 79961847f8eSopenharmony_ci * @since 9 80061847f8eSopenharmony_ci */ 80161847f8eSopenharmony_ci vendorId: number; 80261847f8eSopenharmony_ci 80361847f8eSopenharmony_ci /** 80461847f8eSopenharmony_ci * Product ID 80561847f8eSopenharmony_ci * 80661847f8eSopenharmony_ci * @type { number } 80761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 80861847f8eSopenharmony_ci * @since 9 80961847f8eSopenharmony_ci */ 81061847f8eSopenharmony_ci productId: number; 81161847f8eSopenharmony_ci 81261847f8eSopenharmony_ci /** 81361847f8eSopenharmony_ci * Device class 81461847f8eSopenharmony_ci * 81561847f8eSopenharmony_ci * @type { number } 81661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 81761847f8eSopenharmony_ci * @since 9 81861847f8eSopenharmony_ci */ 81961847f8eSopenharmony_ci clazz: number; 82061847f8eSopenharmony_ci 82161847f8eSopenharmony_ci /** 82261847f8eSopenharmony_ci * Device subclass 82361847f8eSopenharmony_ci * 82461847f8eSopenharmony_ci * @type { number } 82561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 82661847f8eSopenharmony_ci * @since 9 82761847f8eSopenharmony_ci */ 82861847f8eSopenharmony_ci subClass: number; 82961847f8eSopenharmony_ci 83061847f8eSopenharmony_ci /** 83161847f8eSopenharmony_ci * Device protocol code 83261847f8eSopenharmony_ci * 83361847f8eSopenharmony_ci * @type { number } 83461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 83561847f8eSopenharmony_ci * @since 9 83661847f8eSopenharmony_ci */ 83761847f8eSopenharmony_ci protocol: number; 83861847f8eSopenharmony_ci 83961847f8eSopenharmony_ci /** 84061847f8eSopenharmony_ci * Device configuration descriptor information 84161847f8eSopenharmony_ci * 84261847f8eSopenharmony_ci * @type { Array<USBConfiguration> } 84361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 84461847f8eSopenharmony_ci * @since 9 84561847f8eSopenharmony_ci */ 84661847f8eSopenharmony_ci configs: Array<USBConfiguration>; 84761847f8eSopenharmony_ci } 84861847f8eSopenharmony_ci 84961847f8eSopenharmony_ci /** 85061847f8eSopenharmony_ci * Represents a USB device pipe, which is used to determine the USB device. 85161847f8eSopenharmony_ci * 85261847f8eSopenharmony_ci * @typedef USBDevicePipe 85361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 85461847f8eSopenharmony_ci * @since 9 85561847f8eSopenharmony_ci */ 85661847f8eSopenharmony_ci interface USBDevicePipe { 85761847f8eSopenharmony_ci /** 85861847f8eSopenharmony_ci * Bus address. 85961847f8eSopenharmony_ci * 86061847f8eSopenharmony_ci * @type { number } 86161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 86261847f8eSopenharmony_ci * @since 9 86361847f8eSopenharmony_ci */ 86461847f8eSopenharmony_ci busNum: number; 86561847f8eSopenharmony_ci 86661847f8eSopenharmony_ci /** 86761847f8eSopenharmony_ci * Device address 86861847f8eSopenharmony_ci * 86961847f8eSopenharmony_ci * @type { number } 87061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 87161847f8eSopenharmony_ci * @since 9 87261847f8eSopenharmony_ci */ 87361847f8eSopenharmony_ci devAddress: number; 87461847f8eSopenharmony_ci } 87561847f8eSopenharmony_ci 87661847f8eSopenharmony_ci /** 87761847f8eSopenharmony_ci * Enumerates power role types. 87861847f8eSopenharmony_ci * 87961847f8eSopenharmony_ci * @enum { number } 88061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 88161847f8eSopenharmony_ci * @systemapi 88261847f8eSopenharmony_ci * @since 9 88361847f8eSopenharmony_ci */ 88461847f8eSopenharmony_ci export enum PowerRoleType { 88561847f8eSopenharmony_ci /** 88661847f8eSopenharmony_ci * None 88761847f8eSopenharmony_ci * 88861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 88961847f8eSopenharmony_ci * @systemapi 89061847f8eSopenharmony_ci * @since 9 89161847f8eSopenharmony_ci */ 89261847f8eSopenharmony_ci NONE = 0, 89361847f8eSopenharmony_ci 89461847f8eSopenharmony_ci /** 89561847f8eSopenharmony_ci * External power supply 89661847f8eSopenharmony_ci * 89761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 89861847f8eSopenharmony_ci * @systemapi 89961847f8eSopenharmony_ci * @since 9 90061847f8eSopenharmony_ci */ 90161847f8eSopenharmony_ci SOURCE = 1, 90261847f8eSopenharmony_ci 90361847f8eSopenharmony_ci /** 90461847f8eSopenharmony_ci * Internal power supply 90561847f8eSopenharmony_ci * 90661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 90761847f8eSopenharmony_ci * @systemapi 90861847f8eSopenharmony_ci * @since 9 90961847f8eSopenharmony_ci */ 91061847f8eSopenharmony_ci SINK = 2 91161847f8eSopenharmony_ci } 91261847f8eSopenharmony_ci 91361847f8eSopenharmony_ci /** 91461847f8eSopenharmony_ci * Enumerates data role types. 91561847f8eSopenharmony_ci * 91661847f8eSopenharmony_ci * @enum { number } 91761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 91861847f8eSopenharmony_ci * @systemapi 91961847f8eSopenharmony_ci * @since 9 92061847f8eSopenharmony_ci */ 92161847f8eSopenharmony_ci export enum DataRoleType { 92261847f8eSopenharmony_ci /** 92361847f8eSopenharmony_ci * None 92461847f8eSopenharmony_ci * 92561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 92661847f8eSopenharmony_ci * @systemapi 92761847f8eSopenharmony_ci * @since 9 92861847f8eSopenharmony_ci */ 92961847f8eSopenharmony_ci NONE = 0, 93061847f8eSopenharmony_ci 93161847f8eSopenharmony_ci /** 93261847f8eSopenharmony_ci * Host mode 93361847f8eSopenharmony_ci * 93461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 93561847f8eSopenharmony_ci * @systemapi 93661847f8eSopenharmony_ci * @since 9 93761847f8eSopenharmony_ci */ 93861847f8eSopenharmony_ci HOST = 1, 93961847f8eSopenharmony_ci 94061847f8eSopenharmony_ci /** 94161847f8eSopenharmony_ci * Device mode 94261847f8eSopenharmony_ci * 94361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 94461847f8eSopenharmony_ci * @systemapi 94561847f8eSopenharmony_ci * @since 9 94661847f8eSopenharmony_ci */ 94761847f8eSopenharmony_ci DEVICE = 2 94861847f8eSopenharmony_ci } 94961847f8eSopenharmony_ci 95061847f8eSopenharmony_ci /** 95161847f8eSopenharmony_ci * Enumerates port mode types 95261847f8eSopenharmony_ci * 95361847f8eSopenharmony_ci * @enum { number } 95461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 95561847f8eSopenharmony_ci * @systemapi 95661847f8eSopenharmony_ci * @since 9 95761847f8eSopenharmony_ci */ 95861847f8eSopenharmony_ci export enum PortModeType { 95961847f8eSopenharmony_ci /** 96061847f8eSopenharmony_ci * None 96161847f8eSopenharmony_ci * 96261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 96361847f8eSopenharmony_ci * @systemapi 96461847f8eSopenharmony_ci * @since 9 96561847f8eSopenharmony_ci */ 96661847f8eSopenharmony_ci NONE = 0, 96761847f8eSopenharmony_ci 96861847f8eSopenharmony_ci /** 96961847f8eSopenharmony_ci * Upstream facing port, which functions as the sink of power supply 97061847f8eSopenharmony_ci * 97161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 97261847f8eSopenharmony_ci * @systemapi 97361847f8eSopenharmony_ci * @since 9 97461847f8eSopenharmony_ci */ 97561847f8eSopenharmony_ci UFP = 1, 97661847f8eSopenharmony_ci 97761847f8eSopenharmony_ci /** 97861847f8eSopenharmony_ci * Downstream facing port, which functions as the source of power supply 97961847f8eSopenharmony_ci * 98061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 98161847f8eSopenharmony_ci * @systemapi 98261847f8eSopenharmony_ci * @since 9 98361847f8eSopenharmony_ci */ 98461847f8eSopenharmony_ci DFP = 2, 98561847f8eSopenharmony_ci 98661847f8eSopenharmony_ci /** 98761847f8eSopenharmony_ci * Dynamic reconfiguration port (DRP), which can function as the DFP (host) or UFP (device). It is not supported currently. 98861847f8eSopenharmony_ci * 98961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 99061847f8eSopenharmony_ci * @systemapi 99161847f8eSopenharmony_ci * @since 9 99261847f8eSopenharmony_ci */ 99361847f8eSopenharmony_ci DRP = 3, 99461847f8eSopenharmony_ci 99561847f8eSopenharmony_ci /** 99661847f8eSopenharmony_ci * Not supported currently 99761847f8eSopenharmony_ci * 99861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 99961847f8eSopenharmony_ci * @systemapi 100061847f8eSopenharmony_ci * @since 9 100161847f8eSopenharmony_ci */ 100261847f8eSopenharmony_ci NUM_MODES = 4 100361847f8eSopenharmony_ci } 100461847f8eSopenharmony_ci 100561847f8eSopenharmony_ci /** 100661847f8eSopenharmony_ci * Enumerates USB device port roles. 100761847f8eSopenharmony_ci * 100861847f8eSopenharmony_ci * @typedef USBPortStatus 100961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 101061847f8eSopenharmony_ci * @systemapi 101161847f8eSopenharmony_ci * @since 9 101261847f8eSopenharmony_ci */ 101361847f8eSopenharmony_ci interface USBPortStatus { 101461847f8eSopenharmony_ci /** 101561847f8eSopenharmony_ci * USB mode 101661847f8eSopenharmony_ci * 101761847f8eSopenharmony_ci * @type { number } 101861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 101961847f8eSopenharmony_ci * @systemapi 102061847f8eSopenharmony_ci * @since 9 102161847f8eSopenharmony_ci */ 102261847f8eSopenharmony_ci currentMode: number; 102361847f8eSopenharmony_ci 102461847f8eSopenharmony_ci /** 102561847f8eSopenharmony_ci * Power role 102661847f8eSopenharmony_ci * 102761847f8eSopenharmony_ci * @type { number } 102861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 102961847f8eSopenharmony_ci * @systemapi 103061847f8eSopenharmony_ci * @since 9 103161847f8eSopenharmony_ci */ 103261847f8eSopenharmony_ci currentPowerRole: number; 103361847f8eSopenharmony_ci 103461847f8eSopenharmony_ci /** 103561847f8eSopenharmony_ci * Data role 103661847f8eSopenharmony_ci * 103761847f8eSopenharmony_ci * @type { number } 103861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 103961847f8eSopenharmony_ci * @systemapi 104061847f8eSopenharmony_ci * @since 9 104161847f8eSopenharmony_ci */ 104261847f8eSopenharmony_ci currentDataRole: number; 104361847f8eSopenharmony_ci } 104461847f8eSopenharmony_ci 104561847f8eSopenharmony_ci /** 104661847f8eSopenharmony_ci * Represents a USB device port. 104761847f8eSopenharmony_ci * 104861847f8eSopenharmony_ci * @typedef USBPort 104961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 105061847f8eSopenharmony_ci * @systemapi 105161847f8eSopenharmony_ci * @since 9 105261847f8eSopenharmony_ci */ 105361847f8eSopenharmony_ci interface USBPort { 105461847f8eSopenharmony_ci /** 105561847f8eSopenharmony_ci * Unique ID of the USB port 105661847f8eSopenharmony_ci * 105761847f8eSopenharmony_ci * @type { number } 105861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 105961847f8eSopenharmony_ci * @systemapi 106061847f8eSopenharmony_ci * @since 9 106161847f8eSopenharmony_ci */ 106261847f8eSopenharmony_ci id: number; 106361847f8eSopenharmony_ci 106461847f8eSopenharmony_ci /** 106561847f8eSopenharmony_ci * Mask combination for the supported mode list of the USB port 106661847f8eSopenharmony_ci * 106761847f8eSopenharmony_ci * @type { PortModeType } 106861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 106961847f8eSopenharmony_ci * @systemapi 107061847f8eSopenharmony_ci * @since 9 107161847f8eSopenharmony_ci */ 107261847f8eSopenharmony_ci supportedModes: PortModeType; 107361847f8eSopenharmony_ci 107461847f8eSopenharmony_ci /** 107561847f8eSopenharmony_ci * USB port role 107661847f8eSopenharmony_ci * 107761847f8eSopenharmony_ci * @type { USBPortStatus } 107861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 107961847f8eSopenharmony_ci * @systemapi 108061847f8eSopenharmony_ci * @since 9 108161847f8eSopenharmony_ci */ 108261847f8eSopenharmony_ci status: USBPortStatus; 108361847f8eSopenharmony_ci } 108461847f8eSopenharmony_ci 108561847f8eSopenharmony_ci /** 108661847f8eSopenharmony_ci * Represents control transfer parameters. 108761847f8eSopenharmony_ci * 108861847f8eSopenharmony_ci * @typedef USBControlParams 108961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 109061847f8eSopenharmony_ci * @since 9 109161847f8eSopenharmony_ci */ 109261847f8eSopenharmony_ci interface USBControlParams { 109361847f8eSopenharmony_ci /** 109461847f8eSopenharmony_ci * Request type 109561847f8eSopenharmony_ci * 109661847f8eSopenharmony_ci * @type { number } 109761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 109861847f8eSopenharmony_ci * @since 9 109961847f8eSopenharmony_ci */ 110061847f8eSopenharmony_ci request: number; 110161847f8eSopenharmony_ci 110261847f8eSopenharmony_ci /** 110361847f8eSopenharmony_ci * Request target type 110461847f8eSopenharmony_ci * 110561847f8eSopenharmony_ci * @type { USBRequestTargetType } 110661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 110761847f8eSopenharmony_ci * @since 9 110861847f8eSopenharmony_ci */ 110961847f8eSopenharmony_ci target: USBRequestTargetType; 111061847f8eSopenharmony_ci 111161847f8eSopenharmony_ci /** 111261847f8eSopenharmony_ci * Control request type 111361847f8eSopenharmony_ci * 111461847f8eSopenharmony_ci * @type { USBControlRequestType } 111561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 111661847f8eSopenharmony_ci * @since 9 111761847f8eSopenharmony_ci */ 111861847f8eSopenharmony_ci reqType: USBControlRequestType; 111961847f8eSopenharmony_ci 112061847f8eSopenharmony_ci /** 112161847f8eSopenharmony_ci * Request parameter value 112261847f8eSopenharmony_ci * 112361847f8eSopenharmony_ci * @type { number } 112461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 112561847f8eSopenharmony_ci * @since 9 112661847f8eSopenharmony_ci */ 112761847f8eSopenharmony_ci value: number; 112861847f8eSopenharmony_ci 112961847f8eSopenharmony_ci /** 113061847f8eSopenharmony_ci * Index of the parameter value 113161847f8eSopenharmony_ci * 113261847f8eSopenharmony_ci * @type { number } 113361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 113461847f8eSopenharmony_ci * @since 9 113561847f8eSopenharmony_ci */ 113661847f8eSopenharmony_ci index: number; 113761847f8eSopenharmony_ci 113861847f8eSopenharmony_ci /** 113961847f8eSopenharmony_ci * Data written to or read from the buffer 114061847f8eSopenharmony_ci * 114161847f8eSopenharmony_ci * @type { Uint8Array } 114261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 114361847f8eSopenharmony_ci * @since 9 114461847f8eSopenharmony_ci */ 114561847f8eSopenharmony_ci data: Uint8Array; 114661847f8eSopenharmony_ci } 114761847f8eSopenharmony_ci 114861847f8eSopenharmony_ci /** 114961847f8eSopenharmony_ci * Represents control transfer parameters. 115061847f8eSopenharmony_ci * 115161847f8eSopenharmony_ci * @typedef USBDeviceRequestParams 115261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 115361847f8eSopenharmony_ci * @since 12 115461847f8eSopenharmony_ci */ 115561847f8eSopenharmony_ci interface USBDeviceRequestParams { 115661847f8eSopenharmony_ci /** 115761847f8eSopenharmony_ci * Bit map request type 115861847f8eSopenharmony_ci * 115961847f8eSopenharmony_ci * @type { number } 116061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 116161847f8eSopenharmony_ci * @since 12 116261847f8eSopenharmony_ci */ 116361847f8eSopenharmony_ci bmRequestType: number; 116461847f8eSopenharmony_ci 116561847f8eSopenharmony_ci /** 116661847f8eSopenharmony_ci * Byte request 116761847f8eSopenharmony_ci * 116861847f8eSopenharmony_ci * @type { number } 116961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 117061847f8eSopenharmony_ci * @since 12 117161847f8eSopenharmony_ci */ 117261847f8eSopenharmony_ci bRequest: number; 117361847f8eSopenharmony_ci 117461847f8eSopenharmony_ci /** 117561847f8eSopenharmony_ci * Request parameter word value 117661847f8eSopenharmony_ci * 117761847f8eSopenharmony_ci * @type { number } 117861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 117961847f8eSopenharmony_ci * @since 12 118061847f8eSopenharmony_ci */ 118161847f8eSopenharmony_ci wValue: number; 118261847f8eSopenharmony_ci 118361847f8eSopenharmony_ci /** 118461847f8eSopenharmony_ci * Word index of the parameter value 118561847f8eSopenharmony_ci * 118661847f8eSopenharmony_ci * @type { number } 118761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 118861847f8eSopenharmony_ci * @since 12 118961847f8eSopenharmony_ci */ 119061847f8eSopenharmony_ci wIndex: number; 119161847f8eSopenharmony_ci 119261847f8eSopenharmony_ci /** 119361847f8eSopenharmony_ci * Word length of the parameter value 119461847f8eSopenharmony_ci * 119561847f8eSopenharmony_ci * @type { number } 119661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 119761847f8eSopenharmony_ci * @since 12 119861847f8eSopenharmony_ci */ 119961847f8eSopenharmony_ci wLength: number; 120061847f8eSopenharmony_ci 120161847f8eSopenharmony_ci /** 120261847f8eSopenharmony_ci * Data written to or read from the buffer 120361847f8eSopenharmony_ci * 120461847f8eSopenharmony_ci * @type { Uint8Array } 120561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 120661847f8eSopenharmony_ci * @since 12 120761847f8eSopenharmony_ci */ 120861847f8eSopenharmony_ci data: Uint8Array; 120961847f8eSopenharmony_ci } 121061847f8eSopenharmony_ci 121161847f8eSopenharmony_ci /** 121261847f8eSopenharmony_ci * Enumerates USB request target types. 121361847f8eSopenharmony_ci * 121461847f8eSopenharmony_ci * @enum { number } 121561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 121661847f8eSopenharmony_ci * @since 9 121761847f8eSopenharmony_ci */ 121861847f8eSopenharmony_ci export enum USBRequestTargetType { 121961847f8eSopenharmony_ci /** 122061847f8eSopenharmony_ci * USB device 122161847f8eSopenharmony_ci * 122261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 122361847f8eSopenharmony_ci * @since 9 122461847f8eSopenharmony_ci */ 122561847f8eSopenharmony_ci USB_REQUEST_TARGET_DEVICE = 0, 122661847f8eSopenharmony_ci 122761847f8eSopenharmony_ci /** 122861847f8eSopenharmony_ci * USB interface 122961847f8eSopenharmony_ci * 123061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 123161847f8eSopenharmony_ci * @since 9 123261847f8eSopenharmony_ci */ 123361847f8eSopenharmony_ci USB_REQUEST_TARGET_INTERFACE = 1, 123461847f8eSopenharmony_ci 123561847f8eSopenharmony_ci /** 123661847f8eSopenharmony_ci * Endpoint 123761847f8eSopenharmony_ci * 123861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 123961847f8eSopenharmony_ci * @since 9 124061847f8eSopenharmony_ci */ 124161847f8eSopenharmony_ci USB_REQUEST_TARGET_ENDPOINT = 2, 124261847f8eSopenharmony_ci 124361847f8eSopenharmony_ci /** 124461847f8eSopenharmony_ci * Others 124561847f8eSopenharmony_ci * 124661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 124761847f8eSopenharmony_ci * @since 9 124861847f8eSopenharmony_ci */ 124961847f8eSopenharmony_ci USB_REQUEST_TARGET_OTHER = 3 125061847f8eSopenharmony_ci } 125161847f8eSopenharmony_ci 125261847f8eSopenharmony_ci /** 125361847f8eSopenharmony_ci * Enumerates control request types. 125461847f8eSopenharmony_ci * 125561847f8eSopenharmony_ci * @enum { number } 125661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 125761847f8eSopenharmony_ci * @since 9 125861847f8eSopenharmony_ci */ 125961847f8eSopenharmony_ci export enum USBControlRequestType { 126061847f8eSopenharmony_ci /** 126161847f8eSopenharmony_ci * Standard 126261847f8eSopenharmony_ci * 126361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 126461847f8eSopenharmony_ci * @since 9 126561847f8eSopenharmony_ci */ 126661847f8eSopenharmony_ci USB_REQUEST_TYPE_STANDARD = 0, 126761847f8eSopenharmony_ci 126861847f8eSopenharmony_ci /** 126961847f8eSopenharmony_ci * Class 127061847f8eSopenharmony_ci * 127161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 127261847f8eSopenharmony_ci * @since 9 127361847f8eSopenharmony_ci */ 127461847f8eSopenharmony_ci USB_REQUEST_TYPE_CLASS = 1, 127561847f8eSopenharmony_ci 127661847f8eSopenharmony_ci /** 127761847f8eSopenharmony_ci * Vendor 127861847f8eSopenharmony_ci * 127961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 128061847f8eSopenharmony_ci * @since 9 128161847f8eSopenharmony_ci */ 128261847f8eSopenharmony_ci USB_REQUEST_TYPE_VENDOR = 2 128361847f8eSopenharmony_ci } 128461847f8eSopenharmony_ci 128561847f8eSopenharmony_ci /** 128661847f8eSopenharmony_ci * Enumerates request directions. 128761847f8eSopenharmony_ci * 128861847f8eSopenharmony_ci * @enum { number } 128961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 129061847f8eSopenharmony_ci * @since 9 129161847f8eSopenharmony_ci */ 129261847f8eSopenharmony_ci export enum USBRequestDirection { 129361847f8eSopenharmony_ci /** 129461847f8eSopenharmony_ci * Request for writing data from the host to the device 129561847f8eSopenharmony_ci * 129661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 129761847f8eSopenharmony_ci * @since 9 129861847f8eSopenharmony_ci */ 129961847f8eSopenharmony_ci USB_REQUEST_DIR_TO_DEVICE = 0, 130061847f8eSopenharmony_ci 130161847f8eSopenharmony_ci /** 130261847f8eSopenharmony_ci * Request for reading data from the device to the host 130361847f8eSopenharmony_ci * 130461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 130561847f8eSopenharmony_ci * @since 9 130661847f8eSopenharmony_ci */ 130761847f8eSopenharmony_ci USB_REQUEST_DIR_FROM_DEVICE = 0x80 130861847f8eSopenharmony_ci } 130961847f8eSopenharmony_ci 131061847f8eSopenharmony_ci /** 131161847f8eSopenharmony_ci * Enumerates function modes. 131261847f8eSopenharmony_ci * 131361847f8eSopenharmony_ci * @enum { number } 131461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 131561847f8eSopenharmony_ci * @systemapi 131661847f8eSopenharmony_ci * @since 9 131761847f8eSopenharmony_ci */ 131861847f8eSopenharmony_ci export enum FunctionType { 131961847f8eSopenharmony_ci /** 132061847f8eSopenharmony_ci * None 132161847f8eSopenharmony_ci * 132261847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 132361847f8eSopenharmony_ci * @systemapi 132461847f8eSopenharmony_ci * @since 9 132561847f8eSopenharmony_ci */ 132661847f8eSopenharmony_ci NONE = 0, 132761847f8eSopenharmony_ci 132861847f8eSopenharmony_ci /** 132961847f8eSopenharmony_ci * Serial port device 133061847f8eSopenharmony_ci * 133161847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 133261847f8eSopenharmony_ci * @systemapi 133361847f8eSopenharmony_ci * @since 9 133461847f8eSopenharmony_ci */ 133561847f8eSopenharmony_ci ACM = 1, 133661847f8eSopenharmony_ci 133761847f8eSopenharmony_ci /** 133861847f8eSopenharmony_ci * Ethernet port device 133961847f8eSopenharmony_ci * 134061847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 134161847f8eSopenharmony_ci * @systemapi 134261847f8eSopenharmony_ci * @since 9 134361847f8eSopenharmony_ci */ 134461847f8eSopenharmony_ci ECM = 2, 134561847f8eSopenharmony_ci 134661847f8eSopenharmony_ci /** 134761847f8eSopenharmony_ci * HDC device 134861847f8eSopenharmony_ci * 134961847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 135061847f8eSopenharmony_ci * @systemapi 135161847f8eSopenharmony_ci * @since 9 135261847f8eSopenharmony_ci */ 135361847f8eSopenharmony_ci HDC = 4, 135461847f8eSopenharmony_ci 135561847f8eSopenharmony_ci /** 135661847f8eSopenharmony_ci * MTP device 135761847f8eSopenharmony_ci * 135861847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 135961847f8eSopenharmony_ci * @systemapi 136061847f8eSopenharmony_ci * @since 9 136161847f8eSopenharmony_ci */ 136261847f8eSopenharmony_ci MTP = 8, 136361847f8eSopenharmony_ci 136461847f8eSopenharmony_ci /** 136561847f8eSopenharmony_ci * PTP device 136661847f8eSopenharmony_ci * 136761847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 136861847f8eSopenharmony_ci * @systemapi 136961847f8eSopenharmony_ci * @since 9 137061847f8eSopenharmony_ci */ 137161847f8eSopenharmony_ci PTP = 16, 137261847f8eSopenharmony_ci 137361847f8eSopenharmony_ci /** 137461847f8eSopenharmony_ci * RNDIS device 137561847f8eSopenharmony_ci * 137661847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 137761847f8eSopenharmony_ci * @systemapi 137861847f8eSopenharmony_ci * @since 9 137961847f8eSopenharmony_ci */ 138061847f8eSopenharmony_ci RNDIS = 32, 138161847f8eSopenharmony_ci 138261847f8eSopenharmony_ci /** 138361847f8eSopenharmony_ci * MIDI device 138461847f8eSopenharmony_ci * 138561847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 138661847f8eSopenharmony_ci * @systemapi 138761847f8eSopenharmony_ci * @since 9 138861847f8eSopenharmony_ci */ 138961847f8eSopenharmony_ci MIDI = 64, 139061847f8eSopenharmony_ci 139161847f8eSopenharmony_ci /** 139261847f8eSopenharmony_ci * Audio source device 139361847f8eSopenharmony_ci * 139461847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 139561847f8eSopenharmony_ci * @systemapi 139661847f8eSopenharmony_ci * @since 9 139761847f8eSopenharmony_ci */ 139861847f8eSopenharmony_ci AUDIO_SOURCE = 128, 139961847f8eSopenharmony_ci 140061847f8eSopenharmony_ci /** 140161847f8eSopenharmony_ci * NCM device 140261847f8eSopenharmony_ci * 140361847f8eSopenharmony_ci * @syscap SystemCapability.USB.USBManager 140461847f8eSopenharmony_ci * @systemapi 140561847f8eSopenharmony_ci * @since 9 140661847f8eSopenharmony_ci */ 140761847f8eSopenharmony_ci NCM = 256 140861847f8eSopenharmony_ci } 140961847f8eSopenharmony_ci} 141061847f8eSopenharmony_ci 141161847f8eSopenharmony_ciexport default usbManager; 1412