1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
4 #include "hash-funcs.h"
6 typedef struct DnsStubListenerExtra DnsStubListenerExtra
;
8 typedef enum DnsStubListenerMode
{
10 DNS_STUB_LISTENER_UDP
= 1 << 0,
11 DNS_STUB_LISTENER_TCP
= 1 << 1,
12 DNS_STUB_LISTENER_YES
= DNS_STUB_LISTENER_UDP
| DNS_STUB_LISTENER_TCP
,
13 _DNS_STUB_LISTENER_MODE_MAX
,
14 _DNS_STUB_LISTENER_MODE_INVALID
= -1
15 } DnsStubListenerMode
;
17 #include "resolved-manager.h"
19 struct DnsStubListenerExtra
{
22 DnsStubListenerMode mode
;
25 union in_addr_union address
;
28 sd_event_source
*udp_event_source
;
29 sd_event_source
*tcp_event_source
;
32 extern const struct hash_ops dns_stub_listener_extra_hash_ops
;
34 int dns_stub_listener_extra_new(Manager
*m
, DnsStubListenerExtra
**ret
);
35 DnsStubListenerExtra
*dns_stub_listener_extra_free(DnsStubListenerExtra
*p
);
37 void manager_dns_stub_stop(Manager
*m
);
38 int manager_dns_stub_start(Manager
*m
);
40 const char* dns_stub_listener_mode_to_string(DnsStubListenerMode p
) _const_
;
41 DnsStubListenerMode
dns_stub_listener_mode_from_string(const char *s
) _pure_
;