-
Notifications
You must be signed in to change notification settings - Fork 0
/
ssl_context.hpp
53 lines (38 loc) · 1.82 KB
/
ssl_context.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef SSL_CONTEXT_HPP_
#define SSL_CONTEXT_HPP_
#include <node_api.h>
#include "mbedtls/ssl.h"
class SslContext: public mbedtls_ssl_context
{
public:
static napi_value Init(napi_env env, napi_value exports);
private:
explicit SslContext(napi_env env);
~SslContext(void);
static napi_value New(napi_env env, napi_callback_info info);
static void Finalize(napi_env env, void *nativeObject, void *finalize_hint);
static napi_value GetState(napi_env env, napi_callback_info info);
static napi_value Setup(napi_env env, napi_callback_info info);
static int BioSendCb(void *ctx, const uint8_t *buf, size_t len);
static int BioRecvCb(void *ctx, uint8_t *buf, size_t len);
static int BioRecvTimeoutCb(void *ctx, uint8_t *buf, size_t len, uint32_t timeout);
static napi_value SetBio(napi_env env, napi_callback_info info);
static void TimerSetCallback(void *ctx, uint32_t int_ms, uint32_t fin_ms);
static int TimerGetCallback(void *ctx);
static napi_value SetTimerCallback(napi_env env, napi_callback_info info);
static napi_value SessionReset(napi_env env, napi_callback_info info);
static napi_value SetClientId(napi_env env, napi_callback_info info);
static napi_value Handshake(napi_env env, napi_callback_info info);
static napi_value Read(napi_env env, napi_callback_info info);
static napi_value Write(napi_env env, napi_callback_info info);
static napi_value SendAlertMessage(napi_env env, napi_callback_info info);
static napi_value CloseNotify(napi_env env, napi_callback_info info);
static napi_ref sConstructor;
napi_env mEnvironment;
napi_ref mBioSendCallback;
napi_ref mBioRecvCallback;
napi_ref mBioRecvTimeoutCallback;
napi_ref mTimerSetCallback;
napi_ref mTimerGetCallback;
};
#endif // SSL_CONTEXT_HPP_