1/*
2 * Copyright (c) 2021-2022 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 */
15
16#ifndef USB_ERRORS_H
17#define USB_ERRORS_H
18
19#include <errors.h>
20#include <cstdint>
21#include <string>
22
23namespace OHOS {
24namespace USB {
25enum UsbModuleType {
26    USB_MODULE_TYPE_SERVICE = 0,
27    USB_MODULE_TYPE_KIT = 1,
28};
29
30const std::string PERMISSION_DENIED_SYSAPI = "PERMISSION_DENIED_SYSAPI";
31
32#define USB_OFFSET 100
33
34constexpr int32_t USBFWK_SERVICE_ERR_OFFSET = ErrCodeOffset(SUBSYS_USB, USB_MODULE_TYPE_SERVICE);
35
36enum UsbErrCode {
37    UEC_OK = 0,
38
39    UEC_INTERFACE_NO_MEMORY = USBFWK_SERVICE_ERR_OFFSET,
40    UEC_INTERFACE_INVALID_OPERATION,
41    UEC_INTERFACE_INVALID_VALUE,
42    UEC_INTERFACE_NAME_NOT_FOUND,
43    UEC_INTERFACE_PERMISSION_DENIED,
44    UEC_INTERFACE_NO_INIT,
45    UEC_INTERFACE_ALREADY_EXISTS,
46    UEC_INTERFACE_DEAD_OBJECT,
47    UEC_INTERFACE_OVERFLOW,
48    UEC_INTERFACE_ENOUGH_DATA,
49    UEC_INTERFACE_WOULD_BLOCK,
50    UEC_INTERFACE_TIMED_OUT,
51    UEC_INTERFACE_WRITE_PARCEL_ERROR,
52    UEC_INTERFACE_READ_PARCEL_ERROR,
53    UEC_INTERFACE_GET_SYSTEM_ABILITY_MANAGER_FAILED,
54    UEC_INTERFACE_GET_USB_SERVICE_FAILED,
55    UEC_INTERFACE_ADD_DEATH_RECIPIENT_FAILED,
56    UEC_INTERFACE_INNER_ERR,
57    UEC_INTREFACE_END,
58
59    UEC_SERVICE_NO_MEMORY = USBFWK_SERVICE_ERR_OFFSET + USB_OFFSET,
60    UEC_SERVICE_INVALID_OPERATION,
61    UEC_SERVICE_INVALID_VALUE,
62    UEC_SERVICE_NAME_NOT_FOUND,
63    UEC_SERVICE_PERMISSION_DENIED,
64    UEC_SERVICE_NO_INIT,
65    UEC_SERVICE_ALREADY_EXISTS,
66    UEC_SERVICE_DEAD_OBJECT,
67    UEC_SERVICE_OVERFLOW,
68    UEC_SERVICE_ENOUGH_DATA,
69    UEC_SERVICE_WOULD_BLOCK,
70    UEC_SERVICE_TIMED_OUT,
71    UEC_SERVICE_WRITE_PARCEL_ERROR,
72    UEC_SERVICE_READ_PARCEL_ERROR,
73    UEC_SERVICE_GET_SYSTEM_ABILITY_MANAGER_FAILED,
74    UEC_SERVICE_GET_USB_SERVICE_FAILED,
75    UEC_SERVICE_ADD_DEATH_RECIPIENT_FAILED,
76    UEC_SERVICE_INNER_ERR,
77    UEC_SERVICE_PERMISSION_DENIED_SYSAPI,
78    UEC_SERVICE_PERMISSION_CHECK_HDC,
79    UEC_SERVICE_NOT_SUPPORT_SWITCH_PORT,
80    UEC_SERVICE_END,
81    UEC_SERVICE_PRE_MANAGE_INTERFACE_FAILED,
82    UEC_SERVICE_EXECUTE_POLICY_FAILED,
83    UEC_SERVICE_PREPARE_EDM_SA_FAILED,
84    UEC_SERVICE_GET_EDM_SERVICE_FAILED,
85    UEC_SERVICE_EDM_DEVICE_SIZE_EXCEED,
86    UEC_SERVICE_EDM_SA_TIME_OUT_FAILED,
87    UEC_SERVICE_EDM_SEND_REQUEST_FAILED,
88    UEC_SERVICE_OBJECT_CREATE_FAILED,
89};
90
91enum UsbRightErrCode {
92    USB_RIGHT_OK = 0,
93    USB_RIGHT_FAILURE = -1,
94    USB_RIGHT_RDB_EXECUTE_FAILTURE = -2,
95    USB_RIGHT_RDB_NO_INIT = -3,
96    USB_RIGHT_RDB_EMPTY = -4,
97    USB_RIGHT_PERMISSION_DENIED = -5,
98    USB_RIGHT_NOP = -6,
99    USB_RIGHT_OVERFLOW = -7,
100};
101
102} // namespace USB
103} // namespace OHOS
104#endif // USB_ERRORS_H
105