summaryrefslogtreecommitdiff
path: root/services.h
diff options
context:
space:
mode:
Diffstat (limited to 'services.h')
-rw-r--r--services.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/services.h b/services.h
index c285b13a5..6033673a0 100644
--- a/services.h
+++ b/services.h
@@ -125,6 +125,7 @@ extern int toupper(char), tolower(char);
/*************************************************************************/
+typedef struct server_ Server;
typedef struct user_ User;
typedef struct channel_ Channel;
@@ -185,6 +186,8 @@ typedef struct channel_ Channel;
#ifdef IRC_BAHAMUT
# define HAS_NICKIP
+# define HAS_EXCEPT
+# define HAS_SVSHOLD
# define NICKSERV_MODE "+o"
# define CHANSERV_MODE "+o"
# define MEMOSERV_MODE "+o"
@@ -903,6 +906,32 @@ struct csmodeutil_ {
#endif
/*************************************************************************/
+/* Server CAPAB flags */
+#ifdef IRC_BAHAMUT
+# define CAPAB_NOQUIT 0x0001
+# define CAPAB_TSMODE 0x0002
+# define CAPAB_UNCONNECT 0x0004
+#endif
+
+/* Server data */
+
+struct server_ {
+ Server *next, *prev;
+
+ char *name; /* Server name */
+ uint16 hops; /* Hops between services and server */
+ char *desc; /* Server description */
+ uint16 flags; /* Some info flags, as defined below */
+
+ Server *links; /* Linked list head for linked servers */
+ Server *uplink; /* Server which pretends to be the uplink */
+};
+
+#define SERVER_ISME 0x0001
+#define SERVER_JUPED 0x0002
+
+/*************************************************************************/
+
/* Online user and channel data. */
struct user_ {
User *next, *prev;
@@ -918,7 +947,7 @@ struct user_ {
char *vident; /* User's virtual ident */
#endif
char *realname;
- char *server; /* Name of server user is on */
+ Server *server; /* Server user is connected to */
char *nickTrack; /* Nick Tracking */