• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2009-2022 Huawei Technologies Co., Ltd. All rights reserved.
3  *
4  * UniProton is licensed under Mulan PSL v2.
5  * You can use this software according to the terms and conditions of the Mulan PSL v2.
6  * You may obtain a copy of Mulan PSL v2 at:
7  *          http://license.coscl.org.cn/MulanPSL2
8  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
9  * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
10  * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
11  * See the Mulan PSL v2 for more details.
12  * Create: 2009-12-22
13  * Description: 通用错误码定义头文件。
14  */
15 #ifndef PRT_ERRNO_H
16 #define PRT_ERRNO_H
17 
18 #include "prt_typedef.h"
19 
20 #ifdef __cplusplus
21 #if __cplusplus
22 extern "C" {
23 #endif /* __cpluscplus */
24 #endif /* __cpluscplus */
25 
26 /*
27  * OS错误码标记位,0x00表示OS
28  *
29  */
30 #define ERRNO_OS_ID    (0x00U << 16)
31 
32 /*
33  * 定义错误的等级:提示级别
34  *
35  */
36 #define ERRTYPE_NORMAL (0x00U << 24)
37 
38 /*
39  * 定义错误的等级:告警级别
40  *
41  */
42 #define ERRTYPE_WARN   (0x01U << 24)
43 
44 /*
45  * 定义错误的等级:严重级别
46  *
47  */
48 #define ERRTYPE_ERROR  (0x02U << 24)
49 
50 /*
51  * 定义错误的等级:致命级别
52  *
53  */
54 #define ERRTYPE_FATAL  (0x03U << 24)
55 
56 /*
57  * @brief 定义OS致命错误。
58  *
59  * @par 描述
60  * 宏定义,定义OS致命错误。
61  *
62  * @attention 无
63  *
64  * @param  mid   [IN] 模块ID编号。
65  * @param  errno [IN] 错误码编号。
66  *
67  * @retval 无
68  * @par 依赖
69  * <li>prt_errno.h:该宏定义所在的头文件。</li>
70  * @see OS_ERRNO_BUILD_ERROR | OS_ERRNO_BUILD_WARN | OS_ERRNO_BUILD_NORMAL
71  */
72 #define OS_ERRNO_BUILD_FATAL(mid, errno) (ERRTYPE_FATAL | ERRNO_OS_ID | ((U32)(mid) << 8) | (errno))
73 
74 /*
75  * @brief 定义OS严重错误
76  *
77  * @par 描述
78  * 宏定义,定义OS严重错误
79  *
80  * @attention 无
81  * @param  mid   [IN] 模块ID编号。
82  * @param  errno [IN] 错误码编号。
83  *
84  * @retval 无
85  * @par 依赖
86  * <li>prt_errno.h:该宏定义所在的头文件。</li>
87  * @see OS_ERRNO_BUILD_FATAL | OS_ERRNO_BUILD_WARN | OS_ERRNO_BUILD_NORMAL
88  */
89 #define OS_ERRNO_BUILD_ERROR(mid, errno) (ERRTYPE_ERROR | ERRNO_OS_ID | ((U32)(mid) << 8) | (errno))
90 
91 #ifdef __cplusplus
92 #if __cplusplus
93 }
94 #endif /* __cpluscplus */
95 #endif /* __cpluscplus */
96 
97 #endif /* PRT_ERRNO_H */
98