src/tls/xqc_tls_ctx.h (14 lines of code) (raw):

/** * @copyright Copyright (c) 2022, Alibaba Group Holding Limited */ #ifndef XQC_TLS_CTX_H #define XQC_TLS_CTX_H #include "xqc_tls.h" #include "xqc_tls_common.h" #include <openssl/ssl.h> #include <openssl/err.h> /** * @brief get SSL_CTX object */ SSL_CTX *xqc_tls_ctx_get_ssl_ctx(xqc_tls_ctx_t *ctx); /** * @brief get configured tls context type */ xqc_tls_type_t xqc_tls_ctx_get_type(xqc_tls_ctx_t *ctx); /** * @brief get callback functions registered by upper layer */ void xqc_tls_ctx_get_tls_callbacks(xqc_tls_ctx_t *ctx, xqc_tls_callbacks_t **tls_cbs); /** * @brief get session ticket key */ void xqc_tls_ctx_get_session_ticket_key(xqc_tls_ctx_t *ctx, xqc_ssl_session_ticket_key_t **stk); /** * @brief get ssl common config, basically for server */ void xqc_tls_ctx_get_cfg(xqc_tls_ctx_t *ctx, xqc_engine_ssl_config_t **cfg); /** * @brief get alpn list, will be used for application layer protocol negotiation */ void xqc_tls_ctx_get_alpn_list(xqc_tls_ctx_t *ctx, unsigned char **alpn_list, size_t *alpn_list_len); #endif