JabberWerxC  2015.1.1
tls.h
Go to the documentation of this file.
1 
13 #ifndef JABBERWERX_CRYPTO_TLS_H
14 #define JABBERWERX_CRYPTO_TLS_H
15 
16 #include <event2/bufferevent.h>
17 #include "../stream.h"
18 
19 
24 #define JW_TLS_CONFIG_REQUIRED "tls-required"
25 
31 #define JW_TLS_CONFIG_ACCEPT_CB "tls-accept-cb"
32 
38 #define JW_TLS_CONFIG_ACCEPT_CB_ARG "tls-accept-cb-arg"
39 
40 
47 typedef struct _jw_tls_ctx_int jw_tls_ctx;
48 
58 typedef struct _jw_tls_session_int jw_tls_session;
59 
60 
83 typedef void (*jw_tls_accept_cb)(jw_tls_session *sess, void *arg);
84 
95 
96 
97 #ifdef __cplusplus
98 extern "C"
99 {
100 #endif
101 
140  jw_err *err);
141 
149 
196  jw_stream *stream,
197  jw_tls_accept_cb accept_cb,
198  jw_err *err);
199 
230  jw_stream *stream,
231  jw_tls_accept_cb accept_cb,
232  struct bufferevent **bev,
233  jw_err *err);
234 
255  const char *cert_file,
256  const char *private_key_file,
257  jw_err *err);
258 
281 JABBERWERX_API void jw_tls_proceed(jw_tls_session *sess, bool accept);
282 
295 
308 
309 #ifdef __cplusplus
310 }
311 #endif
312 
313 #endif /* JABBERWERX_CRYPTO_TLS_H */
#define JABBERWERX_API
Definition: basics.h:32
JABBERWERX_API bool jw_tls_initialize(jw_err *err)
JABBERWERX_API void jw_tls_terminate()
jw_tls_accept_cb cb
Definition: tls.h:93
JABBERWERX_API bool jw_tls_use_cert_chain(jw_tls_ctx *ctx, const char *cert_file, const char *private_key_file, jw_err *err)
JABBERWERX_API bool jw_tls_socket_create(jw_tls_ctx *ctx, jw_stream *stream, jw_tls_accept_cb accept_cb, struct bufferevent **bev, jw_err *err)
struct jw_tls_accept_cb_htable_value_t jw_tls_accept_cb_htable_value
void(* jw_tls_accept_cb)(jw_tls_session *sess, void *arg)
Definition: tls.h:83
JABBERWERX_API void jw_tls_proceed(jw_tls_session *sess, bool accept)
JABBERWERX_API bool jw_tls_context_create(jw_tls_ctx **ctx, jw_err *err)
Definition: basics.h:157
struct _jw_tls_session_int jw_tls_session
Definition: tls.h:58
JABBERWERX_API void jw_tls_context_destroy(jw_tls_ctx *ctx)
struct _jw_tls_ctx_int jw_tls_ctx
Definition: tls.h:47
struct _jw_stream jw_stream
Definition: stream.h:140
JABBERWERX_API bool jw_tls_filter_stream(jw_tls_ctx *ctx, jw_stream *stream, jw_tls_accept_cb accept_cb, jw_err *err)