1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include "resolved-manager.h"
5 #include "resolved-dns-question.h"
6 #include "resolved-dns-answer.h"
7 
8 typedef struct EtcHostsItem {
9         struct in_addr_data address;
10 
11         char **names;
12 } EtcHostsItem;
13 
14 typedef struct EtcHostsItemByName {
15         char *name;
16 
17         struct in_addr_data **addresses;
18         size_t n_addresses;
19 } EtcHostsItemByName;
20 
21 int etc_hosts_parse(EtcHosts *hosts, FILE *f);
22 void etc_hosts_free(EtcHosts *hosts);
23 
24 void manager_etc_hosts_flush(Manager *m);
25 int manager_etc_hosts_lookup(Manager *m, DnsQuestion* q, DnsAnswer **answer);
26