• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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