• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 INDICATOR_H
17 #define INDICATOR_H
18 #include "hitls_build.h"
19 #include "hitls_type.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #define INDICATOR_ALERT_LEVEL_OFFSET 8
26 
27 #define INDICATE_INFO_STATE_MASK            0x0FFF  // 0000 1111 1111 1111
28 
29 /**
30  * @ingroup indicator
31  * @brief   Indicate the status or event to the upper layer through the infoCb
32  * @param   ctx       [IN] TLS context
33  * @param   eventType [IN]
34  * @param   value     [IN] Return value of a function in the event or alert type
35  */
36 void INDICATOR_StatusIndicate(const HITLS_Ctx *ctx, int32_t eventType, int32_t value);
37 
38 /**
39  * @ingroup indicator
40  * @brief   Indicate the status or event to the upper layer through msgCb
41  * @param   writePoint [IN] Message direction in the callback ">>>" or "<<<"
42  * @param   tlsVersion [IN] TLS version
43  * @param   contentType[IN] Type of the message to be processed.
44  * @param   msg        [IN] Internal message processing instruction data in callback
45  * @param   msgLen     [IN] Data length of the processing instruction
46  * @param   ctx        [IN] HITLS context
47  * @param   arg        [IN] User data such as BIO
48  */
49 void INDICATOR_MessageIndicate(int32_t writePoint, uint32_t tlsVersion, int32_t contentType, const void *msg,
50                                uint32_t msgLen, HITLS_Ctx *ctx, void *arg);
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
56 #endif // INDICATOR_H