]>
Commit | Line | Data |
---|---|---|
0eb4cbd3 GB |
1 | #ifndef __WHOWAS_H |
2 | #define __WHOWAS_H | |
3 | ||
55ed35b4 | 4 | #define WW_MAXAGE 3600 |
fa6819a7 GB |
5 | #define WW_MAXENTRIES 100000 |
6 | #define WW_MASKLEN (HOSTLEN + USERLEN + NICKLEN) | |
7 | #define WW_REASONLEN 512 | |
8 | ||
9 | typedef struct whowas { | |
4030a47e | 10 | int type; |
0eb4cbd3 GB |
11 | time_t timestamp; |
12 | nick *nick; /* unlinked nick */ | |
4030a47e GB |
13 | |
14 | /* WHOWAS_QUIT or WHOWAS_KILL */ | |
d6385de2 | 15 | sstring *reason; |
fa6819a7 | 16 | |
4030a47e GB |
17 | /* WHOWAS_RENAME */ |
18 | sstring *newnick; | |
fa6819a7 | 19 | |
0eb4cbd3 GB |
20 | unsigned int marker; |
21 | ||
fa6819a7 | 22 | struct whowas *next; |
d6385de2 | 23 | struct whowas *prev; |
fa6819a7 | 24 | } whowas; |
363e3ed0 GB |
25 | |
26 | extern whowas *whowas_head, *whowas_tail; | |
27 | extern int whowas_count; | |
28 | ||
4030a47e GB |
29 | #define WHOWAS_QUIT 0 |
30 | #define WHOWAS_KILL 1 | |
31 | #define WHOWAS_RENAME 2 | |
56cab147 | 32 | |
accce086 | 33 | whowas *whowas_fromnick(nick *np); |
0eb4cbd3 GB |
34 | nick *whowas_tonick(whowas *ww); |
35 | void whowas_freenick(nick *np); | |
56cab147 | 36 | whowas *whowas_chase(const char *nick, int maxage); |
0eb4cbd3 | 37 | const char *whowas_format(whowas *ww); |
accce086 | 38 | void whowas_free(whowas *ww); |
0eb4cbd3 GB |
39 | |
40 | unsigned int nextwhowasmarker(void); | |
41 | ||
42 | #endif /* __WHOWAS_H */ |