tls: picotls engine basic enabling for TLS
[vpp.git] / src / plugins / tlspicotls / tls_picotls.h
1 #ifndef __included_tls_picotls_h__
2 #define __included_tls_picotls_h__
3
4 #include <picotls.h>
5 #include <picotls/openssl.h>
6 #include <vnet/plugin/plugin.h>
7 #include <vnet/tls/tls.h>
8 #include <vpp/app/version.h>
9
10 typedef struct tls_ctx_picotls_
11 {
12   tls_ctx_t ctx;
13   u32 ptls_ctx_idx;
14   ptls_t *tls;
15   u8 *rx_content;
16   int rx_offset;
17   int rx_len;
18 } picotls_ctx_t;
19
20 typedef struct tls_listen_ctx_picotls_
21 {
22   u32 ptls_lctx_index;
23   ptls_context_t *ptls_ctx;
24 } picotls_listen_ctx_t;
25
26 typedef struct picotls_main_
27 {
28   picotls_ctx_t ***ctx_pool;
29   picotls_listen_ctx_t *lctx_pool;
30 } picotls_main_t;
31
32 #endif /* __included_quic_certs_h__ */
33
34 /*
35  * fd.io coding-style-patch-verification: ON
36  *
37  * Local Variables:
38  * eval: (c-set-style "gnu")
39  * End:
40  */