X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fnumerics.h;h=9e0ee07da6b98731c3498324f28112808d0dc7cb;hb=384ef31bc01e4a1a2e59d082c9066002410ba54a;hp=6a587a5b3519bbf6f34ecfa9e47a72e923a6ff3e;hpb=95538518b3d672ffd9ad46a91293a8b2d4b35220;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/numerics.h b/include/numerics.h index 6a587a5b3..9e0ee07da 100644 --- a/include/numerics.h +++ b/include/numerics.h @@ -1,41 +1,180 @@ -/* +------------------------------------+ - * | 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! + * + * 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 +enum { /* * Reply range of numerics. */ - RPL_TOPIC = 332, - RPL_TOPICTIME = 333, + 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_SNOMASKIS = 8, // unrealircd + + RPL_MAP = 15, // ircu + RPL_ENDMAP = 17, // ircu + RPL_MAPUSERS = 18, // insp-specific + + RPL_UMODEIS = 221, + + 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_AWAY = 301, + RPL_USERHOST = 302, + RPL_ISON = 303, + + RPL_UNAWAY = 305, + RPL_NOWAWAY = 306, + + RPL_WHOISSERVER = 312, + 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_USERIP = 340, + 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_INFO = 371, + RPL_ENDOFINFO = 374, + RPL_MOTD = 372, + RPL_MOTDSTART = 375, + RPL_ENDOFMOTD = 376, + + RPL_YOUAREOPER = 381, + RPL_REHASHING = 382, + RPL_TIME = 391, + RPL_YOURDISPLAYEDHOST = 396, // from charybdis/etc, common convention /* * Error range of numerics. */ - ERR_TOOMANYCHANNELS = 405, - ERR_BADCHANNELKEY = 475, - ERR_INVITEONLYCHAN = 473, - ERR_CHANNELISFULL = 471, - ERR_BANNEDFROMCHAN = 474 + 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_NOTEXTTOSEND = 412, + ERR_UNKNOWNCOMMAND = 421, + ERR_NOMOTD = 422, + ERR_NONICKNAMEGIVEN = 431, + ERR_ERRONEUSNICKNAME = 432, + ERR_NICKNAMEINUSE = 433, + ERR_USERNOTINCHANNEL = 441, + ERR_NOTONCHANNEL = 442, + ERR_USERONCHANNEL = 443, + ERR_CANTCHANGENICK = 447, // unrealircd, probably + ERR_NOTREGISTERED = 451, + ERR_NEEDMOREPARAMS = 461, + ERR_ALREADYREGISTERED = 462, + ERR_YOUREBANNEDCREEP = 465, + 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_BADCHANMASK = 476, + 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_NOOPERHOST = 491, + 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_CANTSENDTOUSER = 531, // ??? + + RPL_SYNTAX = 650, // insp-specific + ERR_INVALIDMODEPARAM = 696, // insp-specific + + RPL_OTHERUMODEIS = 803, // insp-specific + RPL_OTHERSNOMASKIS = 804, // insp-specific + + ERR_CANTUNLOADMODULE = 972, // insp-specific + RPL_UNLOADEDMODULE = 973, // insp-specific + ERR_CANTLOADMODULE = 974, // insp-specific + RPL_LOADEDMODULE = 975 // insp-specific };