1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #if !ENABLE_DNS_OVER_TLS || !DNS_OVER_TLS_USE_GNUTLS
5 #error This source file requires DNS-over-TLS to be enabled and GnuTLS to be available.
6 #endif
7 
8 #include <gnutls/gnutls.h>
9 #include <stdbool.h>
10 
11 struct DnsTlsManagerData {
12         gnutls_certificate_credentials_t cert_cred;
13 };
14 
15 struct DnsTlsServerData {
16         gnutls_datum_t session_data;
17 };
18 
19 struct DnsTlsStreamData {
20         gnutls_session_t session;
21         gnutls_typed_vdata_st validation;
22         int handshake;
23         bool shutdown;
24 };
25