X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fnumerics.h;h=2418730d27afd7abf630cf86a9b556c3b4d7d73e;hb=6c7a3ceb6c674a9af09da955ee0238e9291cf29a;hp=446966bbb515189e7c6fc01abc1e6ffa47224ab6;hpb=3a9cee1356d0e46ced89826c9433fd1ecac3a9e7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/numerics.h b/include/numerics.h index 446966bbb..2418730d2 100644 --- a/include/numerics.h +++ b/include/numerics.h @@ -1,55 +1,198 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon + * + * Copyright (C) 2008 Robin Burchell + * Copyright (C) 2008 Craig Edwards * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. * - * --------------------------------------------------- + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + +#pragma once + /* - * This file is aimed providing a string that is easier to use than using the numeric - * directly. + * Module authors, please note! + * While you are free to use any numerics on this list, like the rest of the core, you + * *should not* be editing it! + * You should just WriteNumeric(444, .. or whatever as you would before this file, OR: + * #define RPL_MYNUMERIC 444 & WriteNumeric(RPL_MYNUMERIC, ... + * + * If you *do* have a suggestion for a numeric you genuinely believe would be useful, + * please speak to us. :) * * Thanks to Darom, jackmcbarn and Brain for suggesting and discussing this. * * Please note that the list may not be exhaustive, it'll be done when I have * nothing better to do with my time. -- w00t (jul 13, 2008) */ - enum Numerics { /* * Reply range of numerics. */ - RPL_WELCOME = 001, - RPL_YOURHOSTIS = 002, - RPL_SERVERCREATED = 003, - RPL_SERVERVERSION = 004, + RPL_WELCOME = 1, // 2812, not 1459 + RPL_YOURHOSTIS = 2, // 2812, not 1459 + RPL_SERVERCREATED = 3, // 2812, not 1459 + RPL_SERVERVERSION = 4, // 2812, not 1459 + RPL_ISUPPORT = 5, // not RFC, extremely common though (defined as RPL_BOUNCE in 2812, widely ignored) + + RPL_MAP = 6, // unrealircd + RPL_ENDMAP = 7, // unrealircd + RPL_SNOMASKIS = 8, // unrealircd + RPL_REDIR = 10, + + RPL_YOURUUID = 42, // taken from ircnet + + RPL_UMODEIS = 221, + RPL_RULES = 232, // unrealircd + + RPL_LUSERCLIENT = 251, + RPL_LUSEROP = 252, + RPL_LUSERUNKNOWN = 253, + RPL_LUSERCHANNELS = 254, + RPL_LUSERME = 255, + + RPL_ADMINME = 256, + RPL_ADMINLOC1 = 257, + RPL_ADMINLOC2 = 258, + RPL_ADMINEMAIL = 259, + + RPL_LOCALUSERS = 265, + RPL_GLOBALUSERS = 266, + + RPL_MAPUSERS = 270, // insp-specific + + RPL_AWAY = 301, + + RPL_SYNTAX = 304, // insp-specific + + RPL_UNAWAY = 305, + RPL_NOWAWAY = 306, - RPL_YOURUUID = 042, // taken from ircnet + RPL_RULESTART = 308, // unrealircd + RPL_RULESEND = 309, // unrealircd - RPL_TOPIC = 332, - RPL_TOPICTIME = 333, - RPL_NAMREPLY = 353, - RPL_ENDOFNAMES = 366, + RPL_WHOISSERVER = 312, + RPL_WHOWASUSER = 314, + RPL_ENDOFWHO = 315, + RPL_ENDOFWHOIS = 318, + + RPL_LISTSTART = 321, + RPL_LIST = 322, + RPL_LISTEND = 323, + + RPL_CHANNELMODEIS = 324, + RPL_CHANNELCREATED = 329, // ??? + RPL_NOTOPICSET = 331, + RPL_TOPIC = 332, + RPL_TOPICTIME = 333, // not RFC, extremely common though + + RPL_INVITING = 341, + RPL_INVITELIST = 346, // insp-specific (stolen from ircu) + RPL_ENDOFINVITELIST = 347, // insp-specific (stolen from ircu) + RPL_VERSION = 351, + RPL_NAMREPLY = 353, + RPL_LINKS = 364, + RPL_ENDOFLINKS = 365, + RPL_ENDOFNAMES = 366, + RPL_ENDOFWHOWAS = 369, + + RPL_INFO = 371, + RPL_ENDOFINFO = 374, + RPL_MOTD = 372, + RPL_MOTDSTART = 375, + RPL_ENDOFMOTD = 376, + + RPL_WHOWASIP = 379, + + RPL_YOUAREOPER = 381, + RPL_REHASHING = 382, + RPL_TIME = 391, + RPL_YOURDISPLAYEDHOST = 396, // from charybdis/etc, common convention /* * Error range of numerics. */ - ERR_NOSUCHNICK = 401, - ERR_TOOMANYCHANNELS = 405, - ERR_USERNOTINCHANNEL = 441, - ERR_BADCHANNELKEY = 475, - ERR_INVITEONLYCHAN = 473, - ERR_CHANNELISFULL = 471, - ERR_BANNEDFROMCHAN = 474, - ERR_CHANOPRIVSNEEDED = 482, - - ERR_UNKNOWNSNOMASK = 501 + ERR_NOSUCHNICK = 401, + ERR_NOSUCHSERVER = 402, + ERR_NOSUCHCHANNEL = 403, // used to indicate an invalid channel name also, so don't rely on RFC text (don't do that anyway!) + ERR_CANNOTSENDTOCHAN = 404, + ERR_TOOMANYCHANNELS = 405, + ERR_WASNOSUCHNICK = 406, + ERR_INVALIDCAPSUBCOMMAND = 410, // ratbox/charybdis(?) + ERR_NOTEXTTOSEND = 412, + ERR_UNKNOWNCOMMAND = 421, + ERR_NOMOTD = 422, + ERR_ERRONEUSNICKNAME = 432, + ERR_NICKNAMEINUSE = 433, + ERR_NORULES = 434, // unrealircd + ERR_USERNOTINCHANNEL = 441, + ERR_NOTONCHANNEL = 442, + ERR_USERONCHANNEL = 443, + ERR_CANTCHANGENICK = 447, // unrealircd, probably + ERR_NOTREGISTERED = 451, + ERR_NEEDMOREPARAMS = 461, + ERR_ALREADYREGISTERED = 462, + ERR_UNKNOWNMODE = 472, + + /* + * A quick side-rant about the next group of numerics.. + * There are clients out there that like to assume that just because they don't recieve a numeric + * they know, that they have joined the channel. + * + * If IRC was at all properly standardised, this may even be a semi-acceptable assumption to make, + * but that's not the case as we all know, so IT IS NOT ACCEPTABLE. Especially for Insp users, where + * differing modules MAY potentially choose to block joins and send NOTICEs or other text to the user + * instead! + * + * tl;dr version: + * DON'T MAKE YOUR CLIENT ASSUME YOU JOINED UNLESS YOU RECIEVE A JOIN WITH YOUR DAMN NICK ON IT. + * Thanks. + * + * -- A message from the IRC group for coder sanity, and w00t + */ + ERR_BADCHANNELKEY = 475, + ERR_INVITEONLYCHAN = 473, + ERR_CHANNELISFULL = 471, + ERR_BANNEDFROMCHAN = 474, + + ERR_BANLISTFULL = 478, + + ERR_NOPRIVILEGES = 481, // rfc, beware though, we use this for other things opers may not do also + ERR_CHANOPRIVSNEEDED = 482, // rfc, beware though, we use this for other things like trying to kick a uline + + ERR_RESTRICTED = 484, + + ERR_ALLMUSTSSL = 490, // unrealircd + ERR_NOOPERHOST = 491, + ERR_NOCTCPALLOWED = 492, // XXX: bzzzz. 1459 defines this as ERR_NOSERVICEHOST, research it more and perhaps change this! (ERR_CANNOTSENDTOCHAN?) + // wtf, we also use this for m_noinvite. UGLY! + ERR_DELAYREJOIN = 495, // insp-specific, XXX: we should use 'resource temporarily unavailable' from ircnet/ratbox or whatever + ERR_UNKNOWNSNOMASK = 501, // insp-specific + ERR_USERSDONTMATCH = 502, + ERR_CANTJOINOPERSONLY = 520, // unrealircd, but crap to have so many numerics for cant join.. + ERR_CANTSENDTOUSER = 531, // ??? + + RPL_COMMANDS = 702, // insp-specific + RPL_COMMANDSEND = 703, // insp-specific + + ERR_CHANOPEN = 713, + ERR_KNOCKONCHAN = 714, + + ERR_WORDFILTERED = 936, // insp-specific, would be nice if we could get rid of this.. + ERR_CANTUNLOADMODULE = 972, // insp-specific + RPL_UNLOADEDMODULE = 973, // insp-specific + ERR_CANTLOADMODULE = 974, // insp-specific + RPL_LOADEDMODULE = 975 // insp-specific };