]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipcache.h
1 #ifndef _SQUID_IPCACHE_H
2 #define _SQUID_IPCACHE_H
9 class DnsLookupDetails
;
11 typedef struct _ipcache_addrs
{
12 Ip::Address
*in_addrs
;
13 unsigned char *bad_mask
;
16 unsigned char badcount
;
19 typedef void IPH(const ipcache_addrs
*, const DnsLookupDetails
&details
, void *);
21 void ipcache_purgelru(void *);
22 void ipcache_nbgethostbyname(const char *name
, IPH
* handler
, void *handlerData
);
23 const ipcache_addrs
*ipcache_gethostbyname(const char *, int flags
);
24 void ipcacheInvalidate(const char *);
25 void ipcacheInvalidateNegative(const char *);
26 void ipcache_init(void);
27 void ipcacheCycleAddr(const char *name
, ipcache_addrs
*);
28 void ipcacheMarkBadAddr(const char *name
, const Ip::Address
&);
29 void ipcacheMarkGoodAddr(const char *name
, const Ip::Address
&);
30 void ipcacheMarkAllGood(const char *name
);
31 void ipcacheFreeMemory(void);
32 ipcache_addrs
*ipcacheCheckNumeric(const char *name
);
33 void ipcache_restart(void);
34 int ipcacheAddEntryFromHosts(const char *name
, const char *ipaddr
);
36 #endif /* _SQUID_IPCACHE_H */