API参考
载入中...
搜索中...
未找到
config.h
1
/*
2
* This file is part of the openHiTLS project.
3
*
4
* openHiTLS is licensed under the 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
*
8
* http://license.coscl.org.cn/MulanPSL2
9
*
10
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13
* See the Mulan PSL v2 for more details.
14
*/
15
16
#ifndef CONFIG_H
17
#define CONFIG_H
18
19
#include <stdint.h>
20
#include "bsl_log_internal.h"
21
#include "bsl_binlog_id.h"
22
#include "hitls_type.h"
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
28
#define PROCESS_PARAM_INT32(tmpParam, paramObj, params, paramName, destField) \
29
do { \
30
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (paramName)); \
31
if ((tmpParam) == NULL || (tmpParam)->valueType != BSL_PARAM_TYPE_INT32) { \
32
BSL_LOG_BINLOG_FIXLEN(BINLOG_ID05075, BSL_LOG_LEVEL_ERR, BSL_LOG_BINLOG_TYPE_RUN, \
33
"tls config: not found int32 param %s", #paramName, 0, 0, 0); \
34
goto ERR; \
35
} \
36
(paramObj)->destField = *(int32_t *)(tmpParam)->value; \
37
} while (0)
38
39
#define PROCESS_PARAM_UINT16(tmpParam, paramObj, params, paramName, destField) \
40
do { \
41
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (paramName)); \
42
if ((tmpParam) == NULL || (tmpParam)->valueType != BSL_PARAM_TYPE_UINT16) { \
43
BSL_LOG_BINLOG_FIXLEN(BINLOG_ID05076, BSL_LOG_LEVEL_ERR, BSL_LOG_BINLOG_TYPE_RUN, \
44
"tls config: not found uint16 param %s", #paramName, 0, 0, 0); \
45
goto ERR; \
46
} \
47
(paramObj)->destField = *(uint16_t *)(tmpParam)->value; \
48
} while (0)
49
50
#define PROCESS_PARAM_UINT32(tmpParam, paramObj, params, paramName, destField) \
51
do { \
52
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (paramName)); \
53
if ((tmpParam) == NULL || (tmpParam)->valueType != BSL_PARAM_TYPE_UINT32) { \
54
BSL_LOG_BINLOG_FIXLEN(BINLOG_ID05077, BSL_LOG_LEVEL_ERR, BSL_LOG_BINLOG_TYPE_RUN, \
55
"tls config: not found uint32 param %s", #paramName, 0, 0, 0); \
56
goto ERR; \
57
} \
58
(paramObj)->destField = *(uint32_t *)(tmpParam)->value; \
59
} while (0)
60
61
#define PROCESS_PARAM_BOOL(tmpParam, paramObj, params, paramName, destField) \
62
do { \
63
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (paramName)); \
64
if ((tmpParam) == NULL || (tmpParam)->valueType != BSL_PARAM_TYPE_BOOL) { \
65
BSL_LOG_BINLOG_FIXLEN(BINLOG_ID05078, BSL_LOG_LEVEL_ERR, BSL_LOG_BINLOG_TYPE_RUN, \
66
"tls config: not found bool param %s", #paramName, 0, 0, 0); \
67
goto ERR; \
68
} \
69
(paramObj)->destField = *(bool *)(tmpParam)->value; \
70
} while (0)
71
72
#define PROCESS_STRING_PARAM(tmpParam, paramObj, params, paramName, destField) \
73
do { \
74
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (paramName)); \
75
if ((tmpParam) == NULL || (tmpParam)->valueType != BSL_PARAM_TYPE_OCTETS_PTR) { \
76
BSL_LOG_BINLOG_FIXLEN(BINLOG_ID05079, BSL_LOG_LEVEL_ERR, BSL_LOG_BINLOG_TYPE_RUN, \
77
"tls config: not found string param %s", #paramName, 0, 0, 0); \
78
goto ERR; \
79
} \
80
(paramObj)->destField = BSL_SAL_Calloc((tmpParam)->valueLen + 1, sizeof(char)); \
81
if ((paramObj)->destField == NULL) { \
82
goto ERR; \
83
} \
84
(void)memcpy_s((paramObj)->destField, (tmpParam)->valueLen + 1, (tmpParam)->value, (tmpParam)->valueLen); \
85
} while (0)
86
87
#define PROCESS_OPTIONAL_STRING_PARAM(tmpParam, params, paramName, outString, outStringLen, nameParamName, outName) \
88
do { \
89
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (paramName)); \
90
if ((tmpParam) == NULL) { \
91
(outString) = NULL; \
92
} else if ((tmpParam)->valueType == BSL_PARAM_TYPE_OCTETS_PTR) { \
93
(outString) = (const char *)(tmpParam)->value; \
94
(outStringLen) = (tmpParam)->valueLen; \
95
(tmpParam) = BSL_PARAM_FindParam((BSL_Param *)(uintptr_t)(params), (nameParamName)); \
96
if ((tmpParam) == NULL || (tmpParam)->valueType != BSL_PARAM_TYPE_OCTETS_PTR) { \
97
BSL_LOG_BINLOG_FIXLEN(BINLOG_ID05080, BSL_LOG_LEVEL_ERR, BSL_LOG_BINLOG_TYPE_RUN, \
98
"tls config: not found optional string param %s", #nameParamName, 0, 0, 0); \
99
goto ERR; \
100
} \
101
(outName) = (const char *)(tmpParam)->value; \
102
} else { \
103
goto ERR; \
104
} \
105
} while (0)
106
108
void
CFG_CleanConfig(
HITLS_Config
*config);
109
111
int32_t DumpConfig(
HITLS_Ctx
*ctx,
const
HITLS_Config
*srcConfig);
112
113
#ifdef __cplusplus
114
}
115
#endif
116
117
#endif
HITLS_Ctx
struct TlsCtx HITLS_Ctx
HITLS context
定义
hitls_type.h:35
HITLS_Config
struct TlsConfig HITLS_Config
config context
定义
hitls_type.h:41
tls
config
include
config.h
制作者
1.15.0