]>
Commit | Line | Data |
---|---|---|
6016fcb0 IT |
1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
2 | #pragma once | |
3 | ||
aedf00a2 | 4 | #if ENABLE_DNS_OVER_TLS |
6016fcb0 | 5 | |
be28f72d DDM |
6 | #include <stdint.h> |
7 | ||
8 | typedef struct DnsServer DnsServer; | |
9 | typedef struct DnsStream DnsStream; | |
e22c5b20 | 10 | typedef struct DnsTlsManagerData DnsTlsManagerData; |
6016fcb0 IT |
11 | typedef struct DnsTlsServerData DnsTlsServerData; |
12 | typedef struct DnsTlsStreamData DnsTlsStreamData; | |
be28f72d | 13 | typedef struct Manager Manager; |
6016fcb0 | 14 | |
096cbdce | 15 | #if DNS_OVER_TLS_USE_GNUTLS |
6016fcb0 | 16 | #include "resolved-dnstls-gnutls.h" |
096cbdce IT |
17 | #elif DNS_OVER_TLS_USE_OPENSSL |
18 | #include "resolved-dnstls-openssl.h" | |
19 | #else | |
20 | #error Unknown dependency for supporting DNS-over-TLS | |
6016fcb0 IT |
21 | #endif |
22 | ||
6016fcb0 IT |
23 | #define DNSTLS_STREAM_CLOSED 1 |
24 | ||
25 | int dnstls_stream_connect_tls(DnsStream *stream, DnsServer *server); | |
26 | void dnstls_stream_free(DnsStream *stream); | |
04c4d919 | 27 | int dnstls_stream_on_io(DnsStream *stream, uint32_t revents); |
6016fcb0 IT |
28 | int dnstls_stream_shutdown(DnsStream *stream, int error); |
29 | ssize_t dnstls_stream_write(DnsStream *stream, const char *buf, size_t count); | |
30 | ssize_t dnstls_stream_read(DnsStream *stream, void *buf, size_t count); | |
31 | ||
6016fcb0 | 32 | void dnstls_server_free(DnsServer *server); |
e22c5b20 | 33 | |
71a681ae | 34 | int dnstls_manager_init(Manager *manager); |
e22c5b20 | 35 | void dnstls_manager_free(Manager *manager); |
aedf00a2 IT |
36 | |
37 | #endif /* ENABLE_DNS_OVER_TLS */ |