]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/resolve/resolved-dns-search-domain.h
resolved: add missing error code check when initializing DNS-over-TLS
[thirdparty/systemd.git] / src / resolve / resolved-dns-search-domain.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
a51c1048
LP
2#pragma once
3
a51c1048
LP
4#include "macro.h"
5
6typedef struct DnsSearchDomain DnsSearchDomain;
7
8typedef enum DnsSearchDomainType {
9 DNS_SEARCH_DOMAIN_SYSTEM,
10 DNS_SEARCH_DOMAIN_LINK,
11} DnsSearchDomainType;
12
13#include "resolved-link.h"
14#include "resolved-manager.h"
15
16struct DnsSearchDomain {
17 Manager *manager;
18
19 unsigned n_ref;
20
21 DnsSearchDomainType type;
22 Link *link;
23
24 char *name;
25
26 bool marked:1;
ad44b56b 27 bool route_only:1;
a51c1048
LP
28
29 bool linked:1;
30 LIST_FIELDS(DnsSearchDomain, domains);
31};
32
33int dns_search_domain_new(
34 Manager *m,
35 DnsSearchDomain **ret,
36 DnsSearchDomainType type,
37 Link *link,
38 const char *name);
39
40DnsSearchDomain* dns_search_domain_ref(DnsSearchDomain *d);
41DnsSearchDomain* dns_search_domain_unref(DnsSearchDomain *d);
42
43void dns_search_domain_unlink(DnsSearchDomain *d);
44void dns_search_domain_move_back_and_unmark(DnsSearchDomain *d);
45
46void dns_search_domain_unlink_all(DnsSearchDomain *first);
47void dns_search_domain_unlink_marked(DnsSearchDomain *first);
48void dns_search_domain_mark_all(DnsSearchDomain *first);
49
50int dns_search_domain_find(DnsSearchDomain *first, const char *name, DnsSearchDomain **ret);
51
801ad6a6
LP
52static inline const char* DNS_SEARCH_DOMAIN_NAME(DnsSearchDomain *d) {
53 return d ? d->name : NULL;
54}
55
a51c1048 56DEFINE_TRIVIAL_CLEANUP_FUNC(DnsSearchDomain*, dns_search_domain_unref);