summaryrefslogtreecommitdiff
path: root/include/services.h
diff options
context:
space:
mode:
authorAdam <Adam@drink-coca-cola.info>2010-04-29 17:31:34 -0400
committerAdam <Adam@anope.org>2010-06-18 20:58:52 -0400
commitc1d161dec451ea790ff87078b5d80b1f71a3e9f0 (patch)
tree2ada0230d0411d10bb1e710d701874d253a4d4aa /include/services.h
parent73e93305c10f349742fad3b2197c6c5dd3aea34e (diff)
Rewrote all of the server handling code
Diffstat (limited to 'include/services.h')
-rw-r--r--include/services.h93
1 files changed, 3 insertions, 90 deletions
diff --git a/include/services.h b/include/services.h
index 2741e0178..4dd35a751 100644
--- a/include/services.h
+++ b/include/services.h
@@ -348,6 +348,7 @@ template<typename T> class Flags
class User;
class ChannelInfo;
class Channel;
+class Server;
struct EList;
typedef struct bandata_ BanData;
@@ -677,48 +678,7 @@ typedef struct {
/*************************************************************************/
-/* Server data */
-
-typedef enum {
- SSYNC_IN_PROGRESS = 0, /* Sync is currently in progress */
- SSYNC_DONE = 1 /* We're in sync */
-} SyncState;
-
-/** Flags set on servers
- */
-enum ServerFlag
-{
- SERVER_START,
-
- /* This server is me */
- SERVER_ISME,
- /* This server was juped */
- SERVER_JUPED,
- /* This server is the current uplink */
- SERVER_ISUPLINK,
-
- SERVER_END
-};
-
-class Server : public Flags<ServerFlag>
-{
- public:
- Server *next, *prev;
-
- char *name; /* Server name */
- uint16 hops; /* Hops between services and server */
- char *desc; /* Server description */
- char *suid; /* Server Univeral ID */
- SyncState sync; /* Server sync state (see above) */
-
- Server *links; /* Linked list head for linked servers */
- Server *uplink; /* Server which pretends to be the uplink */
-};
-
-/*************************************************************************/
-
#include "users.h"
-
/* This structure stocks ban data since it must not be removed when
* user is kicked.
*/
@@ -920,55 +880,6 @@ enum DefconLevel
/*************************************************************************/
-/* Types of capab
- */
-enum CapabType
-{
- CAPAB_BEGIN,
-
- CAPAB_NOQUIT,
- CAPAB_TSMODE,
- CAPAB_UNCONNECT,
- CAPAB_NICKIP,
- CAPAB_NSJOIN,
- CAPAB_ZIP,
- CAPAB_BURST,
- CAPAB_TS3,
- CAPAB_TS5,
- CAPAB_DKEY,
- CAPAB_DOZIP,
- CAPAB_DODKEY,
- CAPAB_QS,
- CAPAB_SCS,
- CAPAB_PT4,
- CAPAB_UID,
- CAPAB_KNOCK,
- CAPAB_CLIENT,
- CAPAB_IPV6,
- CAPAB_SSJ5,
- CAPAB_SN2,
- CAPAB_VHOST,
- CAPAB_TOKEN,
- CAPAB_SSJ3,
- CAPAB_NICK2,
- CAPAB_VL,
- CAPAB_TLKEXT,
- CAPAB_CHANMODE,
- CAPAB_SJB64,
- CAPAB_NICKCHARS,
-
- CAPAB_END
-};
-
-/* CAPAB stuffs */
-struct CapabInfo
-{
- std::string Token;
- CapabType Flag;
-};
-
-/*************************************************************************/
-
/**
* RFC: defination of a valid nick
* nickname = ( letter / special ) *8( letter / digit / special / "-" )
@@ -986,7 +897,9 @@ struct CapabInfo
class IRCDProto;
struct Uplink;
class ServerConfig;
+
#include "extern.h"
+#include "servers.h"
#include "configreader.h"
class CoreExport IRCDProto