/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
/* DEBUG: section 35 FQDN Cache */
-#ifndef SQUID_FQDNCACHE_H_
-#define SQUID_FQDNCACHE_H_
+#ifndef SQUID_SRC_FQDNCACHE_H
+#define SQUID_SRC_FQDNCACHE_H
#include "ip/Address.h"
-#include "typedefs.h"
+#include "sbuf/forward.h"
class StoreEntry;
-class wordlist;
+namespace Dns
+{
+class LookupDetails;
+
+/// whether to do reverse DNS lookups for source IPs of accepted connections
+extern bool ResolveClientAddressesAsap;
+}
+
+typedef void FQDNH(const char *, const Dns::LookupDetails &details, void *);
void fqdncache_init(void);
void fqdnStats(StoreEntry *);
-void fqdncacheFreeMemory(void);
void fqdncache_restart(void);
void fqdncache_purgelru(void *);
-void fqdncacheAddEntryFromHosts(char *addr, wordlist * hostnames);
+void fqdncacheAddEntryFromHosts(char *addr, SBufList &hostnames);
const char *fqdncache_gethostbyaddr(const Ip::Address &, int flags);
void fqdncache_nbgethostbyaddr(const Ip::Address &, FQDNH *, void *);
-#endif /* SQUID_FQDNCACHE_H_ */
+#endif /* SQUID_SRC_FQDNCACHE_H */