11bd4fe43Sopenharmony_ci/**
21bd4fe43Sopenharmony_ci * @file hks_errno.h
31bd4fe43Sopenharmony_ci *
41bd4fe43Sopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd.
51bd4fe43Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
61bd4fe43Sopenharmony_ci * you may not use this file except in compliance with the License.
71bd4fe43Sopenharmony_ci * You may obtain a copy of the License at
81bd4fe43Sopenharmony_ci *
91bd4fe43Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
101bd4fe43Sopenharmony_ci *
111bd4fe43Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
121bd4fe43Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
131bd4fe43Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
141bd4fe43Sopenharmony_ci * See the License for the specific language governing permissions and
151bd4fe43Sopenharmony_ci * limitations under the License.
161bd4fe43Sopenharmony_ci */
171bd4fe43Sopenharmony_ci
181bd4fe43Sopenharmony_ci/**
191bd4fe43Sopenharmony_ci * @defgroup iot_hks
201bd4fe43Sopenharmony_ci * @ingroup hks
211bd4fe43Sopenharmony_ci */
221bd4fe43Sopenharmony_ci
231bd4fe43Sopenharmony_ci#ifndef HKS_ERRNO_H
241bd4fe43Sopenharmony_ci#define HKS_ERRNO_H
251bd4fe43Sopenharmony_ci
261bd4fe43Sopenharmony_ci#include "hks_types.h"
271bd4fe43Sopenharmony_ci
281bd4fe43Sopenharmony_ci/* MBEDTLS_SUCCESS */
291bd4fe43Sopenharmony_ci#define HKS_SUCCESS                         ((int32_t)0)
301bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_UNKNOWN_ERROR */
311bd4fe43Sopenharmony_ci#define HKS_FAILURE                         ((int32_t)-132)
321bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_NOT_PERMITTED */
331bd4fe43Sopenharmony_ci#define HKS_ERROR_NOT_PERMITTED             ((int32_t)-133)
341bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_NOT_SUPPORTED */
351bd4fe43Sopenharmony_ci#define HKS_ERROR_NOT_SUPPORTED             ((int32_t)-134)
361bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INVALID_ARGUMENT */
371bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_ARGUMENT          ((int32_t)-135)
381bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INVALID_HANDLE */
391bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_HANDLE            ((int32_t)-136)
401bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_BAD_STATE */
411bd4fe43Sopenharmony_ci#define HKS_ERROR_BAD_STATE                 ((int32_t)-137)
421bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_BUFFER_TOO_SMALL */
431bd4fe43Sopenharmony_ci#define HKS_ERROR_BUFFER_TOO_SMALL          ((int32_t)-138)
441bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_OCCUPIED_SLOT */
451bd4fe43Sopenharmony_ci#define HKS_ERROR_OCCUPIED_SLOT             ((int32_t)-139)
461bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_EMPTY_SLOT */
471bd4fe43Sopenharmony_ci#define HKS_ERROR_EMPTY_SLOT                ((int32_t)-140)
481bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INSUFFICIENT_MEMORY */
491bd4fe43Sopenharmony_ci#define HKS_ERROR_INSUFFICIENT_MEMORY       ((int32_t)-141)
501bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INSUFFICIENT_STORAGE */
511bd4fe43Sopenharmony_ci#define HKS_ERROR_INSUFFICIENT_STORAGE      ((int32_t)-142)
521bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INSUFFICIENT_CAPACITY */
531bd4fe43Sopenharmony_ci#define HKS_ERROR_INSUFFICIENT_CAPACITY     ((int32_t)-143)
541bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_COMMUNICATION_FAILURE */
551bd4fe43Sopenharmony_ci#define HKS_ERROR_COMMUNICATION_FAILURE     ((int32_t)-145)
561bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_STORAGE_FAILURE */
571bd4fe43Sopenharmony_ci#define HKS_ERROR_STORAGE_FAILURE           ((int32_t)-146)
581bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_HARDWARE_FAILURE */
591bd4fe43Sopenharmony_ci#define HKS_ERROR_HARDWARE_FAILURE          ((int32_t)-147)
601bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INSUFFICIENT_ENTROPY */
611bd4fe43Sopenharmony_ci#define HKS_ERROR_INSUFFICIENT_ENTROPY      ((int32_t)-148)
621bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INVALID_SIGNATURE */
631bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_SIGNATURE         ((int32_t)-149)
641bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_INVALID_PADDING */
651bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_PADDING           ((int32_t)-150)
661bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_TAMPERING_DETECTED */
671bd4fe43Sopenharmony_ci#define HKS_ERROR_TAMPERING_DETECTED        ((int32_t)-151)
681bd4fe43Sopenharmony_ci/* MBEDTLS_ERROR_DATA_CORRUPT */
691bd4fe43Sopenharmony_ci#define HKS_ERROR_DATA_CORRUPT              ((int32_t)-152)
701bd4fe43Sopenharmony_ci#define HKS_ERROR_MBEDTLS_RANGE_MIN         ((int32_t)-153)
711bd4fe43Sopenharmony_ci
721bd4fe43Sopenharmony_ci/*
731bd4fe43Sopenharmony_ci * Error code for hks
741bd4fe43Sopenharmony_ci * Add new error code before HKS_ERROR_RANGE_MIN
751bd4fe43Sopenharmony_ci * Modify the value of HKS_ERROR_RANGE_MIN when adding an error code
761bd4fe43Sopenharmony_ci * The value of HKS_ERROR_RANGE_MIN = The value of new error code - 1
771bd4fe43Sopenharmony_ci * Such as add HKS_ERROR_XXX(-1015),must modify HKS_ERROR_RANGE_MIN to be -1016
781bd4fe43Sopenharmony_ci */
791bd4fe43Sopenharmony_ci#define HKS_STATUS_OK                       ((int32_t)0)
801bd4fe43Sopenharmony_ci#define HKS_ERROR_NULL_POINTER              ((int32_t)-1000)
811bd4fe43Sopenharmony_ci#define HKS_ERROR_DUPLICATED_REG            ((int32_t)-1001)
821bd4fe43Sopenharmony_ci#define HKS_ERROR_FILE_SIZE_FAIL            ((int32_t)-1002)
831bd4fe43Sopenharmony_ci#define HKS_ERROR_READ_FILE_FAIL            ((int32_t)-1003)
841bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_PUBLIC_KEY        ((int32_t)-1004)
851bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_PRIVATE_KEY       ((int32_t)-1005)
861bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_KEY_INFO          ((int32_t)-1006)
871bd4fe43Sopenharmony_ci#define HKS_ERROR_BUF_TOO_SMALL             ((int32_t)-1007)
881bd4fe43Sopenharmony_ci#define HKS_ERROR_UNKNOWN_ERROR             ((int32_t)-1008)
891bd4fe43Sopenharmony_ci#define HKS_ERROR_ASSERT_FAIL               ((int32_t)-1009)
901bd4fe43Sopenharmony_ci#define HKS_ERROR_KEY_NOT_EXIST             ((int32_t)-1010)
911bd4fe43Sopenharmony_ci#define HKS_ERROR_HASH_NOT_EQUAL            ((int32_t)-1011)
921bd4fe43Sopenharmony_ci#define HKS_ERROR_MALLOC_FAIL               ((int32_t)-1012)
931bd4fe43Sopenharmony_ci#define HKS_ERROR_WRITE_FILE_FAIL           ((int32_t)-1013)
941bd4fe43Sopenharmony_ci#define HKS_ERROR_REMOVE_FILE_FAIL          ((int32_t)-1014)
951bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_KEY_FILE          ((int32_t)-1015)
961bd4fe43Sopenharmony_ci#define HKS_ERROR_IPC_INITIAL_FAIL          ((int32_t)-1016)
971bd4fe43Sopenharmony_ci#define HKS_ERROR_GET_KEY_PARAM_FAIL        ((int32_t)-1017)
981bd4fe43Sopenharmony_ci#define HKS_ERROR_AES_ENCRYPT_FAIL          ((int32_t)-1018)
991bd4fe43Sopenharmony_ci#define HKS_ERROR_AES_DECRYPT_FAIL          ((int32_t)-1019)
1001bd4fe43Sopenharmony_ci#define HKS_ERROR_SIGN_FAIL                 ((int32_t)-1020)
1011bd4fe43Sopenharmony_ci#define HKS_ERROR_VERIFY_FAIL               ((int32_t)-1021)
1021bd4fe43Sopenharmony_ci#define HKS_ERROR_EXPORT_FAIL               ((int32_t)-1022)
1031bd4fe43Sopenharmony_ci#define HKS_ERROR_IMPORT_FAIL               ((int32_t)-1023)
1041bd4fe43Sopenharmony_ci#define HKS_ERROR_WRAP_FAIL                 ((int32_t)-1024)
1051bd4fe43Sopenharmony_ci#define HKS_ERROR_UNWRAP_FAIL               ((int32_t)-1025)
1061bd4fe43Sopenharmony_ci#define HKS_ERROR_DELETE_FAIL               ((int32_t)-1026)
1071bd4fe43Sopenharmony_ci#define HKS_ERROR_GENERATE_ASYM_FAIL        ((int32_t)-1027)
1081bd4fe43Sopenharmony_ci#define HKS_ERROR_GENERATE_SYM_FAIL         ((int32_t)-1028)
1091bd4fe43Sopenharmony_ci#define HKS_ERROR_KEY_ATTEST_FAIL           ((int32_t)-1029)
1101bd4fe43Sopenharmony_ci#define HKS_ERROR_CERT_CHAIN_FAIL           ((int32_t)-1030)
1111bd4fe43Sopenharmony_ci#define HKS_ERROR_GET_KEY_LIST_FAIL         ((int32_t)-1031)
1121bd4fe43Sopenharmony_ci#define HKS_ERROR_RANGE_MIN                 ((int32_t)-1032)
1131bd4fe43Sopenharmony_ci#define HKS_ERROR_CERT_NOT_EXIST            ((int32_t)-1033)
1141bd4fe43Sopenharmony_ci#define HKS_ERROR_INVALID_PKI_FILE          ((int32_t)-1034)
1151bd4fe43Sopenharmony_ci#define HKS_ERROR_CERT_VERIFY_FAIL          ((int32_t)-1035)
1161bd4fe43Sopenharmony_ci#define HKS_ERROR_WB_DECRYPT_FAIL           ((int32_t)-1036)
1171bd4fe43Sopenharmony_ci#define HKS_ERROR_EFUSE_WRITE_FAIL          ((int32_t)-1037)
1181bd4fe43Sopenharmony_ci#define HKS_ERROR_EFUSE_READ_FAIL           ((int32_t)-1038)
1191bd4fe43Sopenharmony_ci#define HKS_ERROR_EFUSE_LOCK_FAIL           ((int32_t)-1039)
1201bd4fe43Sopenharmony_ci#define HKS_ERROR_INTERNAL_UNKOWN           ((int32_t)-9999)
1211bd4fe43Sopenharmony_ci#define HKS_ERROR_IPC_RANGE_MIN             ((int32_t)65536)
1221bd4fe43Sopenharmony_ci#define HKS_ERROR_IPC_RANGE_MAX             ((int32_t)65556)
1231bd4fe43Sopenharmony_ci#define HKS_ERROR_PERMISSION_DENIED         ((int32_t)0xFF07)
1241bd4fe43Sopenharmony_ci
1251bd4fe43Sopenharmony_ci#endif /* HKS_ERRNO_H */
126