#ifndef _WhoWas_h
#define _WhoWas_h
#define whowas_userlist_max 300
#define whowas_reg_max 500
#define whowas_chan_max 20
#include "hash.h"
typedef struct _whowaschan_str {
struct _whowaschan_str *next;
char *channel;
int refnum;
ChannelList *channellist;
time_t time;
} WhowasChanList;
typedef struct _whowaswrapchan_str {
HashEntry NickListTable[WHOWASLIST_HASHSIZE];
} WhowasWrapChanList;
typedef struct _whowas_str {
struct _whowas_str *next;
int has_ops; /* true is user split away with opz */
char *channel; /* name of channel */
time_t time; /* time of split/leave */
char *server1;
char *server2;
NickList *nicklist; /* pointer to nicklist */
ShitList *shitlist; /* pointer to shitlist */
ChannelList *channellist;
} WhowasList;
typedef struct _whowas_wrap_str {
unsigned long total_hits;
unsigned long total_links;
unsigned long total_unlinks;
HashEntry NickListTable[WHOWASLIST_HASHSIZE];
} WhowasWrapList;
WhowasList *check_whowas_buffer (char *, char *, char *, int);
WhowasList *check_whowas_nick_buffer (char *, char *, int);
WhowasList *check_whosplitin_buffer (char *, char *, char *, int);
void add_to_whowas_buffer (NickList *, char *, char *, char *);
void add_to_whosplitin_buffer (NickList *, char *, char *, char *);
int remove_oldest_whowas (WhowasWrapList *, time_t, int);
void clean_whowas_list (void);
void sync_whowas_adduser (UserList *);
void sync_whowas_unuser (UserList *);
void sync_whowas_addshit (ShitList *);
void sync_whowas_unshit (ShitList *);
WhowasChanList *check_whowas_chan_buffer (char *, int, int);
void add_to_whowas_chan_buffer (ChannelList *);
int remove_oldest_chan_whowas (WhowasChanList **, time_t, int);
void clean_whowas_chan_list (void);
void show_whowas (void);
void show_wholeft (char *);
extern WhowasWrapList whowas_splitin_list;
#endif
syntax highlighted by Code2HTML, v. 0.9.1