]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/messages.h
Implement the IRC command "SERVLIST"
[ngircd-alex.git] / src / ngircd / messages.h
index a685e06bff2ef2ee0e78050b447506e4710db7d3..562f778de1c8a86810231bb23826ca9e6b2446ea 100644 (file)
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
+ * Copyright (c)2001-2008 Alexander Barton <alex@barton.de>
  *
- * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
- * der GNU General Public License (GPL), wie von der Free Software Foundation
- * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
- * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
- * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
- * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
+ * This program 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; either version 2 of the License, or
+ * (at your option) any later version.
+ * Please read the file COPYING, README and AUTHORS for more information.
  *
- * $Id: messages.h,v 1.27 2002/02/13 17:45:57 alex Exp $
- *
- * irc.h: IRC-Befehle (Header)
- *
- * $Log: messages.h,v $
- * Revision 1.27  2002/02/13 17:45:57  alex
- * - unterstuetzte User- und Channel-Modes stehen nun in Konstanten.
- *
- * Revision 1.26  2002/02/11 23:33:12  alex
- * - neue Message ERR_CHANOPRIVSNEEDED_MSG definiert.
- *
- * Revision 1.25  2002/02/11 15:48:39  alex
- * - neue Nachricht RPL_CHANNELMODEIS definiert.
- *
- * Revision 1.24  2002/02/06 16:51:39  alex
- * - neue Text-Konstante RPL_UMODEISCHAN_MSG.
- *
- * Revision 1.23  2002/01/29 00:14:05  alex
- * - RPL_WHOISCHANNELS_MSG korrigiert.
- *
- * Revision 1.22  2002/01/28 13:06:19  alex
- * - RPL_NAMREPLY_MSG an tatsaechliche Implementierung angepasst ;-)
- *
- * Revision 1.21  2002/01/27 17:13:37  alex
- * - neue Defines fuer RPL_TOPIC und RPL_NOTOPIC.
- *
- * Revision 1.20  2002/01/21 00:02:34  alex
- * - ERR_NOSUCHCHANNEL hinzugefuegt.
- *
- * Revision 1.19  2002/01/16 22:09:52  alex
- * - RPL_LUSERME_MSG erweitert, kleinere Aenderungen.
- *
- * Revision 1.18  2002/01/11 23:50:55  alex
- * - LINKS implementiert, LUSERS begonnen.
- *
- * Revision 1.17  2002/01/05 23:23:44  alex
- * - neue Nachricht ERR_NOSUCHSERVER_MSG definiert.
- *
- * Revision 1.16  2002/01/03 02:24:21  alex
- * - neue Message ERR_NOTREGISTEREDSERVER_MSG.
- *
- * Revision 1.15  2002/01/02 02:42:58  alex
- * - Copyright-Texte aktualisiert.
- *
- * Revision 1.14  2001/12/31 16:00:57  alex
- * - "o" zu den unterstuetzten Modes hinzugefuegt.
- *
- * Revision 1.13  2001/12/31 15:33:13  alex
- * - neuer Befehl NAMES, kleinere Bugfixes.
- * - Bug bei PING behoben: war zu restriktiv implementiert :-)
- *
- * Revision 1.12  2001/12/31 02:18:51  alex
- * - viele neue Befehle (WHOIS, ISON, OPER, DIE, RESTART),
- * - neuen Header "defines.h" mit (fast) allen Konstanten.
- * - Code Cleanups und viele "kleine" Aenderungen & Bugfixes.
- *
- * Revision 1.11  2001/12/30 19:25:39  alex
- * - RPL_MYINFO_MSG um unterstuetzte User-Modes ergaengz.
- *
- * Revision 1.10  2001/12/30 11:42:00  alex
- * - der Server meldet nun eine ordentliche "Start-Zeit".
- *
- * Revision 1.9  2001/12/29 03:06:56  alex
- * - Texte ergaenzt, einige Bugs behoben (Leerzeichen falsch gesetzt, z.B.)
- *
- * Revision 1.8  2001/12/27 19:17:26  alex
- * - neue Befehle PRIVMSG, NOTICE, PING.
- *
- * Revision 1.7  2001/12/27 16:56:06  alex
- * - RPL_WELCOME an Client_GetID() angepasst.
- *
- * Revision 1.6  2001/12/26 22:48:53  alex
- * - MOTD-Datei ist nun konfigurierbar und wird gelesen.
- *
- * Revision 1.5  2001/12/26 03:51:13  alex
- * - in ERR_NOTREGISTERED_MSG fehlte ein "%s" - jetzt steht auch hier der Nick.
- *
- * Revision 1.4  2001/12/26 03:22:40  alex
- * - Format der Meldungen ueberarbeitet: fast immer ist nun der Nick enthalten.
- *
- * Revision 1.3  2001/12/25 19:20:11  alex
- * - neue Message: ERR_NICKNAMEINUSE[_MSG].
- *
- * Revision 1.2  2001/12/24 01:30:46  alex
- * - einige Messages korrigiert, andere ergaenzt (u.a. fuer MOTD).
- *
- * Revision 1.1  2001/12/23 21:53:32  alex
- * - Ich habe diesen Header begonnen.
- *
- * Revision 1.1  2001/12/14 08:13:43  alex
- * - neues Modul begonnen :-)
+ * IRC numerics (Header)
  */
 
 
 #define __messages_h__
 
 
