summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-05-02 19:02:12 +0000
committerrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-05-02 19:02:12 +0000
commite0583918834a3f8683e430adf3923ea89d2a449a (patch)
treeff36ada734c3874d3be1a806e3a2b994386b54ed /include
parent49491770383e66f1b8074d8b0f80026e3086e9d8 (diff)
BUILD : 1.7.8 (753) BUGS : N/a NOTES : Merged anope-dev with trunk
git-svn-id: svn://svn.anope.org/anope/trunk@753 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@516 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'include')
-rw-r--r--include/bahamut.h65
-rw-r--r--include/commands.h1
-rw-r--r--include/dreamforge.h44
-rw-r--r--include/encrypt.h4
-rw-r--r--include/events.h7
-rw-r--r--include/extern.h345
-rw-r--r--include/hybrid.h51
-rw-r--r--include/module.h9
-rw-r--r--include/modules.h40
-rw-r--r--include/plexus.h60
-rw-r--r--include/ptlink.h84
-rw-r--r--include/rageircd.h48
-rw-r--r--include/ratbox.h52
-rw-r--r--include/services.h154
-rw-r--r--include/shadowircd.h77
-rw-r--r--include/slist.h13
-rw-r--r--include/solidircd.h71
-rw-r--r--include/ultimate2.h54
-rw-r--r--include/ultimate3.h58
-rw-r--r--include/unreal31.h57
-rw-r--r--include/unreal32.h85
-rw-r--r--include/viagra.h67
22 files changed, 443 insertions, 1003 deletions
diff --git a/include/bahamut.h b/include/bahamut.h
deleted file mode 100644
index 2d386e73d..000000000
--- a/include/bahamut.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Bahamut functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-/*************************************************************************/
-
-#ifdef IRC_BAHAMUT
-
-
-#define UMODE_a 0x00000001 /* umode +a - Services Admin */
-#define UMODE_h 0x00000002 /* umode +h - Helper */
-#define UMODE_i 0x00000004 /* umode +i - Invisible */
-#define UMODE_o 0x00000008 /* umode +o - Oper */
-#define UMODE_r 0x00000010 /* umode +r - registered nick */
-#define UMODE_w 0x00000020 /* umode +w - Get wallops */
-#define UMODE_A 0x00000040 /* umode +A - Server Admin */
-#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */
-#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */
-#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */
-#define UMODE_j 0x00000400 /* umode +j - client rejection notices */
-#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */
-#define UMODE_O 0x00001000 /* umode +O - Local Oper */
-#define UMODE_s 0x00002000 /* umode +s - Server notices */
-#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */
-#define UMODE_k 0x00008000 /* umode +k - Server kill messages */
-#define UMODE_f 0x00010000 /* umode +f - Server flood messages */
-#define UMODE_y 0x00020000 /* umode +y - Stats/links */
-#define UMODE_d 0x00040000 /* umode +d - Debug info */
-#define UMODE_g 0x00080000 /* umode +g - Globops */
-#define UMODE_b 0x00100000 /* umode +b - Chatops */
-#define UMODE_n 0x00200000 /* umode +n - Routing Notices */
-#define UMODE_m 0x00400000 /* umode +m - spambot notices */
-#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */
-#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */
-#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */
-#define UMODE_R 0x80000000 /* unmode +R - No non registered msgs */
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-#define CMODE_c 0x00000400 /* Colors can't be used */
-#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
-#define CMODE_j 0x00001000 /* join throttle */
-#define CMODE_O 0x00008000 /* Only opers can join */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
diff --git a/include/commands.h b/include/commands.h
index ec08a44a9..5fe00fc65 100644
--- a/include/commands.h
+++ b/include/commands.h
@@ -30,5 +30,4 @@ extern void do_help_cmd(char *service, User * u, Command *c,const char *cmd);
extern MDE void mod_help_cmd(char *service, User *u, CommandHash *cmdTable[],const char *cmd);
extern MDE void mod_run_cmd(char *service, User *u, CommandHash *cmdTable[],const char *cmd);
-extern char *mod_current_module_name;
/*************************************************************************/
diff --git a/include/dreamforge.h b/include/dreamforge.h
deleted file mode 100644
index f5ee12b00..000000000
--- a/include/dreamforge.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* DreamForge IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_DREAMFORGE
-
-#define UMODE_a 0x00000001 /* Services Admin */
-#define UMODE_h 0x00000002 /* Help system operator */
-#define UMODE_i 0x00000004 /* makes user invisible */
-#define UMODE_o 0x00000008 /* Operator */
-#define UMODE_r 0x00000010 /* Nick set by services as registered */
-#define UMODE_w 0x00000020 /* send wallops to them */
-#define UMODE_A 0x00000040 /* Admin */
-#define UMODE_O 0x00000080 /* Local operator */
-#define UMODE_s 0x00000100 /* server notices such as kill */
-#define UMODE_k 0x00000200 /* Show server-kills... */
-#define UMODE_c 0x00000400 /* Show client information */
-#define UMODE_f 0x00000800 /* Receive flood warnings */
-#define UMODE_g 0x80000000 /* Shows some global messages */
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
diff --git a/include/encrypt.h b/include/encrypt.h
index e786fd1de..462e1b373 100644
--- a/include/encrypt.h
+++ b/include/encrypt.h
@@ -12,5 +12,5 @@
*
*/
-extern int encrypt(const char *src, int len, char *dest, int size);
-extern int check_password(const char *plaintext, const char *password);
+E int encrypt(const char *src, int len, char *dest, int size);
+E int check_password(const char *plaintext, const char *password);
diff --git a/include/events.h b/include/events.h
index 6fa858810..4065e1a2a 100644
--- a/include/events.h
+++ b/include/events.h
@@ -8,7 +8,7 @@
* Based on the original code of Epona by Lara.
* Based on the original code of Services by Andy Church.
*
- * $Id:$
+ * $Id$
*
*/
@@ -22,6 +22,7 @@
#define EVENT_BOT_JOIN "bot_join"
#define EVENT_BOT_CREATE "bot_create"
#define EVENT_BOT_CHANGE "bot_change"
+#define EVENT_BOT_FANTASY "bot_command"
#define EVENT_BOT_DEL "bot_del"
#define EVENT_BOT_ASSIGN "bot_assign"
#define EVENT_TOPIC_UPDATED "chan_topic_updated"
@@ -34,6 +35,7 @@
#define EVENT_CONNECT "connect"
#define EVENT_DB_EXPIRE "db_expire"
#define EVENT_RESTART "restart"
+#define EVENT_RELOAD "reload"
#define EVENT_SHUTDOWN "shutdown"
#define EVENT_SIGNAL "signal"
#define EVENT_NICK_REGISTERED "nick_registered"
@@ -49,4 +51,5 @@
#define EVENT_DEFCON_LEVEL "defcon_level"
#define EVENT_NICK_SUSPENDED "nick_suspended"
#define EVENT_NICK_UNSUSPEND "nick_unsuspend"
-
+#define EVENT_JOIN_CHANNEL "join_channel"
+#define EVENT_PART_CHANNEL "part_channel"
diff --git a/include/extern.h b/include/extern.h
index fdfd09d4b..1c951d801 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -15,32 +15,37 @@
#ifndef EXTERN_H
#define EXTERN_H
-#include "slist.h"
-
#ifndef _WIN32
#define E extern
+#define I extern
#else
#ifndef MODULE_COMPILE
#define E extern __declspec(dllexport)
+#define I extern __declspec(dllimport)
#else
#define E extern __declspec(dllimport)
+#define I extern __declspec(dllexport)
#endif
#endif
+#include "slist.h"
+
E char *uplink;
/* IRC Variables */
-E IRCDVar ircd[];
-E IRCDCAPAB ircdcap[];
-E const char flood_mode_char_set[];
-E const char flood_mode_char_remove[];
+E IRCDVar *ircd;
+E IRCDCAPAB *ircdcap;
+E char *flood_mode_char_set;
+E char *flood_mode_char_remove;
E int UseTSMODE; /* hack to get around bahamut clones that don't send TSMODE */
-E unsigned long umodes[128];
+I unsigned long umodes[128];
E char csmodes[128];
E CMMode cmmodes[128];
E CBMode cbmodes[128];
-E CBModeInfo cbmodeinfos[];
+E CBModeInfo *cbmodeinfos;
E CUMode cumodes[128];
+E char *IRCDModule;
+E IRCDProto ircdproto;
/**** actions.c ****/
@@ -53,6 +58,7 @@ E void common_svsmode(User * u, char *modes, char *arg);
/**** botserv.c ****/
E BotInfo *botlists[256];
+E int nbots;
E void get_botserv_stats(long *nrec, long *memuse);
E void bs_init(void);
E void botserv(User *u, char *buf);
@@ -66,15 +72,19 @@ E BotInfo *findbot(char *nick);
E void bot_join(ChannelInfo *ci);
E void bot_rejoin_all(BotInfo *bi);
E char *normalizeBuffer(char *);
+E void unassign(User * u, ChannelInfo * ci);
+E void insert_bot(BotInfo * bi);
+
+E void bot_raw_ban(User * requester, ChannelInfo * ci, char *nick, char *reason);
+E void bot_raw_kick(User * requester, ChannelInfo * ci, char *nick, char *reason);
+E void bot_raw_mode(User * requester, ChannelInfo * ci, char *mode, char *nick);
/**** channels.c ****/
E Channel *chanlist[1024];
E CBMode cbmodes[128];
-E CBModeInfo cbmodeinfos[];
E CUMode cumodes[128];
E CMMode cmmodes[128];
-E unsigned long umodes[128];
E char csmodes[128];
E void add_ban(Channel * chan, char *mask);
@@ -129,7 +139,7 @@ E void do_topic(const char *source, int ac, char **av);
E void do_mass_mode(char *modes);
E void chan_set_correct_modes(User * user, Channel * c, int give_modes);
-E void restore_unsycned_topics(void);
+E void restore_unsynced_topics(void);
#define whosends(ci) ((!(ci) || !((ci)->botflags & BS_SYMBIOSIS) || !(ci)->bi || !(ci)->c || (ci)->c->usercount < BSMinUsers) ? s_ChanServ : (ci)->bi->nick)
@@ -188,6 +198,11 @@ E void cs_set_limit(ChannelInfo * ci, char *value);
E char *cs_get_redirect(ChannelInfo * ci);
E void cs_set_redirect(ChannelInfo * ci, char *value);
+E int levelinfo_maxwidth;
+E ChannelInfo *makechan(const char *chan);
+E int is_identified(User * user, ChannelInfo * ci);
+E char *get_mlock_modes(ChannelInfo * ci, int complete);
+
/**** compat.c ****/
#if !HAVE_SNPRINTF
@@ -430,11 +445,35 @@ E int CloneWarningDelay;
E int KillClones;
E int AddAkiller;
+/**
+ * Modules Stuff
+ **/
E char **ModulesAutoload;
E int ModulesNumber;
E char **ModulesDelayedAutoload;
E int ModulesDelayedNumber;
+E char **HostServCoreModules;
+E int HostServCoreNumber;
+
+E char **HelpServCoreModules;
+E int HelpServCoreNumber;
+
+E char **MemoServCoreModules;
+E int MemoServCoreNumber;
+
+E char **BotServCoreModules;
+E int BotServCoreNumber;
+
+E char **OperServCoreModules;
+E int OperServCoreNumber;
+
+E char **NickServCoreModules;
+E int NickServCoreNumber;
+
+E char **ChanServCoreModules;
+E int ChanServCoreNumber;
+
E int KillClonesAkillExpire;
@@ -518,6 +557,9 @@ E long unsigned int UserKey3;
E int convert_ircservices_44(void);
+/**** encrypt.c ****/
+E int check_password(const char *plaintext, const char *password);
+
/**** helpserv.c ****/
E void helpserv(User * u, char *buf);
E void helpserv_init(void);
@@ -527,6 +569,11 @@ E void hostserv_init(void);
E void addHostCore(char *nick, char *vIdent, char *vhost, char *creator, int32 tmp_time);
E char *getvIdent(char *nick);
E char *getvHost(char *nick);
+E int is_host_remover(User * u);
+E int is_host_setter(User *u);
+E HostCore *hostCoreListHead();
+E HostCore *findHostCore(HostCore * head, char *nick, boolean * found);
+E void set_lastmask(User * u);
/**** init.c ****/
@@ -534,6 +581,103 @@ E void introduce_user(const char *user);
E int init(int ac, char **av);
E int servernum;
+/**** ircd.c ****/
+E void pmodule_cmd_svsnoop(void (*func) (char *server, int set));
+E void pmodule_cmd_remove_akill(void (*func) (char *user, char *host));
+E void pmodule_cmd_topic(void (*func) (char *whosets, char *chan, char *whosetit, char *topic, time_t when));
+E void pmodule_cmd_vhost_off(void (*func) (User * u));
+E void pmodule_cmd_akill(void (*func) (char *user, char *host, char *who, time_t when, time_t expires, char *reason));
+E void pmodule_cmd_svskill(void (*func) (char *source, char *user, char *buf));
+E void pmodule_cmd_svsmode(void (*func) (User * u, int ac, char **av));
+E void pmodule_cmd_372(void (*func) (char *source, char *msg));
+E void pmodule_cmd_372_error(void (*func) (char *source));
+E void pmodule_cmd_375(void (*func) (char *source));
+E void pmodule_cmd_376(void (*func) (char *source));
+E void pmodule_cmd_nick(void (*func) (char *nick, char *name, char *modes));
+E void pmodule_cmd_guest_nick(void (*func) (char *nick, char *user, char *host, char *real, char *modes));
+E void pmodule_cmd_mode(void (*func) (char *source, char *dest, char *buf));
+E void pmodule_cmd_bot_nick(void (*func) (char *nick, char *user, char *host, char *real, char *modes));
+E void pmodule_cmd_kick(void (*func) (char *source, char *chan, char *user, char *buf));
+E void pmodule_cmd_notice_ops(void (*func) (char *source, char *dest, char *buf));
+E void pmodule_cmd_notice(void (*func) (char *source, char *dest, char *buf));
+E void pmodule_cmd_notice2(void (*func) (char *source, char *dest, char *msg));
+E void pmodule_cmd_privmsg(void (*func) (char *source, char *dest, char *buf));
+E void pmodule_cmd_privmsg2(void (*func) (char *source, char *dest, char *msg));
+E void pmodule_cmd_serv_notice(void (*func) (char *source, char *dest, char *msg));
+E void pmodule_cmd_serv_privmsg(void (*func) (char *source, char *dest, char *msg));
+E void pmodule_cmd_bot_chan_mode(void (*func) (char *nick, char *chan));
+E void pmodule_cmd_351(void (*func) (char *source));
+E void pmodule_cmd_quit(void (*func) (char *source, char *buf));
+E void pmodule_cmd_pong(void (*func) (char *servname, char *who));
+E void pmodule_cmd_join(void (*func) (char *user, char *channel, time_t chantime));
+E void pmodule_cmd_unsqline(void (*func) (char *user));
+E void pmodule_cmd_invite(void (*func) (char *source, char *chan, char *nick));
+E void pmodule_cmd_part(void (*func) (char *nick, char *chan, char *buf));
+E void pmodule_cmd_391(void (*func) (char *source, char *timestr));
+E void pmodule_cmd_250(void (*func) (char *buf));
+E void pmodule_cmd_307(void (*func) (char *buf));
+E void pmodule_cmd_311(void (*func) (char *buf));
+E void pmodule_cmd_312(void (*func) (char *buf));
+E void pmodule_cmd_317(void (*func) (char *buf));
+E void pmodule_cmd_219(void (*func) (char *source, char *letter));
+E void pmodule_cmd_401(void (*func) (char *source, char *who));
+E void pmodule_cmd_318(void (*func) (char *source, char *who));
+E void pmodule_cmd_242(void (*func) (char *buf));
+E void pmodule_cmd_243(void (*func) (char *buf));
+E void pmodule_cmd_211(void (*func) (char *buf));
+E void pmodule_cmd_global(void (*func) (char *source, char *buf));
+E void pmodule_cmd_global_legacy(void (*func) (char *source, char *fmt));
+E void pmodule_cmd_sqline(void (*func) (char *mask, char *reason));
+E void pmodule_cmd_squit(void (*func) (char *servname, char *message));
+E void pmodule_cmd_svso(void (*func) (char *source, char *nick, char *flag));
+E void pmodule_cmd_chg_nick(void (*func) (char *oldnick, char *newnick));
+E void pmodule_cmd_svsnick(void (*func) (char *source, char *guest, time_t when));
+E void pmodule_cmd_vhost_on(void (*func) (char *nick, char *vIdent, char *vhost));
+E void pmodule_cmd_connect(void (*func) (int servernum));
+E void pmodule_cmd_svshold(void (*func) (char *nick));
+E void pmodule_cmd_release_svshold(void (*func) (char *nick));
+E void pmodule_cmd_unsgline(void (*func) (char *mask));
+E void pmodule_cmd_unszline(void (*func) (char *mask));
+E void pmodule_cmd_szline(void (*func) (char *mask, char *reason, char *whom));
+E void pmodule_cmd_sgline(void (*func) (char *mask, char *reason));
+E void pmodule_cmd_unban(void (*func) (char *name, char *nick));
+E void pmodule_cmd_svsmode_chan(void (*func) (char *name, char *mode, char *nick));
+E void pmodule_cmd_svid_umode(void (*func) (char *nick, time_t ts));
+E void pmodule_cmd_nc_change(void (*func) (User * u));
+E void pmodule_cmd_svid_umode2(void (*func) (User * u, char *ts));
+E void pmodule_cmd_svid_umode3(void (*func) (User * u, char *ts));
+E void pmodule_cmd_ctcp(void (*func) (char *source, char *dest, char *buf));
+E void pmodule_cmd_eob(void (*func) ());
+E void pmodule_cmd_jupe(void (*func) (char *jserver, char *who, char *reason));
+E void pmodule_set_umode(void (*func) (User * user, int ac, char **av));
+E void pmodule_valid_nick(int (*func) (char *nick));
+E void pmodule_flood_mode_check(int (*func) (char *value));
+E void pmodule_ircd_var(IRCDVar * ircdvar);
+E void pmodule_ircd_cap(IRCDCAPAB * cap);
+E void pmodule_ircd_version(char *version);
+E void pmodule_ircd_cbmodeinfos(CBModeInfo * modeinfos);
+E void pmodule_ircd_cumodes(CUMode modes[128]);
+E void pmodule_ircd_flood_mode_char_set(char *mode);
+E void pmodule_ircd_flood_mode_char_remove(char *mode);
+E void pmodule_ircd_cbmodes(CBMode modes[128]);
+E void pmodule_ircd_cmmodes(CMMode modes[128]);
+E void pmodule_ircd_csmodes(char mode[128]);
+E void pmodule_ircd_useTSMode(int use);
+E void pmodule_invis_umode(int mode);
+E void pmodule_oper_umode(int mode);
+E void pmodule_invite_cmode(int mode);
+E void pmodule_secret_cmode(int mode);
+E void pmodule_private_cmode(int mode);
+E void pmodule_key_mode(int mode);
+E void pmodule_limit_mode(int mode);
+
+E int anope_get_secret_mode();
+E int anope_get_invite_mode();
+E int anope_get_limit_mode();
+E int anope_get_private_mode();
+E int anope_get_invis_mode();
+E int anope_get_oper_mode();
+
/**** language.c ****/
E char **langtexts[NUM_LANGS];
@@ -580,7 +724,7 @@ E int MailValidate(const char *email);
E const char version_number[];
E const char version_number_dotted[];
E const char version_build[];
-E const char version_protocol[];
+E char *version_protocol;
E const char version_flags[];
E char *services_dir;
@@ -611,6 +755,7 @@ E void save_databases(void);
E void expire_all(void);
E void do_backtrace(int show_segheader);
E void sighandler(int signum);
+E void do_restart_services(void);
/**** memory.c ****/
@@ -625,6 +770,8 @@ E char *sstrdup(const char *s);
E void ms_init(void);
E void memoserv(User * u, char *buf);
E void check_memos(User * u);
+E MemoInfo *getmemoinfo(const char *name, int *ischan, int *isforbid);
+E int delmemo(MemoInfo * mi, int num);
/**** messages.c ****/
@@ -704,6 +851,8 @@ E int do_randomnews(User * u);
E NickAlias *nalists[1024];
E NickCore *nclists[1024];
E NickRequest *nrlists[1024];
+E NickRequest *findrequestnick(const char *nick);
+E int delnickrequest(NickRequest * nr);
E unsigned int guestnum;
E void insert_requestnick(NickRequest * nr);
E void alpha_insert_alias(NickAlias * na);
@@ -711,6 +860,11 @@ E void insert_core(NickCore * nc);
E void listnicks(int count_only, const char *nick);
E void get_aliases_stats(long *nrec, long *memuse);
E void get_core_stats(long *nrec, long *memuse);
+E void collide(NickAlias * na, int from_timeout);
+E void del_ns_timeout(NickAlias * na, int type);
+E void change_core_display(NickCore * nc, char *newdisplay);
+E void release(NickAlias * na, int from_timeout);
+E int do_setmodes(User * u);
E void ns_init(void);
E void nickserv(User * u, char *buf);
@@ -726,7 +880,7 @@ E int nick_identified(User * u);
E int nick_recognized(User * u);
E void expire_nicks(void);
E void expire_requests(void);
-E int ns_do_register(User * u);
+I int ns_do_register(User * u);
E int delnick(NickAlias * na);
E NickAlias *findnick(const char *nick);
E NickCore *findcore(const char *nick);
@@ -778,10 +932,16 @@ E void expire_szlines(void);
E int check_szline(char *nick, char *ip);
E void check_clones(User * user);
-E void delete_ignore(const char *nick);
E Server *server_global(Server * s, char *msg);
+E int OSOpersOnly;
+E time_t DefContimer;
+E void runDefCon(void);
+
+E struct clone clonelist[CLONE_DETECT_SIZE];
+E struct clone warnings[CLONE_DETECT_SIZE];
+
/**** process.c ****/
E int allow_ignore;
@@ -863,6 +1023,19 @@ E int exception_add(User * u, const char *mask, const int limit,
const char *reason, const char *who,
const time_t expires);
+/**** slist.c ****/
+E int slist_add(SList *slist, void *item);
+E void slist_clear(SList *slist, int free);
+E int slist_delete(SList *slist, int index);
+E int slist_delete_range(SList *slist, char *range, slist_delcheckcb_t cb, ...);
+E int slist_enum(SList *slist, char *range, slist_enumcb_t cb, ...);
+E int slist_full(SList *slist);
+E int slist_indexof(SList *slist, void *item);
+E void slist_init(SList *slist);
+E void slist_pack(SList *slist);
+E int slist_remove(SList *slist, void *item);
+E int slist_setcapacity(SList *slist, int16 capacity);
+
/**** sockutil.c ****/
E int32 total_read, total_written;
@@ -1051,74 +1224,74 @@ E void anope_cmd_burst(); /* BURST - use eob to send burst 0 */
E void anope_cmd_svswatch(char *sender, char *nick, char *parm);
E void anope_cmd_ctcp(char *source, char *dest, const char *fmt, ...); /* CTCP */
-E int anope_event_482(char *source, int ac, char **av);
-E int anope_event_436(char *source, int ac, char **av);
-E int anope_event_away(char *source, int ac, char **av);
-E int anope_event_ping(char *source, int ac, char **av);
-E int anope_event_motd(char *source, int ac, char **av);
-E int anope_event_join(char *source, int ac, char **av);
-E int anope_event_kick(char *source, int ac, char **av);
-E int anope_event_kill(char *source, int ac, char **av);
-E int anope_event_mode(char *source, int ac, char **av);
-E int anope_event_tmode(char *source, int ac, char **av);
-E int anope_event_quit(char *source, int ac, char **av);
-E int anope_event_squit(char *source, int ac, char **av);
-E int anope_event_topic(char *source, int ac, char **av);
-E int anope_event_whois(char *source, int ac, char **av);
-E int anope_event_part(char *source, int ac, char **av);
-E int anope_event_server(char *source, int ac, char **av);
-E int anope_event_sid(char *source, int ac, char **av);
-E int anope_event_nick(char *source, int ac, char **av);
-E int anope_event_bmask(char *source, int ac, char **av);
-E int anope_event_gnotice(char *source, int ac, char **av);
-E int anope_event_privmsg(char *source, int ac, char **av);
-E int anope_event_capab(char *source, int ac, char **av);
-E int anope_event_sjoin(char *source, int ac, char **av);
-E int anope_event_cs(char *source, int ac, char **av);
-E int anope_event_hs(char *source, int ac, char **av);
-E int anope_event_ms(char *source, int ac, char **av);
-E int anope_event_ns(char *source, int ac, char **av);
-E int anope_event_os(char *source, int ac, char **av);
-E int anope_event_vs(char *source, int ac, char **av);
-E int anope_event_svinfo(char *source, int ac, char **av);
-E int anope_event_chghost(char *source, int ac, char **av);
-E int anope_event_sethost(char *source, int ac, char **av);
-E int anope_event_chgident(char *source, int ac, char **av);
-E int anope_event_setident(char *source, int ac, char **av);
-E int anope_event_chgname(char *source, int ac, char **av);
-E int anope_event_setname(char *source, int ac, char **av);
-E int anope_event_svsinfo(char *source, int ac, char **av);
-E int anope_event_snick(char *source, int ac, char **av);
-E int anope_event_vhost(char *source, int ac, char **av);
-E int anope_event_tkl(char *source, int ac, char **av);
-E int anope_event_eos(char *source, int ac, char **av);
-E int anope_event_eob(char *source, int ac, char **av);
-E int anope_event_pass(char *source, int ac, char **av);
-E int anope_event_netinfo(char *source, int ac, char **av);
-E int anope_event_error(char *source, int ac, char **av);
-E int anope_event_eb(char *source, int ac, char **av);
-E int anope_event_netctrl(char *source, int ac, char **av);
-E int anope_event_notice(char *source, int ac, char **av);
-E int anope_event_snotice(char *source, int ac, char **av);
-E int anope_event_sqline(char *source, int ac, char **av);
-E int anope_event_error(char *source, int ac, char **av);
-E int anope_event_smo(char *source, int ac, char **av);
-E int anope_event_myid(char *source, int ac, char **av);
-E int anope_event_vctrl(char *source, int ac, char **av);
-E int anope_event_tctrl(char *source, int ac, char **av);
-E int anope_event_netinfo(char *source, int ac, char **av);
-E int anope_event_snetinfo(char *source, int ac, char **av);
-E int anope_event_umode2(char *source, int ac, char **av);
-E int anope_event_globops(char *source, int ac, char **av);
-E int anope_event_swhois(char *source, int ac, char **av);
-E int anope_event_burst(char *source, int ac, char **av);
-E int anope_event_luserslock(char *source, int ac, char **av);
-E int anope_event_admin(char *source, int ac, char **av);
-E int anope_event_credits(char *source, int ac, char **av);
-E int anope_event_rehash(char *source, int ac, char **av);
-E int anope_event_sdesc(char *source, int ac, char **av);
-E int anope_event_netglobal(char *source, int ac, char **av);
-E int anope_event_invite(char *source, int ac, char **av);
+I int anope_event_482(char *source, int ac, char **av);
+I int anope_event_436(char *source, int ac, char **av);
+I int anope_event_away(char *source, int ac, char **av);
+I int anope_event_ping(char *source, int ac, char **av);
+I int anope_event_motd(char *source, int ac, char **av);
+I int anope_event_join(char *source, int ac, char **av);
+I int anope_event_kick(char *source, int ac, char **av);
+I int anope_event_kill(char *source, int ac, char **av);
+I int anope_event_mode(char *source, int ac, char **av);
+I int anope_event_tmode(char *source, int ac, char **av);
+I int anope_event_quit(char *source, int ac, char **av);
+I int anope_event_squit(char *source, int ac, char **av);
+I int anope_event_topic(char *source, int ac, char **av);
+I int anope_event_whois(char *source, int ac, char **av);
+I int anope_event_part(char *source, int ac, char **av);
+I int anope_event_server(char *source, int ac, char **av);
+I int anope_event_sid(char *source, int ac, char **av);
+I int anope_event_nick(char *source, int ac, char **av);
+I int anope_event_bmask(char *source, int ac, char **av);
+I int anope_event_gnotice(char *source, int ac, char **av);
+I int anope_event_privmsg(char *source, int ac, char **av);
+I int anope_event_capab(char *source, int ac, char **av);
+I int anope_event_sjoin(char *source, int ac, char **av);
+I int anope_event_cs(char *source, int ac, char **av);
+I int anope_event_hs(char *source, int ac, char **av);
+I int anope_event_ms(char *source, int ac, char **av);
+I int anope_event_ns(char *source, int ac, char **av);
+I int anope_event_os(char *source, int ac, char **av);
+I int anope_event_vs(char *source, int ac, char **av);
+I int anope_event_svinfo(char *source, int ac, char **av);
+I int anope_event_chghost(char *source, int ac, char **av);
+I int anope_event_sethost(char *source, int ac, char **av);
+I int anope_event_chgident(char *source, int ac, char **av);
+I int anope_event_setident(char *source, int ac, char **av);
+I int anope_event_chgname(char *source, int ac, char **av);
+I int anope_event_setname(char *source, int ac, char **av);
+I int anope_event_svsinfo(char *source, int ac, char **av);
+I int anope_event_snick(char *source, int ac, char **av);
+I int anope_event_vhost(char *source, int ac, char **av);
+I int anope_event_tkl(char *source, int ac, char **av);
+I int anope_event_eos(char *source, int ac, char **av);
+I int anope_event_eob(char *source, int ac, char **av);
+I int anope_event_pass(char *source, int ac, char **av);
+I int anope_event_netinfo(char *source, int ac, char **av);
+I int anope_event_error(char *source, int ac, char **av);
+I int anope_event_eb(char *source, int ac, char **av);
+I int anope_event_netctrl(char *source, int ac, char **av);
+I int anope_event_notice(char *source, int ac, char **av);
+I int anope_event_snotice(char *source, int ac, char **av);
+I int anope_event_sqline(char *source, int ac, char **av);
+I int anope_event_error(char *source, int ac, char **av);
+I int anope_event_smo(char *source, int ac, char **av);
+I int anope_event_myid(char *source, int ac, char **av);
+I int anope_event_vctrl(char *source, int ac, char **av);
+I int anope_event_tctrl(char *source, int ac, char **av);
+I int anope_event_netinfo(char *source, int ac, char **av);
+I int anope_event_snetinfo(char *source, int ac, char **av);
+I int anope_event_umode2(char *source, int ac, char **av);
+I int anope_event_globops(char *source, int ac, char **av);
+I int anope_event_swhois(char *source, int ac, char **av);
+I int anope_event_burst(char *source, int ac, char **av);
+I int anope_event_luserslock(char *source, int ac, char **av);
+I int anope_event_admin(char *source, int ac, char **av);
+I int anope_event_credits(char *source, int ac, char **av);
+I int anope_event_rehash(char *source, int ac, char **av);
+I int anope_event_sdesc(char *source, int ac, char **av);
+I int anope_event_netglobal(char *source, int ac, char **av);
+I int anope_event_invite(char *source, int ac, char **av);
E int anope_event_null(char *source, int ac, char **av);
E void anope_set_umode(User * user, int ac, char **av);
@@ -1150,9 +1323,9 @@ E int decode_ip(char *buf);
E char *host_resolve(char *host);
-extern void event_message_process(char *eventbuf);
-extern void eventprintf(char *fmt, ...);
-extern void event_process_hook(char *name, char *eventbuf);
-extern void send_event(char *name, const char *fmt, ...);
+E void event_message_process(char *eventbuf);
+E void eventprintf(char *fmt, ...);
+E void event_process_hook(char *name, int argc, char **argv);
+E void send_event(char *name, int argc, ...);
#endif /* EXTERN_H */
diff --git a/include/hybrid.h b/include/hybrid.h
deleted file mode 100644
index 05dfbe4ca..000000000
--- a/include/hybrid.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Hybrid IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_HYBRID
-
-
-#define UMODE_a 0x00000001 /* Admin status */
-#define UMODE_b 0x00000080 /* See bot and drone flooding notices */
-#define UMODE_c 0x00000100 /* Client connection/quit notices */
-#define UMODE_d 0x00000200 /* See debugging notices */
-#define UMODE_f 0x00000400 /* See I: line full notices */
-#define UMODE_g 0x00000800 /* Server Side Ignore */
-#define UMODE_i 0x00000004 /* Not shown in NAMES or WHO unless you share a channel */
-#define UMODE_k 0x00001000 /* See server generated KILL messages */
-#define UMODE_l 0x00002000 /* See LOCOPS messages */
-#define UMODE_n 0x00004000 /* See client nick changes */
-#define UMODE_o 0x00000008 /* Operator status */
-#define UMODE_r 0x00000010 /* See rejected client notices */
-#define UMODE_s 0x00008000 /* See general server notices */
-#define UMODE_u 0x00010000 /* See unauthorized client notices */
-#define UMODE_w 0x00000020 /* See server generated WALLOPS */
-#define UMODE_x 0x00020000 /* See remote server connection and split notices */
-#define UMODE_y 0x00040000 /* See LINKS, STATS (if configured), TRACE notices */
-#define UMODE_z 0x00080000 /* See oper generated WALLOPS */
-
-#define CMODE_i 0x00000001 /* Invite only */
-#define CMODE_m 0x00000002 /* Users without +v/h/o cannot send text to the channel */
-#define CMODE_n 0x00000004 /* Users must be in the channel to send text to it */
-#define CMODE_p 0x00000008 /* Private is obsolete, this now restricts KNOCK */
-#define CMODE_s 0x00000010 /* The channel does not show up on NAMES or LIST */
-#define CMODE_t 0x00000020 /* Only chanops can change the topic */
-#define CMODE_k 0x00000040 /* Key/password for the channel. */
-#define CMODE_l 0x00000080 /* Limit the number of users in a channel */
-#define CMODE_a 0x00000400 /* Anonymous ops, chanops are hidden */
-
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t
-
-#endif
-
-
diff --git a/include/module.h b/include/module.h
new file mode 100644
index 000000000..fa09f545c
--- /dev/null
+++ b/include/module.h
@@ -0,0 +1,9 @@
+#include "services.h"
+#include "commands.h"
+#include "language.h"
+#include "modules.h"
+#include "depricated.h"
+
+#define MOD_UNIQUE 0
+#define MOD_HEAD 1
+#define MOD_TAIL 2
diff --git a/include/modules.h b/include/modules.h
index 0a00b4e2f..c2abd3279 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -96,11 +96,15 @@ typedef void * ano_module_t;
#endif
/*************************************************************************/
+typedef enum { CORE,PROTOCOL,THIRD,SUPPORTED,QATESTED } MODType;
+
+/*************************************************************************/
/* Structure for information about a *Serv command. */
typedef struct Command_ Command;
typedef struct CommandHash_ CommandHash;
typedef struct Module_ Module;
+typedef struct ModuleLang_ ModuleLang;
typedef struct ModuleHash_ ModuleHash;
typedef struct Message_ Message;
typedef struct MessageHash_ MessageHash;
@@ -118,8 +122,14 @@ extern MDE CommandHash *CHANSERV[MAX_CMD_HASH];
extern MDE CommandHash *HELPSERV[MAX_CMD_HASH];
extern MDE CommandHash *OPERSERV[MAX_CMD_HASH];
extern MDE MessageHash *IRCD[MAX_CMD_HASH];
-extern EvtMessageHash *EVENT[MAX_CMD_HASH];
-extern EvtHookHash *EVENTHOOKS[MAX_CMD_HASH];
+extern MDE ModuleHash *MODULE_HASH[MAX_CMD_HASH];
+extern MDE EvtMessageHash *EVENT[MAX_CMD_HASH];
+extern MDE EvtHookHash *EVENTHOOKS[MAX_CMD_HASH];
+
+struct ModuleLang_ {
+ int argc;
+ char **argv;
+};
struct Module_ {
char *name;
@@ -129,6 +139,8 @@ struct Module_ {
char *version;
char *author;
+ MODType type;
+
void (*nickHelp)(User *u); /* service 1 */
void (*chanHelp)(User *u); /* 2 */
void (*memoHelp)(User *u); /* 3 */
@@ -139,6 +151,7 @@ struct Module_ {
/* CommandHash *cmdList[MAX_CMD_HASH]; */
MessageHash *msgList[MAX_CMD_HASH];
+ ModuleLang lang[NUM_LANGS];
};
struct ModuleHash_ {
@@ -225,7 +238,7 @@ struct EvtMessageHash_ {
struct EvtHook_ {
- int (*func)(char *source);
+ int (*func)(int argc, char **argv);
int core;
char *name;
char *mod_name;
@@ -241,12 +254,13 @@ struct EvtHookHash_ {
/*************************************************************************/
/* Module Managment Functions */
-Module *createModule(char *filename); /* Create a new module, using the given name */
+MDE Module *createModule(char *filename); /* Create a new module, using the given name */
int destroyModule(Module *m); /* Delete the module */
int addModule(Module *m); /* Add a module to the module hash */
int delModule(Module *m); /* Remove a module from the module hash */
-Module *findModule(char *name); /* Find a module */
+MDE Module *findModule(char *name); /* Find a module */
int loadModule(Module *m,User *u); /* Load the given module into the program */
+int protocol_module_init(void); /* Load the IRCD Protocol Module up*/
int unloadModule(Module *m, User *u); /* Unload the given module from the pro */
int prepForUnload(Module *m); /* Prepare the module for unload */
MDE void moduleAddVersion(char *version);
@@ -269,6 +283,14 @@ MDE int moduleAddRegHelp(Command * c, int (*func) (User * u));
MDE int moduleAddOperHelp(Command * c, int (*func) (User * u));
MDE int moduleAddAdminHelp(Command * c, int (*func) (User * u));
MDE int moduleAddRootHelp(Command * c, int (*func) (User * u));
+MDE void moduleSetType(MODType type);
+MDE Module *mod_current_module;
+MDE char *mod_current_module_name;
+MDE char *mod_current_buffer;
+MDE int mod_current_op;
+MDE User *mod_current_user;
+
+MDE int moduleGetConfigDirective(Directive *h);
/*************************************************************************/
/*************************************************************************/
/* Command Managment Functions */
@@ -287,7 +309,7 @@ Command *findCommand(CommandHash *cmdTable[], const char *name); /* Find a comma
MDE Message *createMessage(char *name,int (*func)(char *source, int ac, char **av));
Message *findMessage(MessageHash *msgTable[], const char *name); /* Find a Message */
MDE int addMessage(MessageHash *msgTable[], Message *m, int pos); /* Add a Message to a Message table */
-int addCoreMessage(MessageHash *msgTable[], Message *m); /* Add a Message to a Message table */
+MDE int addCoreMessage(MessageHash *msgTable[], Message *m); /* Add a Message to a Message table */
MDE int moduleAddMessage(Message *m, int pos);
int delMessage(MessageHash *msgTable[], Message *m, char *mod_name); /* Del a Message from a msg table */
MDE int moduleDelMessage(char *name);
@@ -305,7 +327,7 @@ int delEventHandler(EvtMessageHash * msgEvtTable[], EvtMessage * evm, char *mod_
int destroyEventHandler(EvtMessage * evm);
int addEventHandler(EvtMessageHash * msgEvtTable[], EvtMessage * evm);
-MDE EvtHook *createEventHook(char *name, int (*func) (char *source));
+MDE EvtHook *createEventHook(char *name, int (*func) (int argc, char **argv));
EvtHook *findEventHook(EvtHookHash * HookEvtTable[], const char *name);
int addCoreEventHook(EvtHookHash * HookEvtTable[], EvtHook * evh);
MDE int moduleAddEventHook(EvtHook * evh);
@@ -314,6 +336,10 @@ int delEventHook(EvtHookHash * HookEvtTable[], EvtHook * evh, char *mod_name);
int destroyEventHook(EvtHook * evh);
extern char *mod_current_evtbuffer;
+MDE void moduleInsertLanguage(int langNumber, int ac, char **av);
+MDE void moduleNoticeLang(char *source, User *u, int number, ...);
+MDE void moduleDeleteLanguage(int langNumber);
+
/*************************************************************************/
MDE int moduleAddCallback(char *name,time_t when,int (*func)(int argc, char *argv[]),int argc, char **argv);
diff --git a/include/plexus.h b/include/plexus.h
deleted file mode 100644
index 5c90bcbfd..000000000
--- a/include/plexus.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* PlexusIRCD IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_PLEXUS
-
-
-#define UMODE_a 0x00000001
-#define UMODE_h 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_R 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_s 0x00000040
-#define UMODE_c 0x00000080
-#define UMODE_r 0x00000100
-#define UMODE_k 0x00000200
-#define UMODE_f 0x00000400
-#define UMODE_y 0x00000800
-#define UMODE_d 0x00001000
-#define UMODE_n 0x00002000
-#define UMODE_x 0x00004000
-#define UMODE_u 0x00008000
-#define UMODE_b 0x00010000
-#define UMODE_l 0x00020000
-#define UMODE_g 0x00040000
-#define UMODE_S 0x00080000
-
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_a 0x00000400
-#define CMODE_Z 0x00000800
-#define CMODE_M 0x00001000
-#define CMODE_c 0x00002000
-#define CMODE_O 0x00004000
-#define CMODE_R 0x00008000
-#define CMODE_N 0x00010000
-
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t
-
-#endif
-
-
diff --git a/include/ptlink.h b/include/ptlink.h
deleted file mode 100644
index 877d48423..000000000
--- a/include/ptlink.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* PTLink IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_PTLINK
-
-
-#define UMODE_a 0x00000001
-#define UMODE_h 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_r 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_A 0x00000040
-#define UMODE_B 0x00000080
-#define UMODE_H 0x00000100
-#define UMODE_N 0x00000200
-#define UMODE_O 0x00000400
-#define UMODE_p 0x00000800
-#define UMODE_R 0x00001000
-#define UMODE_s 0x00002000
-#define UMODE_S 0x00004000
-#define UMODE_T 0x00008000
-#define UMODE_v 0x00001000
-#define UMODE_y 0x00002000
-#define UMODE_z 0x00004000
-
-
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_A 0x00000400
-#define CMODE_B 0x00000800
-#define CMODE_c 0x00001000
-#define CMODE_d 0x00002000
-#define CMODE_f 0x00004000
-#define CMODE_K 0x00008000
-#define CMODE_O 0x00010000
-#define CMODE_q 0x00020000
-#define CMODE_S 0x00040000
-#define CMODE_N 0x00080000
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-#define CMODE_C 0x00100000
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-/*
- The following variables are set to define the TS protocol version
- that we support.
-
- PTLink 6.14 to 6.17 TS CURRENT is 6 and MIN is 3
- PTlink 6.18 TS CURRENT is 9 and MIN is 3
- PTLink 6.19 TS CURRENT is 10 and MIN is 9
-
- If you are running 6.18 or 6.19 do not touch these values as they will
- allow you to connect
-
- If you are running an older version of PTLink, first think about updating
- your ircd, or changing the TS_CURRENT to 6 to allow services to connect
-*/
-
-#define PTLINK_TS_CURRENT 9
-#define PTLINK_TS_MIN 3
-
-
-#endif
-
-
diff --git a/include/rageircd.h b/include/rageircd.h
deleted file mode 100644
index ea78f69ba..000000000
--- a/include/rageircd.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Rage IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_RAGE2
-
-
-#define UMODE_a 0x00000001
-#define UMODE_h 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_r 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_A 0x00000040
-#define UMODE_R 0x80000000
-#define UMODE_x 0x40000000
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-#define CMODE_c 0x00000400 /* Colors can't be used */
-#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
-#define CMODE_N 0x00001000
-#define CMODE_S 0x00002000
-#define CMODE_C 0x00004000
-#define CMODE_A 0x00008000
-#define CMODE_O 0x00010000 /* Only opers can join */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
diff --git a/include/ratbox.h b/include/ratbox.h
deleted file mode 100644
index c3b44a737..000000000
--- a/include/ratbox.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Ratbox IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_RATBOX
-
-
-#define UMODE_a 0x00000001
-#define UMODE_C 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_z 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_s 0x00000040
-#define UMODE_c 0x00000080
-#define UMODE_r 0x00000100
-#define UMODE_k 0x00000200
-#define UMODE_f 0x00000400
-#define UMODE_y 0x00000800
-#define UMODE_d 0x00001000
-#define UMODE_n 0x00002000
-#define UMODE_x 0x00004000
-#define UMODE_u 0x00008000
-#define UMODE_b 0x00010000
-#define UMODE_l 0x00020000
-#define UMODE_g 0x00040000
-#define UMODE_Z 0x00080000
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040
-#define CMODE_l 0x00000080
-
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t
-
-#endif
-
-
diff --git a/include/services.h b/include/services.h
index 1590637bf..c6e171908 100644
--- a/include/services.h
+++ b/include/services.h
@@ -229,24 +229,6 @@ typedef enum { false, true } boolean;
/* Protocol tweaks */
-
-#include "hybrid.h"
-#include "viagra.h"
-#include "bahamut.h"
-#include "rageircd.h"
-#include "ptlink.h"
-#include "ultimate2.h"
-#include "unreal31.h"
-#include "ultimate3.h"
-#include "dreamforge.h"
-#include "unreal32.h"
-#include "solidircd.h"
-#include "plexus.h"
-#include "ratbox.h"
-#include "shadowircd.h"
-
-
-
typedef struct ircdvars_ IRCDVar;
typedef struct ircdcapab_ IRCDCAPAB;
@@ -311,7 +293,6 @@ struct ircdvars_ {
int umode; /* change user modes */
int nickvhost; /* Users vhost sent during NICK */
int chgreal; /* Change RealName */
- int extrahelp; /* Lang file entry for extra */
uint32 noknock; /* Channel Mode for no knock */
uint32 adminmode; /* Admin Only Channel Mode */
uint32 defmlock; /* Default mlock modes */
@@ -384,6 +365,40 @@ struct uid_ {
};
/*************************************************************************/
+/* Config Details */
+/*************************************************************************/
+
+#define MAXPARAMS 8
+
+/* Configuration directives */
+
+typedef struct {
+ char *name;
+ struct {
+ int type; /* PARAM_* below */
+ int flags; /* Same */
+ void *ptr; /* Pointer to where to store the value */
+ } params[MAXPARAMS];
+} Directive;
+
+#define PARAM_NONE 0
+#define PARAM_INT 1
+#define PARAM_POSINT 2 /* Positive integer only */
+#define PARAM_PORT 3 /* 1..65535 only */
+#define PARAM_STRING 4
+#define PARAM_TIME 5
+#define PARAM_STRING_ARRAY 6 /* Array of string */
+#define PARAM_SET -1 /* Not a real parameter; just set the
+ * given integer variable to 1 */
+#define PARAM_DEPRECATED -2 /* Set for deprecated directives; `ptr'
+ * is a function pointer to call */
+
+/* Flags: */
+#define PARAM_OPTIONAL 0x01
+#define PARAM_FULLONLY 0x02 /* Directive only allowed if !STREAMLINED */
+#define PARAM_RELOAD 0x04 /* Directive is reloadable */
+
+/*************************************************************************/
/* File version for each database. Was one version for all before but was
changed so they are now easier to maintain. =) */
@@ -992,6 +1007,17 @@ struct sxline_ {
/*************************************************************************/
+/*************************************************************************/
+
+/* clone stuff structure */
+
+struct clone {
+ char *host;
+ long time;
+};
+
+/************************************************************************/
+
/* Host serv structures */
struct hostcore_ {
@@ -1039,7 +1065,97 @@ struct session_ {
};
/*************************************************************************/
+/**
+ * IRCD Protocol module support struct.
+ * protocol modules register the command they want touse for function X with our set
+ * functions, we then call the correct function for the anope_ commands.
+ **/
+typedef struct ircd_proto_ {
+ void (*ircd_cmd_svsnoop)(char *server, int set);
+ void (*ircd_cmd_remove_akill)(char *user, char *host);
+ void (*ircd_cmd_topic)(char *whosets, char *chan, char *whosetit, char *topic, time_t when);
+ void (*ircd_cmd_vhost_off)(User * u);
+ void (*ircd_cmd_akill)(char *user, char *host, char *who, time_t when,time_t expires, char *reason);
+ void (*ircd_cmd_svskill)(char *source, char *user, char *buf);
+ void (*ircd_cmd_svsmode)(User * u, int ac, char **av);
+ void (*ircd_cmd_372)(char *source, char *msg);
+ void (*ircd_cmd_372_error)(char *source);
+ void (*ircd_cmd_375)(char *source);
+ void (*ircd_cmd_376)(char *source);
+ void (*ircd_cmd_nick)(char *nick, char *name, char *modes);
+ void (*ircd_cmd_guest_nick)(char *nick, char *user, char *host, char *real, char *modes);
+ void (*ircd_cmd_mode)(char *source, char *dest, char *buf);
+ void (*ircd_cmd_bot_nick)(char *nick, char *user, char *host, char *real, char *modes);
+ void (*ircd_cmd_kick)(char *source, char *chan, char *user, char *buf);
+ void (*ircd_cmd_notice_ops)(char *source, char *dest, char *buf);
+ void (*ircd_cmd_notice)(char *source, char *dest, char *buf);
+ void (*ircd_cmd_notice2)(char *source, char *dest, char *msg);
+ void (*ircd_cmd_privmsg)(char *source, char *dest, char *buf);
+ void (*ircd_cmd_privmsg2)(char *source, char *dest, char *msg);
+ void (*ircd_cmd_serv_notice)(char *source, char *dest, char *msg);
+ void (*ircd_cmd_serv_privmsg)(char *source, char *dest, char *msg);
+ void (*ircd_cmd_bot_chan_mode)(char *nick, char *chan);
+ void (*ircd_cmd_351)(char *source);
+ void (*ircd_cmd_quit)(char *source, char *buf);
+ void (*ircd_cmd_pong)(char *servname, char *who);
+ void (*ircd_cmd_join)(char *user, char *channel, time_t chantime);
+ void (*ircd_cmd_unsqline)(char *user);
+ void (*ircd_cmd_invite)(char *source, char *chan, char *nick);
+ void (*ircd_cmd_part)(char *nick, char *chan, char *buf);
+ void (*ircd_cmd_391)(char *source, char *timestr);
+ void (*ircd_cmd_250)(char *buf);
+ void (*ircd_cmd_307)(char *buf);
+ void (*ircd_cmd_311)(char *buf);
+ void (*ircd_cmd_312)(char *buf);
+ void (*ircd_cmd_317)(char *buf);
+ void (*ircd_cmd_219)(char *source, char *letter);
+ void (*ircd_cmd_401)(char *source, char *who);
+ void (*ircd_cmd_318)(char *source, char *who);
+ void (*ircd_cmd_242)(char *buf);
+ void (*ircd_cmd_243)(char *buf);
+ void (*ircd_cmd_211)(char *buf);
+ void (*ircd_cmd_global)(char *source, char *buf);
+ void (*ircd_cmd_global_legacy)(char *source, char *fmt);
+ void (*ircd_cmd_sqline)(char *mask, char *reason);
+ void (*ircd_cmd_squit)(char *servname, char *message);
+ void (*ircd_cmd_svso)(char *source, char *nick, char *flag);
+ void (*ircd_cmd_chg_nick)(char *oldnick, char *newnick);
+ void (*ircd_cmd_svsnick)(char *source, char *guest, time_t when);
+ void (*ircd_cmd_vhost_on)(char *nick, char *vIdent, char *vhost);
+ void (*ircd_cmd_connect)(int servernum);
+ void (*ircd_cmd_svshold)(char *nick);
+ void (*ircd_cmd_release_svshold)(char *nick);
+ void (*ircd_cmd_unsgline)(char *mask);
+ void (*ircd_cmd_unszline)(char *mask);
+ void (*ircd_cmd_szline)(char *mask, char *reason, char *whom);
+ void (*ircd_cmd_sgline)(char *mask, char *reason);
+ void (*ircd_cmd_unban)(char *name, char *nick);
+ void (*ircd_cmd_svsmode_chan)(char *name, char *mode, char *nick);
+ void (*ircd_cmd_svid_umode)(char *nick, time_t ts);
+ void (*ircd_cmd_nc_change)(User * u);
+ void (*ircd_cmd_svid_umode2)(User * u, char *ts);
+ void (*ircd_cmd_svid_umode3)(User * u, char *ts);
+ void (*ircd_cmd_ctcp)(char *source, char *dest, char *buf);
+ void (*ircd_cmd_eob)();
+ void (*ircd_cmd_jupe)(char *jserver, char *who, char *reason);
+ void (*ircd_set_umode)(User *user, int ac, char **av);
+ int (*ircd_valid_nick)(char *nick);
+ int (*ircd_flood_mode_check)(char *value);
+} IRCDProto;
+
+typedef struct ircd_modes_ {
+ int user_invis;
+ int user_oper;
+ int chan_invite;
+ int chan_secret;
+ int chan_private;
+ int chan_key;
+ int chan_limit;
+} IRCDModes;
+
+
+/*************************************************************************/
/**
* DEFCON Defines
**/
diff --git a/include/shadowircd.h b/include/shadowircd.h
deleted file mode 100644
index 1dc2e5e52..000000000
--- a/include/shadowircd.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* ShadowIRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_SHADOWIRCD
-
-/* The protocol revision. */
-#define PROTOCOL_REVISION 3402
-
-
-#define UMODE_a 0x00000001
-#define UMODE_C 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_z 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_s 0x00000040
-#define UMODE_c 0x00000080
-#define UMODE_r 0x00000100
-#define UMODE_k 0x00000200
-#define UMODE_f 0x00000400
-#define UMODE_y 0x00000800
-#define UMODE_d 0x00001000
-#define UMODE_n 0x00002000
-#define UMODE_x 0x00004000
-#define UMODE_u 0x00008000
-#define UMODE_b 0x00010000
-#define UMODE_l 0x00020000
-#define UMODE_g 0x00040000
-#define UMODE_v 0x00080000
-#define UMODE_A 0x00100000
-#define UMODE_E 0x00200000
-#define UMODE_G 0x00400000
-#define UMODE_R 0x00800000
-#define UMODE_e 0x01000000
-#define UMODE_O 0x02000000
-#define UMODE_H 0x04000000
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040
-#define CMODE_l 0x00000080
-#define CMODE_K 0x00000100
-#define CMODE_A 0x00000200
-#define CMODE_r 0x00000400
-#define CMODE_z 0x00000800
-#define CMODE_S 0x00001000
-#define CMODE_c 0x00002000
-#define CMODE_E 0x00004000
-#define CMODE_F 0x00008000
-#define CMODE_G 0x00010000
-#define CMODE_L 0x00020000
-#define CMODE_N 0x00040000
-#define CMODE_O 0x00080000
-#define CMODE_P 0x00100000
-#define CMODE_R 0x00200000
-#define CMODE_T 0x00400000
-#define CMODE_V 0x00800000
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
-
diff --git a/include/slist.h b/include/slist.h
index a3e05650f..1ff56aaf1 100644
--- a/include/slist.h
+++ b/include/slist.h
@@ -46,18 +46,5 @@ typedef int (*slist_enumcb_t) (SList *slist, int number, void *item, va_list arg
/* Callback to know whether we can delete the entry. */
typedef int (*slist_delcheckcb_t) (SList *slist, void *item, va_list args);
-/* Functions for global use */
-extern int slist_add(SList *slist, void *item);
-extern void slist_clear(SList *slist, int free);
-extern int slist_delete(SList *slist, int index);
-extern int slist_delete_range(SList *slist, char *range, slist_delcheckcb_t cb, ...);
-extern int slist_enum(SList *slist, char *range, slist_enumcb_t cb, ...);
-extern int slist_full(SList *slist);
-extern int slist_indexof(SList *slist, void *item);
-extern void slist_init(SList *slist);
-extern void slist_pack(SList *slist);
-extern int slist_remove(SList *slist, void *item);
-extern int slist_setcapacity(SList *slist, int16 capacity);
-
#endif /* SLIST_H */
diff --git a/include/solidircd.h b/include/solidircd.h
deleted file mode 100644
index 972ec73da..000000000
--- a/include/solidircd.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* SolidIRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-/*************************************************************************/
-
-#ifdef IRC_SOLID
-
-#define UMODE_a 0x00000001 /* umode +a - Services Admin */
-#define UMODE_h 0x00000002 /* umode +h - Helper */
-#define UMODE_i 0x00000004 /* umode +i - Invisible */
-#define UMODE_o 0x00000008 /* umode +o - Oper */
-#define UMODE_r 0x00000010 /* umode +r - registered nick */
-#define UMODE_w 0x00000020 /* umode +w - Get wallops */
-#define UMODE_A 0x00000040 /* umode +A - Server Admin */
-#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */
-#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */
-#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */
-#define UMODE_j 0x00000400 /* umode +j - client rejection notices */
-#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */
-#define UMODE_O 0x00001000 /* umode +O - Local Oper */
-#define UMODE_s 0x00002000 /* umode +s - Server notices */
-#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */
-#define UMODE_k 0x00008000 /* umode +k - Server kill messages */
-#define UMODE_f 0x00010000 /* umode +f - Server flood messages */
-#define UMODE_y 0x00020000 /* umode +y - Stats/links */
-#define UMODE_d 0x00040000 /* umode +d - Debug info */
-#define UMODE_g 0x00080000 /* umode +g - Globops */
-#define UMODE_b 0x00100000 /* umode +b - Chatops */
-#define UMODE_n 0x00200000 /* umode +n - Routing Notices */
-#define UMODE_m 0x00400000 /* umode +m - spambot notices */
-#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */
-#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */
-#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */
-#define UMODE_C 0x04000000 /* umode +C - conops */
-#define UMODE_v 0x10000000 /* umode +v - hostmasking */
-#define UMODE_H 0x20000000 /* umode +H - Oper Hiding */
-#define UMODE_z 0x40000000 /* umode +z - SSL */
-#define UMODE_R 0x80000000 /* umode +R - No non registered msgs */
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-#define CMODE_c 0x00000400 /* Colors can't be used */
-#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
-#define CMODE_j 0x00001000 /* join throttle */
-#define CMODE_S 0x00002000 /* SSL only */
-#define CMODE_N 0x00004000 /* No Nickname change */
-#define CMODE_O 0x00008000 /* Only opers can join */
-
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
diff --git a/include/ultimate2.h b/include/ultimate2.h
deleted file mode 100644
index 34cbcdc54..000000000
--- a/include/ultimate2.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Ultimate IRCD 2 functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_ULTIMATE2
-
-
-#define UMODE_a 0x00000001
-#define UMODE_h 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_r 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_A 0x00000040
-#define UMODE_p 0x04000000
-#define UMODE_R 0x08000000
-#define UMODE_P 0x20000000
-#define UMODE_g 0x80000000
-#define UMODE_x 0x40000000
-
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_f 0x00000400
-#define CMODE_x 0x00000800
-#define CMODE_A 0x00001000
-#define CMODE_I 0x00002000
-#define CMODE_K 0x00004000
-#define CMODE_L 0x00008000
-#define CMODE_O 0x00010000
-#define CMODE_S 0x00020000
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
-
diff --git a/include/ultimate3.h b/include/ultimate3.h
deleted file mode 100644
index 75252cbf3..000000000
--- a/include/ultimate3.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Ultimate IRCD 3.0 functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_ULTIMATE3
-
-
-#define UMODE_a 0x00000001
-#define UMODE_h 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_r 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_A 0x00000040
-#define UMODE_0 0x00000080
-#define UMODE_Z 0x00000100 /* umode +Z - Services Root Admin */
-#define UMODE_S 0x00000200 /* umode +S - Services Client */
-#define UMODE_D 0x00000400 /* umode +D - has seen dcc warning message */
-#define UMODE_d 0x00000800 /* umode +d - user is deaf to channel messages */
-#define UMODE_W 0x00001000 /* umode +d - user is deaf to channel messages */
-#define UMODE_p 0x04000000
-#define UMODE_P 0x20000000 /* umode +P - Services Admin */
-#define UMODE_x 0x40000000
-#define UMODE_R 0x80000000
-
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-#define CMODE_c 0x00000400 /* Colors can't be used */
-#define CMODE_A 0x00000800
-#define CMODE_N 0x00001000
-#define CMODE_S 0x00002000
-#define CMODE_K 0x00004000
-#define CMODE_O 0x00008000 /* Only opers can join */
-#define CMODE_q 0x00010000 /* No Quit Reason */
-#define CMODE_M 0x00020000 /* Non-regged nicks can't send messages */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-
diff --git a/include/unreal31.h b/include/unreal31.h
deleted file mode 100644
index bbf049a6d..000000000
--- a/include/unreal31.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Unreal IRCD 3.1.x functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-/*************************************************************************/
-
-#ifdef IRC_UNREAL31
-
-
-#define UMODE_a 0x00000001
-#define UMODE_h 0x00000002
-#define UMODE_i 0x00000004
-#define UMODE_o 0x00000008
-#define UMODE_r 0x00000010
-#define UMODE_w 0x00000020
-#define UMODE_A 0x00000040
-#define UMODE_g 0x80000000
-#define UMODE_x 0x40000000
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_c 0x00000400
-#define CMODE_A 0x00000800
-#define CMODE_H 0x00001000
-#define CMODE_K 0x00002000
-#define CMODE_L 0x00004000
-#define CMODE_O 0x00008000
-#define CMODE_Q 0x00010000
-#define CMODE_S 0x00020000
-#define CMODE_V 0x00040000
-#define CMODE_f 0x00080000
-#define CMODE_G 0x00100000
-#define CMODE_C 0x00200000
-#define CMODE_u 0x00400000
-#define CMODE_z 0x00800000
-#define CMODE_N 0x01000000
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
diff --git a/include/unreal32.h b/include/unreal32.h
deleted file mode 100644
index 9f7b10ebc..000000000
--- a/include/unreal32.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Unreal IRCD 3.2.x functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_UNREAL32
-
-/*************************************************************************/
-
-/* User Modes */
-#define UMODE_a 0x00000001 /* a Services Admin */
-#define UMODE_h 0x00000002 /* h Available for help (HelpOp) */
-#define UMODE_i 0x00000004 /* i Invisible (not shown in /who) */
-#define UMODE_o 0x00000008 /* o Global IRC Operator */
-#define UMODE_r 0x00000010 /* r Identifies the nick as being registered */
-#define UMODE_w 0x00000020 /* w Can listen to wallop messages */
-#define UMODE_A 0x00000040 /* A Server Admin */
-#define UMODE_N 0x00000080 /* N Network Administrator */
-#define UMODE_O 0x00000100 /* O Local IRC Operator */
-#define UMODE_C 0x00000200 /* C Co-Admin */
-#define UMODE_d 0x00000400 /* d Makes it so you can not receive channel PRIVMSGs */
-#define UMODE_p 0x00000800 /* Hides the channels you are in in a /whois reply */
-#define UMODE_q 0x00001000 /* q Only U:Lines can kick you (Services Admins Only) */
-#define UMODE_s 0x00002000 /* s Can listen to server notices */
-#define UMODE_t 0x00004000 /* t Says you are using a /vhost */
-#define UMODE_v 0x00008000 /* v Receives infected DCC Send Rejection notices */
-#define UMODE_z 0x00010000 /* z Indicates that you are an SSL client */
-#define UMODE_B 0x00020000 /* B Marks you as being a Bot */
-#define UMODE_G 0x00040000 /* G Filters out all the bad words per configuration */
-#define UMODE_H 0x00080000 /* H Hide IRCop Status (IRCop Only) */
-#define UMODE_S 0x00100000 /* S services client */
-#define UMODE_V 0x00200000 /* V Marks you as a WebTV user */
-#define UMODE_W 0x00400000 /* W Lets you see when people do a /whois on you */
-#define UMODE_T 0x00800000 /* T Prevents you from receiving CTCPs */
-#define UMODE_g 0x20000000 /* g Can send & read globops and locops */
-#define UMODE_x 0x40000000 /* x Gives user a hidden hostname */
-#define UMODE_R 0x80000000 /* Allows you to only receive PRIVMSGs/NOTICEs from registered (+r) users */
-
-
-/*************************************************************************/
-
-/* Channel Modes */
-
-#define CMODE_i 0x00000001
-#define CMODE_m 0x00000002
-#define CMODE_n 0x00000004
-#define CMODE_p 0x00000008
-#define CMODE_s 0x00000010
-#define CMODE_t 0x00000020
-#define CMODE_k 0x00000040 /* These two used only by ChanServ */
-#define CMODE_l 0x00000080
-#define CMODE_R 0x00000100 /* Only identified users can join */
-#define CMODE_r 0x00000200 /* Set for all registered channels */
-#define CMODE_c 0x00000400
-#define CMODE_A 0x00000800
-/* #define CMODE_H 0x00001000 Was now +I may not join, but Unreal Removed it and it will not set in 3.2 */
-#define CMODE_K 0x00002000
-#define CMODE_L 0x00004000
-#define CMODE_O 0x00008000
-#define CMODE_Q 0x00010000
-#define CMODE_S 0x00020000
-#define CMODE_V 0x00040000
-#define CMODE_f 0x00080000
-#define CMODE_G 0x00100000
-#define CMODE_C 0x00200000
-#define CMODE_u 0x00400000
-#define CMODE_z 0x00800000
-#define CMODE_N 0x01000000
-#define CMODE_T 0x02000000
-#define CMODE_M 0x04000000
-
-
-/* Default Modes with MLOCK */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
diff --git a/include/viagra.h b/include/viagra.h
deleted file mode 100644
index d725f41d9..000000000
--- a/include/viagra.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Viagra IRCD functions
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for furhter details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
-
-#ifdef IRC_VIAGRA
-
-
-/* User Modes */
-#define UMODE_A 0x00000040 /* Is a Server Administrator. */
-#define UMODE_C 0x00002000 /* Is a Server Co Administrator. */
-#define UMODE_I 0x00008000 /* Stealth mode, makes you beeing hidden at channel. invisible joins/parts. */
-#define UMODE_N 0x00000400 /* Is a Network Administrator. */
-#define UMODE_O 0x00004000 /* Local IRC Operator. */
-#define UMODE_Q 0x00001000 /* Is an Abuse Administrator. */
-#define UMODE_R 0x08000000 /* Cant receive messages from non registered user. */
-#define UMODE_S 0x00000080 /* Is a Network Service. For Services only. */
-#define UMODE_T 0x00000800 /* Is a Technical Administrator. */
-#define UMODE_a 0x00000001 /* Is a Services Administrator. */
-#define UMODE_b 0x00040000 /* Can listen to generic bot warnings. */
-#define UMODE_c 0x00010000 /* See's all connects/disconnects on local server. */
-#define UMODE_d 0x00000100 /* Can listen to debug and channel cration notices. */
-#define UMODE_e 0x00080000 /* Can see client connections/exits on remote servers. */
-#define UMODE_f 0x00100000 /* Listen to flood/spam alerts from server. */
-#define UMODE_g 0x00000200 /* Can read & send to globops, and locops. */
-#define UMODE_h 0x00000002 /* Is a Help Operator. */
-#define UMODE_i 0x00000004 /* Invisible (Not shown in /who and /names searches). */
-#define UMODE_n 0x00020000 /* Can see client nick change notices. */
-#define UMODE_o 0x00000008 /* Global IRC Operator. */
-#define UMODE_r 0x00000010 /* Identifies the nick as being registered. */
-#define UMODE_s 0x00200000 /* Can listen to generic server messages. */
-#define UMODE_w 0x00000020 /* Can listen to wallop messages. */
-#define UMODE_x 0x40000000 /* Gives the user hidden hostname. */
-
-
-/* Channel Modes */
-#define CMODE_i 0x00000001 /* Invite-only allowed. */
-#define CMODE_m 0x00000002 /* Moderated channel, noone can speak and changing nick except users with mode +vho */
-#define CMODE_n 0x00000004 /* No messages from outside channel */
-#define CMODE_p 0x00000008 /* Private channel. */
-#define CMODE_s 0x00000010 /* Secret channel. */
-#define CMODE_t 0x00000020 /* Only channel operators may set the topic */
-#define CMODE_k 0x00000040 /* Needs the channel key to join the channel */
-#define CMODE_l 0x00000080 /* Channel may hold at most <number> of users */
-#define CMODE_R 0x00000100 /* Requires a registered nickname to join the channel. */
-#define CMODE_r 0x00000200 /* Channel is registered. */
-#define CMODE_c 0x00000400 /* No ANSI color can be sent to the channel */
-#define CMODE_M 0x00000800 /* Requires a registered nickname to speak at the channel. */
-#define CMODE_H 0x00001000 /* HelpOps only channel. */
-#define CMODE_O 0x00008000 /* IRCOps only channel. */
-#define CMODE_S 0x00020000 /* Strips all mesages out of colors. */
-#define CMODE_N 0x01000000 /* No nickchanges allowed. */
-#define CMODE_P 0x02000000 /* "Peace mode" No kicks allowed unless by u:lines */
-#define CMODE_x 0x04000000 /* No bold/underlined or reversed text can be sent to the channel */
-
-#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-
-#endif
-