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