]> jfr.im git - irc/quakenet/newserv.git/blame_incremental - server/server.h
CHANSERV: Changed cleanupdb to use authhistory data to avoid deleting users
[irc/quakenet/newserv.git] / server / server.h
... / ...
CommitLineData
1/* server.h */
2
3#ifndef __SERVER_H
4#define __SERVER_H
5
6#include "../lib/sstring.h"
7#include "../irc/irc_config.h"
8#include "../lib/flags.h"
9
10#define LS_INVALID 0 /* No server here */
11#define LS_LINKED 1 /* Server fully linked */
12#define LS_LINKING 2 /* This actual server is bursting */
13#define LS_PLINKING 3 /* Some other server between here and there is bursting */
14#define LS_SQUIT 4 /* This server is being deleted due to a SQUIT */
15
16#define SMODE_HUB 0x0001
17#define SMODE_IPV6 0x0002
18#define SMODE_SERVICE 0x0004
19#define SMODE_OPERNAME 0x0008
20
21#define SMODE_ALL 0x000F
22
23#define SIsHub(x) ((x)->flags & SMODE_HUB)
24#define SIsIPv6(x) ((x)->flags & SMODE_IPV6)
25#define SIsService(x) ((x)->flags & SMODE_SERVICE)
26#define SHasOpername(x) ((x)->flags & SMODE_OPERNAME)
27
28extern const flag smodeflags[];
29extern long myhub;
30
31typedef struct {
32 sstring *name;
33 sstring *description;
34 short parent;
35 short linkstate;
36 int maxusernum;
37 flag_t flags;
38 unsigned int marker;
39} server;
40
41extern server serverlist[MAXSERVERS];
42
43int handleservermsg(void *source, int cargc, char **cargv);
44int handleeobmsg(void *source, int cargc, char **argv);
45int handlesquitmsg(void *source, int cargc, char **cargv);
46void handledisconnect(int hooknum, void *arg);
47void deleteserver(long servernum);
48int findserver(const char *name);
49unsigned int nextservermarker(void);
50
51#endif