26#ifndef MICROHTTPD_TLS_H
27#define MICROHTTPD_TLS_H
29#include <microhttpd2.h>
34#define MHD_TLS_ABI_VERSION 0
40#define MHD_TLS_ABI_VERSION_STR "0"
46struct MHD_TLS_ConnectionState;
105 const char *mem_trust);
116 struct MHD_TLS_ConnectionState *
117 (*setup_connection)(
void *
cls,
123 struct MHD_TLS_ConnectionState *cs);
128 struct MHD_TLS_ConnectionState *cs);
133 struct MHD_TLS_ConnectionState *cs,
134 enum MHD_RequestEventLoopInfo *eli);
138 struct MHD_TLS_ConnectionState *cs,
145 struct MHD_TLS_ConnectionState *cs,
151 (*strerror)(
void *
cls,
156 struct MHD_TLS_ConnectionState *cs);
160 struct MHD_TLS_ConnectionState *cs);
165 struct MHD_TLS_ConnectionState *cs);
182(*MHD_TLS_PluginInit) (
const char *ciphers);
191#define MHD_TLS_INIT(body) \
192 struct MHD_TLS_Plugin * \
193 MHD_TLS_init_ ## MHD_TLS_ABI_VERSION (const char *ciphers) \ \
enum MHD_Bool(* idle_ready)(void *cls, struct MHD_TLS_ConnectionState *cs)
ssize_t(* recv)(void *cls, struct MHD_TLS_ConnectionState *cs, void *buf, size_t buf_size)
enum MHD_Bool(* update_event_loop_info)(void *cls, struct MHD_TLS_ConnectionState *cs, enum MHD_RequestEventLoopInfo *eli)
enum MHD_StatusCode(* init_mem_trust)(void *cls, const char *mem_trust)
enum MHD_Bool(* shutdown_connection)(void *cls, struct MHD_TLS_ConnectionState *cs)
enum MHD_Bool(* handshake)(void *cls, struct MHD_TLS_ConnectionState *cs)
enum MHD_StatusCode(* init_kcp)(void *cls, const char *mem_key, const char *mem_cert, const char *pass)
enum MHD_Bool(* check_record_pending)(void *cls, struct MHD_TLS_ConnectionState *cs)
enum MHD_StatusCode(* init_dhparams)(void *cls, const char *dh)
ssize_t(* send)(void *cls, struct MHD_TLS_ConnectionState *cs, const void *buf, size_t buf_size)
void(* teardown_connection)(void *cls, struct MHD_TLS_ConnectionState *cs)
void(* done)(struct MHD_TLS_Plugin *plugin)