summaryrefslogtreecommitdiffstats
path: root/src/resolve/resolved-etc-hosts.h
blob: 805a09bb6d6fa80dc3f447fd0d62abae395e984a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once

#include "resolved-manager.h"
#include "resolved-dns-question.h"
#include "resolved-dns-answer.h"

typedef struct EtcHostsItemByAddress {
        struct in_addr_data address;
        Set *names;
        const char *canonical_name;
} EtcHostsItemByAddress;

typedef struct EtcHostsItemByName {
        char *name;
        Set *addresses;
} EtcHostsItemByName;

int etc_hosts_parse(EtcHosts *hosts, FILE *f);
void etc_hosts_clear(EtcHosts *hosts);

void manager_etc_hosts_flush(Manager *m);
int manager_etc_hosts_lookup(Manager *m, DnsQuestion* q, DnsAnswer **answer);