]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/resolve/resolved-dnstls.h
resolved: Read as much as possible per stream EPOLLIN event
[thirdparty/systemd.git] / src / resolve / resolved-dnstls.h
CommitLineData
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
9typedef struct DnsServer DnsServer;
10typedef struct DnsStream DnsStream;
e22c5b20 11typedef struct DnsTlsManagerData DnsTlsManagerData;
6016fcb0
IT
12typedef struct DnsTlsServerData DnsTlsServerData;
13typedef struct DnsTlsStreamData DnsTlsStreamData;
be28f72d 14typedef 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
26int dnstls_stream_connect_tls(DnsStream *stream, DnsServer *server);
27void dnstls_stream_free(DnsStream *stream);
04c4d919 28int dnstls_stream_on_io(DnsStream *stream, uint32_t revents);
6016fcb0 29int dnstls_stream_shutdown(DnsStream *stream, int error);
aa892849 30ssize_t dnstls_stream_writev(DnsStream *stream, const struct iovec *iov, size_t iovcnt);
6016fcb0
IT
31ssize_t dnstls_stream_read(DnsStream *stream, void *buf, size_t count);
32
6016fcb0 33void dnstls_server_free(DnsServer *server);
e22c5b20 34
71a681ae 35int dnstls_manager_init(Manager *manager);
e22c5b20 36void dnstls_manager_free(Manager *manager);
aedf00a2
IT
37
38#endif /* ENABLE_DNS_OVER_TLS */