39 |
|
{ |
40 |
|
dlink_node node; /**< Doubly linked list node */ |
41 |
|
struct irc_ssaddr ip; /**< Holds an IPv6 or IPv4 address */ |
42 |
< |
unsigned int count; /**< Number of registered users using this IP */ |
42 |
> |
unsigned int count_local; /**< Number of local users using this IP */ |
43 |
> |
unsigned int count_remote; /**< Number of remote users using this IP */ |
44 |
|
unsigned int connection_count; /**< Number of connections from this IP in the last throttle_time duration */ |
45 |
|
uintmax_t last_attempt; /**< The last time someone connected from this IP */ |
46 |
|
}; |
47 |
|
|
48 |
|
extern struct ip_entry *ipcache_find_or_add_address(const struct irc_ssaddr *); |
49 |
< |
extern void ipcache_remove_address(const struct irc_ssaddr *); |
49 |
> |
extern void ipcache_remove_address(const struct irc_ssaddr *, int); |
50 |
|
extern void ipcache_get_stats(unsigned int *const, size_t *const); |
51 |
|
extern void ipcache_init(void); |
52 |
|
#endif |