1094332d3Sopenharmony_ci/* 2094332d3Sopenharmony_ci * Copyright (c) 2022-2024 Huawei Device Co., Ltd. 3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License. 5094332d3Sopenharmony_ci * You may obtain a copy of the License at 6094332d3Sopenharmony_ci * 7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8094332d3Sopenharmony_ci * 9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and 13094332d3Sopenharmony_ci * limitations under the License. 14094332d3Sopenharmony_ci */ 15094332d3Sopenharmony_ci 16094332d3Sopenharmony_ci#ifndef COMMON_DEFINES_H 17094332d3Sopenharmony_ci#define COMMON_DEFINES_H 18094332d3Sopenharmony_ci 19094332d3Sopenharmony_ci#ifdef __cplusplus 20094332d3Sopenharmony_ciextern "C" { 21094332d3Sopenharmony_ci#endif // __cplusplus 22094332d3Sopenharmony_ci 23094332d3Sopenharmony_ci#define IF_TRUE_LOGE_AND_RETURN_VAL(cond, retVal) \ 24094332d3Sopenharmony_ci do { \ 25094332d3Sopenharmony_ci if (cond) { \ 26094332d3Sopenharmony_ci LOG_ERROR("(" #cond ") check fail, return"); \ 27094332d3Sopenharmony_ci return (retVal); \ 28094332d3Sopenharmony_ci } \ 29094332d3Sopenharmony_ci } while (0) 30094332d3Sopenharmony_ci 31094332d3Sopenharmony_ci#define IF_TRUE_LOGE_AND_RETURN(cond) \ 32094332d3Sopenharmony_ci do { \ 33094332d3Sopenharmony_ci if (cond) { \ 34094332d3Sopenharmony_ci LOG_ERROR("(" #cond ") check fail, return"); \ 35094332d3Sopenharmony_ci return; \ 36094332d3Sopenharmony_ci } \ 37094332d3Sopenharmony_ci } while (0) 38094332d3Sopenharmony_ci 39094332d3Sopenharmony_citypedef enum ResultCode { 40094332d3Sopenharmony_ci RESULT_SUCCESS = 0x0, 41094332d3Sopenharmony_ci RESULT_GENERAL_ERROR = 0x1, 42094332d3Sopenharmony_ci RESULT_BAD_PARAM = 0x2, 43094332d3Sopenharmony_ci RESULT_BAD_COPY = 0x3, 44094332d3Sopenharmony_ci RESULT_NO_MEMORY = 0x4, 45094332d3Sopenharmony_ci RESULT_NEED_INIT = 0x5, 46094332d3Sopenharmony_ci RESULT_NOT_FOUND = 0x6, 47094332d3Sopenharmony_ci RESULT_REACH_LIMIT = 0x7, 48094332d3Sopenharmony_ci RESULT_DUPLICATE_CHECK_FAILED = 0x8, 49094332d3Sopenharmony_ci RESULT_BAD_READ = 0x9, 50094332d3Sopenharmony_ci RESULT_BAD_WRITE = 0xA, 51094332d3Sopenharmony_ci RESULT_BAD_DEL = 0xB, 52094332d3Sopenharmony_ci RESULT_UNKNOWN = 0xC, 53094332d3Sopenharmony_ci RESULT_BAD_MATCH = 0xD, 54094332d3Sopenharmony_ci RESULT_BAD_SIGN = 0xE, 55094332d3Sopenharmony_ci RESULT_BUSY = 0xF, 56094332d3Sopenharmony_ci RESULT_PIN_FREEZE = 0x11, 57094332d3Sopenharmony_ci RESULT_PIN_FAIL = 0X12, 58094332d3Sopenharmony_ci RESULT_COMPARE_FAIL = 0x13 59094332d3Sopenharmony_ci} ResultCode; 60094332d3Sopenharmony_ci 61094332d3Sopenharmony_citypedef enum ResultCodeForCoAuth { 62094332d3Sopenharmony_ci /** 63094332d3Sopenharmony_ci * Indicates that authentication is success or ability is supported. 64094332d3Sopenharmony_ci */ 65094332d3Sopenharmony_ci SUCCESS = 0, 66094332d3Sopenharmony_ci 67094332d3Sopenharmony_ci /** 68094332d3Sopenharmony_ci * Indicates the authenticator fails to identify user. 69094332d3Sopenharmony_ci */ 70094332d3Sopenharmony_ci FAIL = 1, 71094332d3Sopenharmony_ci 72094332d3Sopenharmony_ci /** 73094332d3Sopenharmony_ci * Indicates other errors. 74094332d3Sopenharmony_ci */ 75094332d3Sopenharmony_ci GENERAL_ERROR = 2, 76094332d3Sopenharmony_ci 77094332d3Sopenharmony_ci /** 78094332d3Sopenharmony_ci * Indicates that authentication has been canceled. 79094332d3Sopenharmony_ci */ 80094332d3Sopenharmony_ci CANCELED = 3, 81094332d3Sopenharmony_ci 82094332d3Sopenharmony_ci /** 83094332d3Sopenharmony_ci * Indicates that authentication has timed out. 84094332d3Sopenharmony_ci */ 85094332d3Sopenharmony_ci TIMEOUT = 4, 86094332d3Sopenharmony_ci 87094332d3Sopenharmony_ci /** 88094332d3Sopenharmony_ci * Indicates that this authentication type is not supported. 89094332d3Sopenharmony_ci */ 90094332d3Sopenharmony_ci TYPE_NOT_SUPPORT = 5, 91094332d3Sopenharmony_ci 92094332d3Sopenharmony_ci /** 93094332d3Sopenharmony_ci * Indicates that the authentication trust level is not supported. 94094332d3Sopenharmony_ci */ 95094332d3Sopenharmony_ci TRUST_LEVEL_NOT_SUPPORT = 6, 96094332d3Sopenharmony_ci 97094332d3Sopenharmony_ci /** 98094332d3Sopenharmony_ci * Indicates that the authentication task is busy. Wait for a few seconds and try again. 99094332d3Sopenharmony_ci */ 100094332d3Sopenharmony_ci BUSY = 7, 101094332d3Sopenharmony_ci 102094332d3Sopenharmony_ci /** 103094332d3Sopenharmony_ci * Indicates incorrect parameters. 104094332d3Sopenharmony_ci */ 105094332d3Sopenharmony_ci INVALID_PARAMETERS = 8, 106094332d3Sopenharmony_ci 107094332d3Sopenharmony_ci /** 108094332d3Sopenharmony_ci * Indicates that the authenticator is locked. 109094332d3Sopenharmony_ci */ 110094332d3Sopenharmony_ci LOCKED = 9, 111094332d3Sopenharmony_ci 112094332d3Sopenharmony_ci /** 113094332d3Sopenharmony_ci * Indicates that the user has not enrolled the authenticator. 114094332d3Sopenharmony_ci */ 115094332d3Sopenharmony_ci NOT_ENROLLED = 10, 116094332d3Sopenharmony_ci} ResultCodeForCoAuth; 117094332d3Sopenharmony_ci 118094332d3Sopenharmony_citypedef enum AuthType { 119094332d3Sopenharmony_ci DEFAULT_AUTH_TYPE = 0, 120094332d3Sopenharmony_ci PIN_AUTH = 1, 121094332d3Sopenharmony_ci FACE_AUTH = 2, 122094332d3Sopenharmony_ci} AuthType; 123094332d3Sopenharmony_ci 124094332d3Sopenharmony_citypedef enum AuthSubType { 125094332d3Sopenharmony_ci DEFAULT_TYPE = 0, 126094332d3Sopenharmony_ci} AuthSubType; 127094332d3Sopenharmony_ci 128094332d3Sopenharmony_ci#define MAX_DULPLICATE_CHECK 100 129094332d3Sopenharmony_ci 130094332d3Sopenharmony_ci#define MAX_EXECUTOR_MSG_LEN 2048 131094332d3Sopenharmony_ci 132094332d3Sopenharmony_ci#ifdef __cplusplus 133094332d3Sopenharmony_ci} 134094332d3Sopenharmony_ci#endif // __cplusplus 135094332d3Sopenharmony_ci#endif // COMMON_DEFINES_H 136