]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
Fix to bug #33 (weird /map)
[user/henk/code/inspircd.git] / include / inspircd.h
index 7d79715322d10fcb0621e416b2edf44b03f350fa..2f16fbc82ffa1a65d2fe8144da9d83be06104b4c 100644 (file)
@@ -1,8 +1,18 @@
-/*
-
-
-*/
-
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
+ *                       E-mail:
+ *                <brain@chatspike.net>
+ *               <Craig@chatspike.net>
+ *     
+ * Written by Craig Edwards, Craig McLure, and others.
+ * This program is free but copyrighted software; see
+ *            the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
 
 #include <string>
 #include <stdio.h>
@@ -35,6 +45,7 @@
 #include "inspircd_util.h"
 #include "users.h"
 #include "channels.h"
+#include "servers.h"
 
 // some misc defines
 
 #define WM_AND 1
 #define WM_OR 2
 
+// flags for use with OnUserPreMessage and OnUserPreNotice
+
+#define TYPE_USER 1
+#define TYPE_CHANNEL 2
+
 typedef std::deque<std::string> file_cache;
 
+typedef void (handlerfunc) (char**, int, userrec*);
+
 /* prototypes */
 int InspIRCd(void);
 int InitConfig(void);
 void Error(int status);
 void send_error(char *s);
-void ReadConfig(void);
+void ReadConfig(bool bail,userrec* user);
 void strlower(char *n);
 
 void WriteOpers(char* text, ...);
@@ -83,14 +101,14 @@ void WriteFrom(int sock, userrec *user,char* text, ...);
 void WriteTo(userrec *source, userrec *dest,char *data, ...);
 void WriteChannel(chanrec* Ptr, userrec* user, char* text, ...);
 void ChanExceptSender(chanrec* Ptr, userrec* user, char* text, ...);
-int common_channels(userrec *u, userrec *u2);
 void WriteCommon(userrec *u, char* text, ...);
 void WriteCommonExcept(userrec *u, char* text, ...);
-void WriteWallOps(userrec *source, char* text, ...);
-int isnick(const char *n);
+void WriteWallOps(userrec *source, bool local_only, char* text, ...);
+void WriteChannelLocal(chanrec* Ptr, userrec* user, char* text, ...);
+void WriteChannelWithServ(char* ServerName, chanrec* Ptr, userrec* user, char* text, ...);
+char* chanmodes(chanrec *chan);
 userrec* Find(std::string nick);
 chanrec* FindChan(const char* chan);
-char* cmode(userrec *user, chanrec *chan);
 std::string getservername();
 std::string getserverdesc();
 std::string getnetworkname();
@@ -102,8 +120,56 @@ bool ModeDefined(char c, int i);
 bool ModeDefinedOper(char c, int i);
 int ModeDefinedOn(char c, int i);
 int ModeDefinedOff(char c, int i);
-chanrec* add_channel(userrec *user, const char* cn, const char* key);
-chanrec* del_channel(userrec *user, const char* cname, const char* reason);
+void ModeMakeList(char modechar);
+bool ModeIsListMode(char modechar, int type);
+chanrec* add_channel(userrec *user, const char* cn, const char* key, bool override);
+chanrec* del_channel(userrec *user, const char* cname, const char* reason, bool local);
 void force_nickchange(userrec* user,const char* newnick);
 void kill_link(userrec *user,const char* r);
+void kill_link_silent(userrec *user,const char* r);
+int usercount(chanrec *c);
+void call_handler(const char* commandname,char **parameters, int pcnt, userrec *user);
+long GetRevision();
+int loop_call(handlerfunc fn, char **parameters, int pcnt, userrec *u, int start, int end, int joins);
+void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason);
+void purge_empty_chans(void);
+char* Passwd(userrec *user);
+bool IsDenied(userrec *user);
+void AddWhoWas(userrec* u);
+void userlist(userrec *user,chanrec *c);
+std::string GetServerDescription(char* servername);
+int usercnt(void);
+int registered_usercount(void);
+int usercount_invisible(void);
+int usercount_opers(void);
+int usercount_unknown(void);
+long chancount(void);
+long count_servs(void);
+long servercount(void);
+long local_count();
+void ShowMOTD(userrec *user);
+void ShowRULES(userrec *user);
+int usercount(chanrec *c);
+int usercount_i(chanrec *c);
+void update_stats_l(int fd,int data_out);
+void ConnectUser(userrec *user);
+void DoSplitEveryone();
+char islast(const char* s);
+long map_count(const char* s);
+userrec* ReHashNick(char* Old, char* New);
+long GetMaxBans(char* name);
+
+
+// mesh network functions
+
+void NetSendToCommon(userrec* u, char* s);
+void NetSendToAll(char* s);
+void NetSendToAllAlive(char* s);
+void NetSendToOne(char* target,char* s);
+void NetSendToAllExcept(const char* target,char* s);
+void NetSendMyRoutingTable();
+void DoSplit(const char* params);
+void RemoveServer(const char* name);
+void DoSync(serverrec* serv, char* tcp_host);
+