1 /*
2  * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 /* DEBUG: section 35    FQDN Cache */
10 
11 #ifndef SQUID_FQDNCACHE_H_
12 #define SQUID_FQDNCACHE_H_
13 
14 #include "ip/Address.h"
15 #include "sbuf/forward.h"
16 
17 class StoreEntry;
18 namespace Dns
19 {
20 class LookupDetails;
21 }
22 
23 typedef void FQDNH(const char *, const Dns::LookupDetails &details, void *);
24 
25 void fqdncache_init(void);
26 void fqdnStats(StoreEntry *);
27 void fqdncacheFreeMemory(void);
28 void fqdncache_restart(void);
29 void fqdncache_purgelru(void *);
30 void fqdncacheAddEntryFromHosts(char *addr, SBufList &hostnames);
31 
32 const char *fqdncache_gethostbyaddr(const Ip::Address &, int flags);
33 void fqdncache_nbgethostbyaddr(const Ip::Address &, FQDNH *, void *);
34 
35 #endif /* SQUID_FQDNCACHE_H_ */
36 
37