]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/resolve/resolved-dnstls.h
resolved: TCP Fast Open and TLS Session Tickets for OpenSSL
[thirdparty/systemd.git] / src / resolve / resolved-dnstls.h
CommitLineData
6016fcb0
IT
1/* SPDX-License-Identifier: LGPL-2.1+ */
2#pragma once
3
4#if !ENABLE_DNS_OVER_TLS
5#error This source file requires DNS-over-TLS to be enabled
6#endif
7
8typedef struct DnsTlsServerData DnsTlsServerData;
9typedef struct DnsTlsStreamData DnsTlsStreamData;
10
096cbdce 11#if DNS_OVER_TLS_USE_GNUTLS
6016fcb0 12#include "resolved-dnstls-gnutls.h"
096cbdce
IT
13#elif DNS_OVER_TLS_USE_OPENSSL
14#include "resolved-dnstls-openssl.h"
15#else
16#error Unknown dependency for supporting DNS-over-TLS
6016fcb0
IT
17#endif
18
19#include "resolved-dns-stream.h"
20#include "resolved-dns-transaction.h"
21
22#define DNSTLS_STREAM_CLOSED 1
23
24int dnstls_stream_connect_tls(DnsStream *stream, DnsServer *server);
25void dnstls_stream_free(DnsStream *stream);
04c4d919 26int dnstls_stream_on_io(DnsStream *stream, uint32_t revents);
6016fcb0
IT
27int dnstls_stream_shutdown(DnsStream *stream, int error);
28ssize_t dnstls_stream_write(DnsStream *stream, const char *buf, size_t count);
29ssize_t dnstls_stream_read(DnsStream *stream, void *buf, size_t count);
30
31void dnstls_server_init(DnsServer *server);
32void dnstls_server_free(DnsServer *server);