-#define RPL_WELCOME                    "001"
-#define RPL_WELCOME_MSG                        RPL_WELCOME" %s :Welcome to the Internet Relay Network %s"
-
-#define RPL_YOURHOST                   "002"
-#define RPL_YOURHOST_MSG               RPL_YOURHOST" %s :Your host is %s, running ngircd "VERSION"-"P_OSNAME"/"P_ARCHNAME
-
-#define RPL_CREATED                    "003"
-#define RPL_CREATED_MSG                        RPL_CREATED" %s :This server was started %s"
-
-#define RPL_MYINFO                     "004"
-#define RPL_MYINFO_MSG                 RPL_MYINFO" %s %s ngircd-"VERSION" "USERMODES" "CHANMODES
-
-#define RPL_LUSERCLIENT                        "251"
-#define RPL_LUSERCLIENT_MSG            RPL_LUSERCLIENT" %s :There are %d users and %d services on %d servers"
-
-#define RPL_LUSEROP                    "252"
-#define RPL_LUSEROP_MSG                        RPL_LUSEROP" %s %d :operator(s) online"
-
-#define RPL_LUSERUNKNOWN               "253"
-#define        RPL_LUSERUNKNOWN_MSG            RPL_LUSERUNKNOWN" %s %d :unknown connection(s)"
-
-#define RPL_LUSERCHANNELS              "254"
-#define RPL_LUSERCHANNELS_MSG          RPL_LUSERCHANNELS" %s %d :channels formed"
-
-#define RPL_LUSERME                    "255"
-#define        RPL_LUSERME_MSG                 RPL_LUSERME" %s :I have %d users, %d services and %d servers"
-
-#define RPL_MOTDSTART                  "375"
-#define RPL_MOTDSTART_MSG              RPL_MOTDSTART" %s :- %s message of the day"
-
-#define RPL_MOTD                       "372"
-#define RPL_MOTD_MSG                   RPL_MOTD" %s :- %s"
-
-#define RPL_ENDOFMOTD                  "376"
-#define RPL_ENDOFMOTD_MSG              RPL_ENDOFMOTD" %s :End of MOTD command"
-
-#define RPL_UMODEIS                    "211"
-#define RPL_UMODEIS_MSG                        RPL_UMODEIS" %s +%s"
-
-#define RPL_USERHOST                   "302"
-#define RPL_USERHOST_MSG               RPL_USERHOST" %s :"
-
-#define RPL_ISON                       "303"
-#define RPL_ISON_MSG                   RPL_ISON" %s :"
-
-#define RPL_WHOISUSER                  "311"
-#define RPL_WHOISUSER_MSG              RPL_WHOISUSER" %s %s %s %s * :%s"
-
-#define RPL_WHOISSERVER                        "312"
-#define RPL_WHOISSERVER_MSG            RPL_WHOISSERVER" %s %s %s :%s"
-
-#define RPL_WHOISOPERATOR              "313"
-#define RPL_WHOISOPERATOR_MSG          RPL_WHOISOPERATOR" %s %s :is an IRC operator"
-
-#define RPL_WHOISIDLE                  "317"
-#define RPL_WHOISIDLE_MSG              RPL_WHOISIDLE" %s %s %ld :seconds idle"
-
-#define RPL_ENDOFWHOIS                 "318"
-#define RPL_ENDOFWHOIS_MSG             RPL_ENDOFWHOIS" %s %s :End of WHOIS list"
-
-#define RPL_WHOISCHANNELS              "319"
-#define RPL_WHOISCHANNELS_MSG          RPL_WHOISCHANNELS" %s %s :"
-
-#define RPL_CHANNELMODEIS              "324"
-#define RPL_CHANNELMODEIS_MSG          RPL_CHANNELMODEIS" %s %s +%s"
-
-#define RPL_NOTOPIC                    "331"
-#define RPL_NOTOPIC_MSG                        RPL_NOTOPIC" %s %s :No topic is set"
-
-#define RPL_TOPIC                      "332"
-#define RPL_TOPIC_MSG                  RPL_TOPIC" %s %s :%s"
-
-#define RPL_NAMREPLY                   "353"
-#define RPL_NAMREPLY_MSG               RPL_NAMREPLY" %s %s %s :"
-
-#define RPL_LINKS                      "364"
-#define RPL_LINKS_MSG                  RPL_LINKS" %s %s %s :%d %s"
-
-#define RPL_ENDOFLINKS                 "365"
-#define RPL_ENDOFLINKS_MSG             RPL_ENDOFLINKS" %s %s :End of LINKS list"
-
-#define RPL_ENDOFNAMES                 "366"
-#define RPL_ENDOFNAMES_MSG             RPL_ENDOFNAMES" %s %s :End of NAMES list"
-
-#define RPL_YOUREOPER                  "381"
-#define RPL_YOUREOPER_MSG              RPL_YOUREOPER" %s :You are now an IRC Operator"
-
-
-#define ERR_NOSUCHNICK                 "401"
-#define ERR_NOSUCHNICK_MSG             ERR_NOSUCHNICK" %s %s :No such nick or channel name"
-
-#define ERR_NOSUCHSERVER               "402"
-#define ERR_NOSUCHSERVER_MSG           ERR_NOSUCHSERVER" %s %s :No such server"
-
-#define ERR_NOSUCHCHANNEL              "403"
-#define ERR_NOSUCHCHANNEL_MSG          ERR_NOSUCHCHANNEL" %s %s :No such channel"
-
-#define ERR_NOORIGIN                   "409"
-#define ERR_NOORIGIN_MSG               ERR_NOORIGIN" %s :No origin specified"
-
-#define ERR_NORECIPIENT                        "411"
-#define ERR_NORECIPIENT_MSG            ERR_NORECIPIENT" %s :No receipient given (%s)"
-
-#define ERR_NOTEXTTOSEND               "412"
-#define ERR_NOTEXTTOSEND_MSG           ERR_NOTEXTTOSEND" %s :No text to send"
-
-#define ERR_UNKNOWNCOMMAND             "421"
-#define ERR_UNKNOWNCOMMAND_MSG         ERR_UNKNOWNCOMMAND" %s %s :Unknown command"
-
-#define ERR_NOMOTD                     "422"
-#define ERR_NOMOTD_MSG                 ERR_NOMOTD" %s :MOTD file is missing"
-
-#define ERR_ERRONEUSNICKNAME           "432"
-#define ERR_ERRONEUSNICKNAME_MSG       ERR_ERRONEUSNICKNAME" %s %s :Erroneous nickname"
-
-#define ERR_NICKNAMEINUSE              "433"
-#define ERR_NICKNAMEINUSE_MSG          ERR_NICKNAMEINUSE" %s %s :Nickname already in use"
-
-#define ERR_NEEDMOREPARAMS             "461"
-#define ERR_NEEDMOREPARAMS_MSG         ERR_NEEDMOREPARAMS" %s %s :Syntax error"
-
-#define ERR_ALREADYREGISTRED           "462"
-#define ERR_ALREADYREGISTRED_MSG       ERR_ALREADYREGISTRED" %s :Connection already registered"
-
-#define ERR_PASSWDMISMATCH             "464"
-#define ERR_PASSWDMISMATCH_MSG         ERR_PASSWDMISMATCH" %s: Invalid password"
-
-#define ERR_NOTREGISTERED              "451"
-#define ERR_NOTREGISTERED_MSG          ERR_NOTREGISTERED" %s :Connection not registered"
-#define ERR_NOTREGISTEREDSERVER_MSG    ERR_NOTREGISTERED" %s :Connection not registered as server link"
-
-#define ERR_NOPRIVILEGES               "481"
-#define ERR_NOPRIVILEGES_MSG           ERR_NOPRIVILEGES" %s :Permission denied"
-
-#define ERR_CHANOPRIVSNEEDED           "482"
-#define ERR_CHANOPRIVSNEEDED_MSG       ERR_CHANOPRIVSNEEDED" %s %s :You are not channel operator"
-
-#define ERR_RESTRICTED                 "484"
-#define ERR_RESTRICTED_MSG             ERR_RESTRICTED" %s :Your connection is restricted"
-
-#define ERR_NOOPERHOST                 "491"
-#define ERR_NOOPERHOST_MSG             ERR_NOOPERHOST" %s :Not configured for your host"
-
-#define ERR_UMODEUNKNOWNFLAG           "501"
-#define ERR_UMODEUNKNOWNFLAG_MSG       ERR_UMODEUNKNOWNFLAG" %s :Unknown mode flag"
-
-#define ERR_USERSDONTMATCH             "502"
-#define ERR_USERSDONTMATCH_MSG         ERR_USERSDONTMATCH" %s :Can't set/get mode for other users"
+#define RPL_WELCOME_MSG                        "001 %s :Welcome to the Internet Relay Network %s"
+#define RPL_YOURHOST_MSG               "002 %s :Your host is %s, running version ngircd-%s (%s/%s/%s)"
+#define RPL_CREATED_MSG                        "003 %s :This server has been started %s"
+#define RPL_MYINFO_MSG                 "004 %s %s ngircd-%s %s %s"
+#define RPL_ISUPPORT1_MSG              "005 %s RFC2812 CASEMAPPING=ascii PREFIX=(ov)@+ CHANTYPES=#&+ CHANMODES=bI,k,l,imnPst CHANLIMIT=#&+:%d :are supported on this server"
+#define RPL_ISUPPORT2_MSG              "005 %s CHANNELLEN=%d NICKLEN=%d TOPICLEN=%d AWAYLEN=%d KICKLEN=%d PENALTY :are supported on this server"
+
+#define RPL_TRACELINK_MSG              "200 %s Link %s-%s %s %s V%s %ld %d %d"
+#define RPL_TRACEOPERATOR_MSG          "204 %s Oper 2 :%s"
+#define RPL_TRACESERVER_MSG            "206 %s Serv 1 0S 0C %s[%s@%s] *!*@%s :V%s"
+#define RPL_STATSLINKINFO_MSG          "211 %s %s %d %ld %ld %ld %ld :%ld"
+#define RPL_STATSCOMMANDS_MSG          "212 %s %s %ld %ld %ld"
+#define RPL_ENDOFSTATS_MSG             "219 %s %c :End of STATS report"
+#define RPL_UMODEIS_MSG                        "221 %s +%s"
+#define RPL_SERVLIST_MSG               "234 %s %s %s %s %d %d :%s"
+#define RPL_SERVLISTEND_MSG            "235 %s %s %s :End of service listing"
+
+#define RPL_STATSUPTIME                        "242 %s :Server Up %u days %u:%02u:%02u"
+#define RPL_LUSERCLIENT_MSG            "251 %s :There are %ld users and %ld services on %ld servers"
+#define RPL_LUSEROP_MSG                        "252 %s %lu :operator(s) online"
+#define RPL_LUSERUNKNOWN_MSG           "253 %s %lu :unknown connection(s)"
+#define RPL_LUSERCHANNELS_MSG          "254 %s %lu :channels formed"
+#define RPL_LUSERME_MSG                        "255 %s :I have %lu users, %lu services and %lu servers"
+#define RPL_ADMINME_MSG                        "256 %s %s :Administrative info"
+#define RPL_ADMINLOC1_MSG              "257 %s :%s"
+#define RPL_ADMINLOC2_MSG              "258 %s :%s"
+#define RPL_ADMINEMAIL_MSG             "259 %s :%s"
+#define RPL_TRACEEND_MSG               "262 %s %s %s-%s.%s :End of TRACE"
+#define RPL_LOCALUSERS_MSG             "265 %s %lu %lu :Current local users: %lu, Max: %lu"
+#define RPL_NETUSERS_MSG               "266 %s %lu %lu :Current global users: %lu, Max: %lu"
+
+#define RPL_AWAY_MSG                   "301 %s %s :%s"
+#define RPL_USERHOST_MSG               "302 %s :"
+#define RPL_ISON_MSG                   "303 %s :"
+#define RPL_UNAWAY_MSG                 "305 %s :You are no longer marked as being away"
+#define RPL_NOWAWAY_MSG                        "306 %s :You have been marked as being away"
+#define RPL_WHOISUSER_MSG              "311 %s %s %s %s * :%s"
+#define RPL_WHOISSERVER_MSG            "312 %s %s %s :%s"
+#define RPL_WHOISOPERATOR_MSG          "313 %s %s :is an IRC operator"
+#define RPL_WHOWASUSER_MSG             "314 %s %s %s %s * :%s"
+#define RPL_ENDOFWHO_MSG               "315 %s %s :End of WHO list"
+#define RPL_WHOISIDLE_MSG              "317 %s %s %lu %lu :seconds idle, signon time"
+#define RPL_ENDOFWHOIS_MSG             "318 %s %s :End of WHOIS list"
+#define RPL_WHOISCHANNELS_MSG          "319 %s %s :"
+#define RPL_LIST_MSG                   "322 %s %s %ld :%s"
+#define RPL_LISTEND_MSG                        "323 %s :End of LIST"
+#define RPL_CHANNELMODEIS_MSG          "324 %s %s +%s"
+#define RPL_NOTOPIC_MSG                        "331 %s %s :No topic is set"
+#define RPL_TOPIC_MSG                  "332 %s %s :%s"
+#define RPL_TOPICSETBY_MSG             "333 %s %s %s %u"
+#define RPL_INVITING_MSG               "341 %s %s %s%s"
+#define RPL_INVITELIST_MSG             "346 %s %s %s"
+#define RPL_ENDOFINVITELIST_MSG                "347 %s %s :End of channel invite list"
+#define RPL_VERSION_MSG                        "351 %s %s-%s.%s %s :%s"
+#define RPL_WHOREPLY_MSG               "352 %s %s %s %s %s %s %s :%d %s"
+#define RPL_NAMREPLY_MSG               "353 %s %s %s :"
+#define RPL_LINKS_MSG                  "364 %s %s %s :%d %s"
+#define RPL_ENDOFLINKS_MSG             "365 %s %s :End of LINKS list"
+#define RPL_ENDOFNAMES_MSG             "366 %s %s :End of NAMES list"
+#define RPL_BANLIST_MSG                        "367 %s %s %s"
+#define RPL_ENDOFBANLIST_MSG           "368 %s %s :End of channel ban list"
+#define RPL_ENDOFWHOWAS_MSG            "369 %s %s :End of WHOWAS list"
+#define RPL_INFO_MSG                   "371 %s :%s"
+#define RPL_ENDOFINFO_MSG              "374 %s :End of INFO list"
+#define RPL_MOTD_MSG                   "372 %s :- %s"
+#define RPL_MOTDSTART_MSG              "375 %s :- %s message of the day"
+#define RPL_ENDOFMOTD_MSG              "376 %s :End of MOTD command"
+#define RPL_YOUREOPER_MSG              "381 %s :You are now an IRC Operator"
+#define RPL_YOURESERVICE_MSG           "383 %s :You are service %s"
+#define RPL_TIME_MSG                   "391 %s %s :%s"
+
+#define ERR_NOSUCHNICK_MSG             "401 %s %s :No such nick or channel name"
+#define ERR_NOSUCHSERVER_MSG           "402 %s %s :No such server"
+#define ERR_NOSUCHCHANNEL_MSG          "403 %s %s :No such channel"
+#define ERR_CANNOTSENDTOCHAN_MSG       "404 %s %s :Cannot send to channel"
+#define ERR_TOOMANYCHANNELS_MSG                "405 %s %s :You have joined too many channels"
+#define ERR_WASNOSUCHNICK_MSG          "406 %s %s :There was no such nickname"
+#define ERR_NOORIGIN_MSG               "409 %s :No origin specified"
+#define ERR_NORECIPIENT_MSG            "411 %s :No receipient given (%s)"
+#define ERR_NOTEXTTOSEND_MSG           "412 %s :No text to send"
+#define ERR_UNKNOWNCOMMAND_MSG         "421 %s %s :Unknown command"
+#define ERR_NOMOTD_MSG                 "422 %s :MOTD file is missing"
+#define ERR_NONICKNAMEGIVEN_MSG                "431 %s :No nickname given"
+#define ERR_ERRONEUSNICKNAME_MSG       "432 %s %s :Erroneous nickname"
+#define ERR_NICKNAMEINUSE_MSG          "433 %s %s :Nickname already in use"
+#define ERR_USERNOTINCHANNEL_MSG       "441 %s %s %s :They aren't on that channel"
+#define ERR_NOTONCHANNEL_MSG           "442 %s %s :You are not on that channel"
+#define ERR_USERONCHANNEL_MSG          "443 %s %s %s :is already on channel"
+#define ERR_SUMMONDISABLED_MSG         "445 %s %s :SUMMON has been disabled"
+#define ERR_USERSDISABLED_MSG          "446 %s %s :USERS has been disabled"
+#define ERR_NOTREGISTERED_MSG          "451 %s :Connection not registered"
+#define ERR_NOTREGISTEREDSERVER_MSG    "451 %s :Connection not registered as server link"
+#define ERR_NEEDMOREPARAMS_MSG         "461 %s %s :Syntax error"
+#define ERR_ALREADYREGISTRED_MSG       "462 %s :Connection already registered"
+#define ERR_PASSWDMISMATCH_MSG         "464 %s :Invalid password"
+#define ERR_CHANNELISFULL_MSG          "471 %s %s :Cannot join channel (+l)"
+#define ERR_UNKNOWNMODE_MSG            "472 %s: %c :is unknown mode char for %s"
+#define ERR_INVITEONLYCHAN_MSG         "473 %s %s :Cannot join channel (+i)"
+#define ERR_BANNEDFROMCHAN_MSG         "474 %s %s :Cannot join channel (+b)"
+#define ERR_BADCHANNELKEY_MSG          "475 %s %s :Cannot join channel (+k)"
+#define ERR_NOCHANMODES_MSG            "477 %s %s :Channel doesn't support modes"
+#define ERR_NOPRIVILEGES_MSG           "481 %s :Permission denied"
+#define ERR_CHANOPRIVSNEEDED_MSG       "482 %s %s :You are not channel operator"
+#define ERR_CANTKILLSERVER_MSG         "483 %s :You can't kill a server!"
+#define ERR_RESTRICTED_MSG             "484 %s :Your connection is restricted"
+#define ERR_NOOPERHOST_MSG             "491 %s :Not configured for your host"
+
+#define ERR_UMODEUNKNOWNFLAG_MSG       "501 %s :Unknown mode"
+#define ERR_UMODEUNKNOWNFLAG2_MSG      "501 %s :Unknown mode \"%c%c\""
+#define ERR_USERSDONTMATCH_MSG         "502 %s :Can't set/get mode for other users"
+
+#ifdef ZLIB
+#define RPL_STATSLINKINFOZIP_MSG       "211 %s %s %d %ld %ld/%ld %ld %ld/%ld :%ld"
+#endif
 
 
 #endif