1 /* 2 * Copyright (C) 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 COMMON_DEFINES_H 17 #define COMMON_DEFINES_H 18 19 #include "stdint.h" 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 enum InnerKitResultCode { 26 INNER_RESULT_SUCCESS = 0, 27 INNER_RESULT_FAIL = 1, 28 INNER_RESULT_GENERAL_ERROR = 2, 29 INNER_RESULT_CANCELED = 3, 30 INNER_RESULT_TIMEOUT = 4, 31 INNER_RESULT_TYPE_NOT_SUPPORT = 5, 32 INNER_RESULT_TRUST_LEVEL_NOT_SUPPORT = 6, 33 INNER_RESULT_BUSY = 7, 34 INNER_RESULT_INVALID_PARAMETERS = 8, 35 INNER_RESULT_LOCKED = 9, 36 INNER_RESULT_NOT_ENROLLED = 10, 37 INNER_RESULT_HARDWARE_NOT_SUPPORTED = 11, 38 INNER_RESULT_SYSTEM_ERROR_CODE_BEGIN = 1000, // error code for system 39 INNER_RESULT_IPC_ERROR = 1001, 40 INNER_RESULT_INVALID_CONTEXT_ID = 1002, 41 INNER_RESULT_READ_PARCEL_ERROR = 1003, 42 INNER_RESULT_WRITE_PARCEL_ERROR = 1004, 43 INNER_RESULT_CHECK_PERMISSION_FAILED = 1005, 44 INNER_RESULT_INVALID_HDI_INTERFACE = 1006, 45 INNER_RESULT_VENDOR_ERROR_CODE_BEGIN = 10000, // error code for vendor 46 }; 47 48 typedef enum ResultCode { 49 RESULT_SUCCESS = INNER_RESULT_SUCCESS, 50 RESULT_GENERAL_ERROR = INNER_RESULT_GENERAL_ERROR, 51 RESULT_BAD_PARAM = INNER_RESULT_INVALID_PARAMETERS, 52 RESULT_NOT_ENROLLED = INNER_RESULT_NOT_ENROLLED, 53 RESULT_TYPE_NOT_SUPPORT = INNER_RESULT_TYPE_NOT_SUPPORT, 54 RESULT_BAD_COPY = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x3, 55 RESULT_NO_MEMORY = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x4, 56 RESULT_NEED_INIT = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x5, 57 RESULT_NOT_FOUND = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x6, 58 RESULT_REACH_LIMIT = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x7, 59 RESULT_DUPLICATE_CHECK_FAILED = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x8, 60 RESULT_BAD_READ = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x9, 61 RESULT_BAD_WRITE = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0xA, 62 RESULT_BAD_DEL = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0xB, 63 RESULT_UNKNOWN = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0xC, 64 RESULT_BAD_MATCH = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0xD, 65 RESULT_BAD_SIGN = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0xE, 66 RESULT_BUSY = INNER_RESULT_BUSY, 67 RESULT_TOKEN_TIMEOUT = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x10, 68 RESULT_VERIFY_TOKEN_FAIL = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x11, 69 RESULT_EXCEED_LIMIT = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x12, 70 RESULT_IDM_SESSION_TIMEOUT = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x13, 71 72 RESULT_AUTH_NOT_COMPELETED = INNER_RESULT_VENDOR_ERROR_CODE_BEGIN + 0x10001, 73 } ResultCode; 74 75 typedef enum AuthType { 76 DEFAULT_AUTH_TYPE = 0, 77 PIN_AUTH = 1, 78 FACE_AUTH = 2, 79 FINGER_AUTH = 4, 80 } AuthType; 81 82 typedef enum ScheduleMode { 83 SCHEDULE_MODE_ENROLL = 0, 84 SCHEDULE_MODE_AUTH = 1, 85 SCHEDULE_MODE_IDENTIFY = 2, 86 } ScheduleMode; 87 88 typedef enum AuthSubType { 89 DEFAULT_TYPE = 0, 90 } AuthSubType; 91 92 typedef struct TemplateIdArrays { 93 uint64_t *value; 94 uint32_t num; 95 } TemplateIdArrays; 96 97 typedef enum AuthPropertyMode { 98 PROPERMODE_DELETE = 0, 99 PROPERMODE_GET = 1, 100 PROPERMODE_SET = 2, 101 PROPERMODE_LOCK = 3, 102 PROPERMODE_UNLOCK = 4, 103 PROPERMODE_INIT_ALGORITHM = 5, 104 PROPERMODE_RELEASE_ALGORITHM = 6, 105 PROPERMODE_SET_SURFACE_ID = 100, 106 } AuthPropertyMode; 107 108 #define MAX_DUPLICATE_CHECK 100 109 #define INVALID_SENSOR_HINT 0 110 #define MAX_TEMPLATE_OF_SCHEDULE 10 111 #define CHALLENGE_LEN 32 112 113 #ifdef __cplusplus 114 } 115 #endif 116 117 #endif 118