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 HS_DTLS_TIMER_H 17 #define HS_DTLS_TIMER_H 18 19 #include <stdint.h> 20 #include <stdbool.h> 21 #include "hs_ctx.h" 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 #ifdef HITLS_TLS_PROTO_DTLS12 28 29 /** 30 * @brief Start the 2MSL timer. 31 * 32 * @param ctx [IN] tls Context 33 * 34 * @retval HITLS_SUCCESS succeeded. 35 * @retval HITLS_MSG_HANDLE_SYS_TIME_FAIL The system time function fails to return. 36 */ 37 int32_t HS_Start2MslTimer(TLS_Ctx *ctx); 38 39 /** 40 * @brief Start the timer. 41 * 42 * @param ctx [IN] tls Context 43 * 44 * @retval HITLS_SUCCESS succeeded. 45 * @retval HITLS_MSG_HANDLE_SYS_TIME_FAIL The system time function fails to return. 46 */ 47 int32_t HS_StartTimer(TLS_Ctx *ctx); 48 49 /** 50 * @brief Judge timer timeout 51 * 52 * @param ctx [IN] tls Context 53 * @param isTimeout [OUT] Timeout or not 54 * 55 * @retval HITLS_SUCCESS succeeded. 56 * @retval HITLS_MSG_HANDLE_SYS_TIME_FAIL The system time function fails to return. 57 */ 58 int32_t HS_IsTimeout(TLS_Ctx *ctx, bool *isTimeout); 59 60 /** 61 * @brief DTLS receiving timeout timer processing 62 * 63 * @param ctx [IN] tls Context 64 * 65 * @retval HITLS_SUCCESS succeeded. 66 * @retval HITLS_MSG_HANDLE_SYS_TIME_FAIL The system time function fails to return. 67 * @retval HITLS_MSG_HANDLE_DTLS_CONNECT_TIMEOUT DTLS connection timeout 68 */ 69 int32_t HS_TimeoutProcess(TLS_Ctx *ctx); 70 71 #endif 72 73 #ifdef __cplusplus 74 } 75 #endif /* end __cplusplus */ 76 #endif /* end HS_DTLS_TIMER_H */ 77