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