1/*
2 * Copyright (c) 2023-2024 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 CODE_SIGN_ERR_CODE_H
17#define CODE_SIGN_ERR_CODE_H
18
19enum CommonErrCode {
20    CS_SUCCESS = 0,
21    CS_ERR_MEMORY = -0x1,
22    CS_ERR_NO_PERMISSION = -0x2,
23    CS_ERR_NO_SIGNATURE = -0x3,
24    CS_ERR_INVALID_SIGNATURE = -0x4
25};
26
27enum FileOperationErrCode {
28    CS_ERR_FILE_INVALID = -0x100,
29    CS_ERR_FILE_PATH = -0x101,
30    CS_ERR_FILE_OPEN = -0x102,
31    CS_ERR_FILE_READ = -0x103,
32    CS_ERR_EXTRACT_FILES = -0x104
33};
34
35enum SignErrCode {
36    CS_ERR_PARAM_INVALID = -0x200,
37    CS_ERR_HUKS_OBTAIN_CERT = -0x201,
38    CS_ERR_HUKS_SIGN = -0x202,
39    CS_ERR_HUKS_INIT_KEY = -0x203,
40    CS_ERR_COMPUTE_DIGEST = -0x204,
41    CS_ERR_NO_OWNER_ID = -0x205,
42    CS_ERR_INIT_LOCAL_CERT = -0x206,
43    CS_ERR_VERIFY_CERT = -0x207
44};
45
46enum OpenSSLErrCode {
47    CS_ERR_OPENSSL_LOAD_CERT = -0x210,
48    CS_ERR_OPENSSL_CREATE_PKCS7_DATA = -0x211,
49    CS_ERR_OPENSSL_PKCS7 = -0x212,
50    CS_ERR_OPENSSL_OID = -0x213,
51    CS_ERR_OPENSSL_BIO = -0x214,
52};
53
54enum VerifyErrCode {
55    CS_ERR_ENABLE = -0x300,
56    CS_ERR_FSVREITY_NOT_SUPPORTED = -0x301,
57    CS_ERR_FSVERITY_NOT_ENABLED = -0x302,
58    CS_ERR_INVALID_OWNER_ID = -0x303,
59    CS_CODE_SIGN_NOT_EXISTS = -0x304,
60    CS_ERR_PROFILE = -0x305,
61    CS_ERR_ENABLE_TIMEOUT = -0x306,
62    CS_ERR_FSVREITY_NOT_ENABLED = -0x307,
63};
64
65enum IPCErrCode {
66    CS_ERR_IPC_MSG_INVALID = -0x500,
67    CS_ERR_IPC_WRITE_DATA = -0x501,
68    CS_ERR_IPC_READ_DATA = -0x502,
69    CS_ERR_REMOTE_CONNECTION = -0x503,
70    CS_ERR_SA_GET_SAMGR = -0x504,
71    CS_ERR_SA_GET_PROXY = -0x505,
72    CS_ERR_SA_LOAD_FAILED = -0x506,
73    CS_ERR_SA_LOAD_TIMEOUT = -0x507
74};
75
76enum SignBlockErrCode {
77    CS_SUCCESS_END = 1,
78    CS_ERR_BLOCK_MAGIC = -0x600,
79    CS_ERR_BLOCK_VERSION = -0x601,
80    CS_ERR_BLOCK_SEG_NUM = -0x602,
81    CS_ERR_BLOCK_SIZE = -0x603,
82    CS_ERR_SEGMENT_FSVERITY_TYPE = -0x604,
83    CS_ERR_SEGMENT_HAP_TYPE = -0x605,
84    CS_ERR_SEGMENT_SO_TYPE = -0x606,
85    CS_ERR_SEGMENT_FSVERITY_OFFSET = -0x607,
86    CS_ERR_SEGMENT_HAP_OFFSET = -0x608,
87    CS_ERR_SEGMENT_SO_OFFSET = -0x609,
88    CS_ERR_FSVERITY_MAGIC = -0x610,
89    CS_ERR_FSVERITY_VERSION = -0x611,
90    CS_ERR_FSVERITY_BLOCK_SIZE = 0x612,
91    CS_ERR_HAP_MAGIC = -0x613,
92    CS_ERR_HAP_EXTERNSION = -0x614,
93    CS_ERR_SO_MAGIC = -0x615,
94    CS_ERR_SO_SECTION_NUM = -0x616,
95    CS_ERR_SO_FILE_OFFSET = -0x617,
96    CS_ERR_SO_FILE_SIZE = -0x618,
97    CS_ERR_SO_SIGN_OFFSET = -0x619,
98    CS_ERR_SO_SIGN_SIZE = -0x620,
99    CS_ERR_SIGN_ADDR_ALIGN = -0x621,
100    CS_ERR_INVALID_EXTENSION_OFFSET = -0x622,
101    CS_ERR_INVALID_PAGE_INFO_EXTENSION = -0x623,
102    CS_ERR_EXTENSION_SIGN_SIZE = -0x624,
103};
104
105enum JitCodeSignErrCode {
106    CS_ERR_NO_SIGNER = -0x700,
107    CS_ERR_PATCH_INVALID = -0x701,
108    CS_ERR_JIT_SIGN_SIZE = -0x702,
109    CS_ERR_TMP_BUFFER = -0x703,
110    CS_ERR_VALIDATE_CODE = -0x704,
111    CS_ERR_JITFORT_IN = -0x705,
112    CS_ERR_JITFORT_OUT = -0x706,
113    CS_ERR_SIGN_OFFSET = -0x707,
114    CS_ERR_INVALID_DATA = -0x708,
115    CS_ERR_JIT_MEMORY = -0x709,
116    CS_ERR_UNSUPPORT = -0x7ff,
117};
118#endif
119