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

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

typedef struct EtcHostsItem {
        struct in_addr_data address;

        char **names;
} EtcHostsItem;

typedef struct EtcHostsItemByName {
        char *name;

        struct in_addr_data **addresses;
        size_t n_addresses, n_allocated;
} EtcHostsItemByName;

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

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