]> jfr.im git - irc/quakenet/newserv.git/blob - chanindex/chanindex.h
Large reorganisation of all Makefiles, including new configure script.
[irc/quakenet/newserv.git] / chanindex / chanindex.h
1 #ifndef __CHANINDEX_H
2 #define __CHANINDEX_H
3
4 #include "../lib/sstring.h"
5
6 #define CHANNELHASHSIZE 60000
7 #define MAXCHANNELEXTS 7
8
9 struct channel;
10
11 typedef struct chanindex {
12 sstring *name;
13 struct channel *channel;
14 struct chanindex *next;
15 unsigned int marker;
16 void *exts[MAXCHANNELEXTS];
17 } chanindex;
18
19 extern chanindex *chantable[CHANNELHASHSIZE];
20
21 chanindex *getchanindex();
22 void freechanindex(chanindex *cip);
23 void initchannelindex();
24 chanindex *findchanindex(const char *name);
25 chanindex *findorcreatechanindex(const char *name);
26 void releasechanindex(chanindex *cip);
27 int registerchanext(const char *name);
28 int findchanext(const char *name);
29 void releasechanext(int index);
30 unsigned int nextchanmarker();
31
32 #endif