File: hash2.h

package info (click to toggle)
ircii-pana 75-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 4,448 kB
  • ctags: 7,556
  • sloc: ansic: 82,667; makefile: 989; tcl: 153; sh: 124
file content (61 lines) | stat: -rw-r--r-- 1,916 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
 * hash2.h: function header file for hash.c
 *
 * Written by Scott H Kilau
 *
 * CopyRight(c) 1997
 *
 * See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
 *
 * @(#)$Id: hash2.h,v 1.0 1995/01/24 11:21:40 shk $
 */

#ifndef _HASH2_H_
#define _HASH2_H_

#include "struct.h"
#include "whowas.h"
#include "hash.h"

/* Generic List type hash list */
void	add_name_to_genericlist (char *, HashEntry *, unsigned int);
List	*find_name_in_genericlist (char *, HashEntry *, unsigned int, int);
List	*next_namelist(HashEntry *, List *, unsigned int);

void	add_nicklist_to_channellist(NickList *, ChannelList *);

void	add_whowas_userhost_channel (WhowasList *, WhowasWrapList *);

WhowasList *find_userhost_channel (char *, char *, int, WhowasWrapList *);

void	clear_whowas_hash_table (WhowasWrapList *);
int	remove_oldest_whowas_hashlist (WhowasWrapList *, time_t, int);

WhowasList *next_userhost_channel (WhowasWrapList *, WhowasList *);

NickList *find_nicklist_in_channellist(char *, ChannelList *, int);
NickList *next_nicklist(ChannelList *, NickList *);

void	clear_nicklist_hashtable(ChannelList *);
void	show_nicklist_hashtable(ChannelList *);

void show_whowas_hashtable(WhowasWrapList *cptr, char *);
WhowasList *next_userhost(WhowasWrapList *cptr, WhowasList *nptr);
int show_wholeft_hashtable(WhowasWrapList *cptr, time_t ltime, int *total, int *hook, char *);

/* Added to sort a hash'd nicklist and them remove the sorted list */
extern NickList *sorted_nicklist(ChannelList *, int);
extern void clear_sorted_nicklist(NickList **);
#define NICKSORT_NORMAL 0
#define NICKSORT_NONE 1
#define NICKSORT_NICK 2
#define NICKSORT_HOST 3
#define NICKSORT_TIME 4
#define NICKSORT_IP 5

Flooding *find_name_in_floodlist(char *, char *, HashEntry *, unsigned int, int);
Flooding *add_name_to_floodlist(char *, char *, char *, HashEntry *, unsigned int);
unsigned long hash_nickname(char *, unsigned int);


#endif