001 /**
002 * Jetrix TetriNET Server
003 * Copyright (C) 2001-2004 Emmanuel Bourg
004 *
005 * This program is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU General Public License
007 * as published by the Free Software Foundation; either version 2
008 * of the License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013 * GNU General Public License for more details.
014 *
015 * You should have received a copy of the GNU General Public License
016 * along with this program; if not, write to the Free Software
017 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
018 */
019
020 package net.jetrix.protocols;
021
022 /**
023 * Numeric replies generated by an IRC server in response to a command.
024 *
025 * @since 0.2
026 *
027 * @author Emmanuel Bourg
028 * @version $Revision: 794 $, $Date: 2009-02-17 20:08:39 +0100 (Tue, 17 Feb 2009) $
029 */
030 public interface IRCReply {
031
032 /**
033 * Used to indicate the nickname parameter supplied to a command is
034 * currently unused.
035 *
036 * <pre>"<nickname> :No such nick/channel"</pre>
037 */
038 public static final int ERR_NOSUCHNICK = 401;
039
040 /**
041 * Used to indicate the server name given currently doesn't exist.
042 *
043 * <pre>"<server name> :No such server"</pre>
044 */
045 public static final int ERR_NOSUCHSERVER = 402;
046
047 /**
048 * Used to indicate the given channel name is invalid.
049 *
050 * <pre>"<channel name> :No such channel"</pre>
051 */
052 public static final int ERR_NOSUCHCHANNEL = 403;
053
054 /**
055 * Sent to a user who is either (a) not on a channel which is mode +n or
056 * (b) not a chanop (or mode +v) on a channel which has mode +m set and is
057 * trying to send a PRIVMSG message to that channel.
058 *
059 * <pre>"<channel name> :Cannot send to channel"</pre>
060 */
061 public static final int ERR_CANNOTSENDTOCHAN = 404;
062
063 /**
064 * Sent to a user when they have joined the maximum number of allowed
065 * channels and they try to join another channel.
066 *
067 * <pre>"<channel name> :You have joined too many channels"</pre>
068 */
069 public static final int ERR_TOOMANYCHANNELS = 405;
070
071 /**
072 * Returned by WHOWAS to indicate there is no history information for that
073 * nickname.
074 *
075 * <pre>"<nickname> :There was no such nickname"</pre>
076 */
077 public static final int ERR_WASNOSUCHNICK = 406;
078
079 /**
080 * Returned to a client which is attempting to send PRIVMSG/NOTICE using
081 * the user@host destination format and for a user@host which has several
082 * occurrences.
083 *
084 * <pre>"<target> :Duplicate recipients. No message delivered"</pre>
085 */
086 public static final int ERR_TOOMANYTARGETS = 407;
087
088 /**
089 * PING or PONG message missing the originator parameter which is required
090 * since these commands must work without valid prefixes.
091 *
092 * <pre>":No origin specified"</pre>
093 */
094 public static final int ERR_NOORIGIN = 409;
095
096 /**
097 * <pre>":No recipient given (<command>)"</pre>
098 */
099 public static final int ERR_NORECIPIENT = 411;
100
101 /**
102 * <pre>":No text to send"</pre>
103 */
104 public static final int ERR_NOTEXTTOSEND = 412;
105
106 /**
107 * <pre>"<mask> :No toplevel domain specified"</pre>
108 */
109 public static final int ERR_NOTOPLEVEL = 413;
110
111 /**
112 * 412 - 414 are returned by PRIVMSG to indicate that the message wasn't
113 * delivered for some reason. ERR_NOTOPLEVEL and ERR_WILDTOPLEVEL are
114 * errors that are returned when an invalid use of "PRIVMSG $<server>"
115 * or "PRIVMSG #<host>" is attempted.
116 *
117 * <pre>"<mask> :Wildcard in toplevel domain"</pre>
118 */
119 public static final int ERR_WILDTOPLEVEL = 414;
120
121 /**
122 * Returned to a registered client to indicate that the command sent is
123 * unknown by the server.
124 *
125 * <pre>"<command> :Unknown command"</pre>
126 */
127 public static final int ERR_UNKNOWNCOMMAND = 421;
128
129 /**
130 * Server's MOTD file could not be opened by the server.
131 *
132 * <pre>":MOTD File is missing"</pre>
133 */
134 public static final int ERR_NOMOTD = 422;
135
136 /**
137 * Returned by a server in response to an ADMIN message when there is an
138 * error in finding the appropriate information.
139 *
140 * <pre>"<server> :No administrative info available"</pre>
141 */
142 public static final int ERR_NOADMININFO = 423;
143
144 /**
145 * Generic error message used to report a failed file operation during the
146 * processing of a message.
147 *
148 * <pre>":File error doing <file op> on <file>"</pre>
149 */
150 public static final int ERR_FILEERROR = 424;
151
152 /**
153 * Returned when a nickname parameter expected for a command and isn't
154 * found.
155 *
156 * <pre>":No nickname given"</pre>
157 */
158 public static final int ERR_NONICKNAMEGIVEN = 431;
159
160 /**
161 * Returned after receiving a NICK message which contains characters which
162 * do not fall in the defined set. See section x.x.x for details on valid
163 * nicknames.
164 *
165 * <pre>"<nick> :Erroneus nickname"</pre>
166 */
167 public static final int ERR_ERRONEUSNICKNAME = 432;
168
169 /**
170 * Returned when a NICK message is processed that results in an attempt to
171 * change to a currently existing nickname.
172 *
173 * <pre>"<nick> :Nickname is already in use"</pre>
174 */
175 public static final int ERR_NICKNAMEINUSE = 433;
176
177 /**
178 * Returned by a server to a client when it detects a nickname collision
179 * (registered of a NICK that already exists by another server).
180 *
181 * <pre>"<nick> :Nickname collision KILL"</pre>
182 */
183 public static final int ERR_NICKCOLLISION = 436;
184
185 /**
186 * Returned by the server to indicate that the target user of the command
187 * is not on the given channel.
188 *
189 * <pre>"<nick> <channel> :They aren't on that channel"</pre>
190 */
191 public static final int ERR_USERNOTINCHANNEL = 441;
192
193 /**
194 * Returned by the server whenever a client tries to perform a channel
195 * effecting command for which the client isn't a member.
196 *
197 * <pre>"<channel> :You're not on that channel"</pre>
198 */
199 public static final int ERR_NOTONCHANNEL = 442;
200
201 /**
202 * Returned when a client tries to invite a user to a channel they are
203 * already on.
204 *
205 * <pre>"<user> <channel> :is already on channel"</pre>
206 */
207 public static final int ERR_USERONCHANNEL = 443;
208
209 /**
210 * Returned by the summon after a SUMMON command for a user was unable to
211 * be performed since they were not logged in.
212 *
213 * <pre>"<user> :User not logged in"</pre>
214 */
215 public static final int ERR_NOLOGIN = 444;
216
217 /**
218 * Returned as a response to the SUMMON command. Must be returned by any
219 * server which does not implement it.
220 *
221 * <pre>":SUMMON has been disabled"</pre>
222 */
223 public static final int ERR_SUMMONDISABLED = 445;
224
225 /**
226 * Returned as a response to the USERS command. Must be returned by any
227 * server which does not implement it.
228 *
229 * <pre>":USERS has been disabled"</pre>
230 */
231 public static final int ERR_USERSDISABLED = 446;
232
233 /**
234 * Returned by the server to indicate that the client must be registered
235 * before the server will allow it to be parsed in detail.
236 *
237 * <pre>":You have not registered"</pre>
238 */
239 public static final int ERR_NOTREGISTERED = 451;
240
241 /**
242 * Returned by the server by numerous commands to indicate to the client
243 * that it didn't supply enough parameters.
244 *
245 * <pre>"<command> :Not enough parameters"</pre>
246 */
247 public static final int ERR_NEEDMOREPARAMS = 461;
248
249 /**
250 * Returned by the server to any link which tries to change part of the
251 * registered details (such as password or user details from second USER
252 * message).
253 *
254 * <pre>":You may not reregister"</pre>
255 */
256 public static final int ERR_ALREADYREGISTRED = 462;
257
258 /**
259 * Returned to a client which attempts to register with a server which does
260 * not been setup to allow connections from the host the attempted
261 * connection is tried.
262 *
263 * <pre>":Your host isn't among the privileged"</pre>
264 */
265 public static final int ERR_NOPERMFORHOST = 463;
266
267 /**
268 * Returned to indicate a failed attempt at registering a connection for
269 * which a password was required and was either not given or incorrect.
270 *
271 * <pre>":Password incorrect"</pre>
272 */
273 public static final int ERR_PASSWDMISMATCH = 464;
274
275 /**
276 * Returned after an attempt to connect and register yourself with a server
277 * which has been setup to explicitly deny connections to you.
278 *
279 * <pre>":You are banned from this server"</pre>
280 */
281 public static final int ERR_YOUREBANNEDCREEP = 465;
282
283 /**
284 * <pre>"<channel> :Channel key already set"</pre>
285 */
286 public static final int ERR_KEYSET = 467;
287
288 /**
289 * <pre>"<channel> :Cannot join channel (+l)"</pre>
290 */
291 public static final int ERR_CHANNELISFULL = 471;
292
293 /**
294 * <pre>"<char> :is unknown mode char to me"</pre>
295 */
296 public static final int ERR_UNKNOWNMODE = 472;
297
298 /**
299 * <pre>"<channel> :Cannot join channel (+i)"</pre>
300 */
301 public static final int ERR_INVITEONLYCHAN = 473;
302
303 /**
304 * <pre>"<channel> :Cannot join channel (+b)"</pre>
305 */
306 public static final int ERR_BANNEDFROMCHAN = 474;
307
308 /**
309 * <pre>"<channel> :Cannot join channel (+k)"</pre>
310 */
311 public static final int ERR_BADCHANNELKEY = 475;
312
313 /**
314 * Any command requiring operator privileges to operate must return this
315 * error to indicate the attempt was unsuccessful.
316 *
317 * <pre>":Permission Denied- You're not an IRC operator"</pre>
318 */
319 public static final int ERR_NOPRIVILEGES = 481;
320
321 /**
322 * Any command requiring 'chanop' privileges (such as MODE messages) must
323 * return this error if the client making the attempt is not a chanop on
324 * the specified channel.
325 *
326 * <pre>"<channel> :You're not channel operator"</pre>
327 */
328 public static final int ERR_CHANOPRIVSNEEDED = 482;
329
330 /**
331 * Any attempts to use the KILL command on a server are to be refused and
332 * this error returned directly to the client.
333 *
334 * <pre>":You cant kill a server!"</pre>
335 */
336 public static final int ERR_CANTKILLSERVER = 483;
337
338 /**
339 * If a client sends an OPER message and the server has not been configured
340 * to allow connections from the client's host as an operator, this error
341 * must be returned.
342 *
343 * <pre>":No O-lines for your host"</pre>
344 */
345 public static final int ERR_NOOPERHOST = 491;
346
347 /**
348 * Returned by the server to indicate that a MODE message was sent with
349 * a nickname parameter and that the a mode flag sent was not recognized.
350 *
351 * <pre>":Unknown MODE flag"</pre>
352 */
353 public static final int ERR_UMODEUNKNOWNFLAG = 501;
354
355 /**
356 * Error sent to any user trying to view or change the user mode for
357 * a user other than themselves.
358 *
359 * <pre>":Cant change mode for other users"</pre>
360 */
361 public static final int ERR_USERSDONTMATCH = 502;
362
363 /**
364 * Dummy reply number. Not used.
365 */
366 public static final int RPL_NONE = 300;
367
368 /**
369 * Reply format used by USERHOST to list replies to the query list. The
370 * reply string is composed as follows:
371 *
372 * <pre><reply> ::= <nick>['*'] '=' <'+'|'-'><hostname></pre>
373 *
374 * The '*' indicates whether the client has registered as an Operator.
375 * The '-' or '+' characters represent whether the client has set an AWAY
376 * message or not respectively.
377 *
378 * <pre>":[<reply>{<space><reply>}]"</pre>
379 */
380 public static final int RPL_USERHOST = 302;
381
382 /**
383 * Reply format used by ISON to list replies to the query list.
384 *
385 * <pre>":[<nick> {<space><nick>}]"</pre>
386 */
387 public static final int RPL_ISON = 303;
388
389 /**
390 * <pre>"<nick> :<away message>"</pre>
391 */
392 public static final int RPL_AWAY = 301;
393
394 /**
395 * <pre>":You are no longer marked as being away"</pre>
396 */
397 public static final int RPL_UNAWAY = 305;
398
399 /**
400 * These replies are used with the AWAY command (if allowed). RPL_AWAY is
401 * sent to any client sending a PRIVMSG to a client which is away.
402 * RPL_AWAY is only sent by the server to which the client is connected.
403 * Replies RPL_UNAWAY and RPL_NOWAWAY are sent when the client removes and
404 * sets an AWAY message.
405 *
406 * <pre>":You have been marked as being away"</pre>
407 */
408 public static final int RPL_NOWAWAY = 306;
409
410 /**
411 * <pre>"<nick> <user> <host> * :<real name>"</pre>
412 */
413 public static final int RPL_WHOISUSER = 311;
414
415 /**
416 * <pre>"<nick> <server> :<server info>"</pre>
417 */
418 public static final int RPL_WHOISSERVER = 312;
419
420 /**
421 * <pre>"<nick> :is an IRC operator"</pre>
422 */
423 public static final int RPL_WHOISOPERATOR = 313;
424
425 /**
426 * <pre>"<nick> <integer> :seconds idle"</pre>
427 */
428 public static final int RPL_WHOISIDLE = 317;
429
430 /**
431 * <pre>"<nick> :End of /WHOIS list"</pre>
432 */
433 public static final int RPL_ENDOFWHOIS = 318;
434
435 /**
436 * Replies 311 - 313, 317 - 319 are all replies generated in response to a
437 * WHOIS message. Given that there are enough parameters present, the
438 * answering server must either formulate a reply out of the above numerics
439 * (if the query nick is found) or return an error reply. The '*' in
440 * RPL_WHOISUSER is there as the literal character and not as a wild card.
441 * For each reply set, only RPL_WHOISCHANNELS may appear more than once
442 * (for long lists of channel names). The '@' and '+' characters next to
443 * the channel name indicate whether a client is a channel operator or has
444 * been granted permission to speak on a moderated channel.
445 * The RPL_ENDOFWHOIS reply is used to mark the end of processing a WHOIS
446 * message.
447 *
448 * <pre>"<nick> :{[@|+]<channel><space>}"</pre>
449 */
450 public static final int RPL_WHOISCHANNELS = 319;
451
452 /**
453 * <pre>"<nick> <user> <host> * :<real name>"</pre>
454 */
455 public static final int RPL_WHOWASUSER = 314;
456
457 /**
458 * When replying to a WHOWAS message, a server must use the replies
459 * RPL_WHOWASUSER, RPL_WHOISSERVER or ERR_WASNOSUCHNICK for each nickname
460 * in the presented list. At the end of all reply batches, there must be
461 * RPL_ENDOFWHOWAS (even if there was only one reply and it was an error).
462 *
463 * <pre>"<nick> :End of WHOWAS"</pre>
464 */
465 public static final int RPL_ENDOFWHOWAS = 369;
466
467 /**
468 * <pre>"Channel :Users Name"</pre>
469 */
470 public static final int RPL_LISTSTART = 321;
471
472 /**
473 * <pre>"<channel> <# visible> :<topic>"</pre>
474 */
475 public static final int RPL_LIST = 322;
476
477 /**
478 * Replies RPL_LISTSTART, RPL_LIST, RPL_LISTEND mark the start, actual
479 * replies with data and end of the server's response to a LIST command. If
480 * there are no channels available to return, only the start and end reply
481 * must be sent.
482 *
483 * <pre>":End of /LIST"</pre>
484 */
485 public static final int RPL_LISTEND = 323;
486
487 /**
488 * <pre>"<channel> <mode> <mode params>"</pre>
489 */
490 public static final int RPL_CHANNELMODEIS = 324;
491
492 /**
493 * <pre>"<channel> :No topic is set"</pre>
494 */
495 public static final int RPL_NOTOPIC = 331;
496
497 /**
498 * When sending a TOPIC message to determine the channel topic, one of two
499 * replies is sent. If the topic is set, RPL_TOPIC is sent back else
500 * RPL_NOTOPIC.
501 *
502 * <pre>"<channel> :<topic>"</pre>
503 */
504 public static final int RPL_TOPIC = 332;
505
506 /**
507 * Returned by the server to indicate that the attempted INVITE message was
508 * successful and is being passed onto the end client.
509 *
510 * <pre>"<channel> <nick>"</pre>
511 */
512 public static final int RPL_INVITING = 341;
513
514 /**
515 * Returned by a server answering a SUMMON message to indicate that it is
516 * summoning that user.
517 *
518 * <pre>"<user> :Summoning user to IRC"</pre>
519 */
520 public static final int RPL_SUMMONING = 342;
521
522 /**
523 * Reply by the server showing its version details. The <version> is
524 * the version of the software being used (including any patchlevel
525 * revisions) and the <debuglevel> is used to indicate if the server
526 * is running in "debug mode". The "comments" field may contain any
527 * comments about the version or further version details.
528 *
529 * <pre>"<version>.<debuglevel> <server> :<comments>"</pre>
530 */
531 public static final int RPL_VERSION = 351;
532
533 /**
534 * <pre>"<channel> <user> <host> <server> <nick> <H|G>[*][@|+] :<hopcount> <real name>"</pre>
535 */
536 public static final int RPL_WHOREPLY = 352;
537
538 /**
539 * The RPL_WHOREPLY and RPL_ENDOFWHO pair are used to answer a WHO message.
540 * The RPL_WHOREPLY is only sent if there is an appropriate match to the
541 * WHO query. If there is a list of parameters supplied with a WHO message,
542 * a RPL_ENDOFWHO must be sent after processing each list item with
543 * <name> being the item.
544 *
545 * <pre>"<name> :End of /WHO list"</pre>
546 */
547 public static final int RPL_ENDOFWHO = 315;
548
549 /**
550 * <pre>"<channel> :[[@|+]<nick> [[@|+]<nick> [...]]]"</pre>
551 */
552 public static final int RPL_NAMREPLY = 353;
553
554 /**
555 * To reply to a NAMES message, a reply pair consisting of RPL_NAMREPLY and
556 * RPL_ENDOFNAMES is sent by the server back to the client. If there is no
557 * channel found as in the query, then only RPL_ENDOFNAMES is returned. The
558 * exception to this is when a NAMES message is sent with no parameters and
559 * all visible channels and contents are sent back in a series of
560 * RPL_NAMEREPLY messages with a RPL_ENDOFNAMES to mark the end.
561 *
562 * <pre>"<channel> :End of /NAMES list"</pre>
563 */
564 public static final int RPL_ENDOFNAMES = 366;
565
566 /**
567 * <pre>"<mask> <server> :<hopcount> <server info>"</pre>
568 */
569 public static final int RPL_LINKS = 364;
570
571 /**
572 * In replying to the LINKS message, a server must send replies back using
573 * the RPL_LINKS numeric and mark the end of the list using an
574 * RPL_ENDOFLINKS reply.v
575 *
576 * <pre>"<mask> :End of /LINKS list"</pre>
577 */
578 public static final int RPL_ENDOFLINKS = 365;
579
580 /**
581 * <pre>"<channel> <banid>"</pre>
582 */
583 public static final int RPL_BANLIST = 367;
584
585 /**
586 * When listing the active 'bans' for a given channel, a server is required
587 * to send the list back using the RPL_BANLIST and RPL_ENDOFBANLIST
588 * messages. A separate RPL_BANLIST is sent for each active banid. After
589 * the banids have been listed (or if none present) a RPL_ENDOFBANLIST must
590 * be sent.
591 *
592 * <pre>"<channel> :End of channel ban list"</pre>
593 */
594 public static final int RPL_ENDOFBANLIST = 368;
595
596 /**
597 * <pre>":<string>"</pre>
598 */
599 public static final int RPL_INFO = 371;
600
601 /**
602 * A server responding to an INFO message is required to send all its
603 * 'info' in a series of RPL_INFO messages with a RPL_ENDOFINFO reply to
604 * indicate the end of the replies.
605 *
606 * <pre>":End of /INFO list"</pre>
607 */
608 public static final int RPL_ENDOFINFO = 374;
609
610 /**
611 * <pre>":- <server> Message of the day - "</pre>
612 */
613 public static final int RPL_MOTDSTART = 375;
614
615 /**
616 * <pre>":- <text>"</pre>
617 */
618 public static final int RPL_MOTD = 372;
619
620 /**
621 * When responding to the MOTD message and the MOTD file is found, the file
622 * is displayed line by line, with each line no longer than 80 characters,
623 * using RPL_MOTD format replies. These should be surrounded by a
624 * RPL_MOTDSTART (before the RPL_MOTDs) and an RPL_ENDOFMOTD (after).
625 *
626 * <pre>":End of /MOTD command"</pre>
627 */
628 public static final int RPL_ENDOFMOTD = 376;
629
630 /**
631 * RPL_YOUREOPER is sent back to a client which has just successfully
632 * issued an OPER message and gained operator status.
633 *
634 * <pre>":You are now an IRC operator"</pre>
635 */
636 public static final int RPL_YOUREOPER = 381;
637
638 /**
639 * If the REHASH option is used and an operator sends a REHASH message,
640 * an RPL_REHASHING is sent back to the operator.
641 *
642 * <pre>"<config file> :Rehashing"</pre>
643 */
644 public static final int RPL_REHASHING = 382;
645
646 /**
647 * When replying to the TIME message, a server must send the reply using
648 * the RPL_TIME format above. The string showing the time need only contain
649 * the correct day and time there. There is no further requirement for the
650 * time string.
651 *
652 * <pre>"<server> :<string showing server's local time>"</pre>
653 */
654 public static final int RPL_TIME = 391;
655
656 /**
657 * <pre>":UserID Terminal Host"</pre>
658 */
659 public static final int RPL_USERSSTART = 392;
660
661 /**
662 * <pre>":%-8s %-9s %-8s"</pre>
663 */
664 public static final int RPL_USERS = 393;
665
666 /**
667 * <pre>":End of users"</pre>
668 */
669 public static final int RPL_ENDOFUSERS = 394;
670
671 /**
672 * If the USERS message is handled by a server, the replies RPL_USERSTART,
673 * RPL_USERS, RPL_ENDOFUSERS and RPL_NOUSERS are used. RPL_USERSSTART must
674 * be sent first, following by either a sequence of RPL_USERS or a single
675 * RPL_NOUSER. Following this is RPL_ENDOFUSERS.
676 *
677 * <pre>":Nobody logged in"</pre>
678 */
679 public static final int RPL_NOUSERS = 395;
680
681 /**
682 * <pre>"Link <version & debug level> <destination> <next server>"</pre>
683 */
684 public static final int RPL_TRACELINK = 200;
685
686 /**
687 * <pre>"Try. <class> <server>"</pre>
688 */
689 public static final int RPL_TRACECONNECTING = 201;
690
691 /**
692 * <pre>"H.S. <class> <server>"</pre>
693 */
694 public static final int RPL_TRACEHANDSHAKE = 202;
695
696 /**
697 * <pre>"???? <class> [<client IP address in dot form>]"</pre>
698 */
699 public static final int RPL_TRACEUNKNOWN = 203;
700
701 /**
702 * <pre>"Oper <class> <nick>"</pre>
703 */
704 public static final int RPL_TRACEOPERATOR = 204;
705
706 /**
707 * <pre>"User <class> <nick>"</pre>
708 */
709 public static final int RPL_TRACEUSER = 205;
710
711 /**
712 * <pre>"Serv <class> <int>S <int>C <server> <nick!user|*!*>@<host|server>"</pre>
713 */
714 public static final int RPL_TRACESERVER = 206;
715
716 /**
717 * <pre>"<newtype> 0 <client name>"</pre>
718 */
719 public static final int RPL_TRACENEWTYPE = 208;
720
721 /**
722 * The RPL_TRACE* are all returned by the server in response to the TRACE
723 * message. How many are returned is dependent on the the TRACE message
724 * and whether it was sent by an operator or not. There is no predefined
725 * order for which occurs first. Replies RPL_TRACEUNKNOWN,
726 * RPL_TRACECONNECTING and RPL_TRACEHANDSHAKE are all used for connections
727 * which have not been fully established and are either unknown, still
728 * attempting to connect or in the process of completing the 'server
729 * handshake'. RPL_TRACELINK is sent by any server which handles a TRACE
730 * message and has to pass it on to another server. The list of
731 * RPL_TRACELINKs sent in response to a TRACE command traversing the IRC
732 * network should reflect the actual connectivity of the servers themselves
733 * along that path. RPL_TRACENEWTYPE is to be used for any connection which
734 * does not fit in the other categories but is being displayed anyway.
735 *
736 * <pre>"File <logfile> <debug level>"</pre>
737 */
738 public static final int RPL_TRACELOG = 261;
739
740 /**
741 * <pre>"<linkname> <sendq> <sent messages> <sent bytes> <received messages> <received bytes> <time open>"</pre>
742 */
743 public static final int RPL_STATSLINKINFO = 211;
744
745 /**
746 * <pre>"<command> <count>"</pre>
747 */
748 public static final int RPL_STATSCOMMANDS = 212;
749
750 /**
751 * <pre>"C <host> * <name> <port> <class>"</pre>
752 */
753 public static final int RPL_STATSCLINE = 213;
754
755 /**
756 * <pre>"N <host> * <name> <port> <class>"</pre>
757 */
758 public static final int RPL_STATSNLINE = 214;
759
760 /**
761 * <pre>"I <host> * <host> <port> <class>"</pre>
762 */
763 public static final int RPL_STATSILINE = 215;
764
765 /**
766 * <pre>"K <host> * <username> <port> <class>"</pre>
767 */
768 public static final int RPL_STATSKLINE = 216;
769
770 /**
771 * <pre>"Y <class> <ping frequency> <connect frequency> <max sendq>"</pre>
772 */
773 public static final int RPL_STATSYLINE = 218;
774
775 /**
776 * <pre>"<stats letter> :End of /STATS report"</pre>
777 */
778 public static final int RPL_ENDOFSTATS = 219;
779
780 /**
781 * <pre>"L <hostmask> * <servername> <maxdepth>"</pre>
782 */
783 public static final int RPL_STATSLLINE = 241;
784
785 /**
786 * <pre>":Server Up %d days %d:%02d:%02d"</pre>
787 */
788 public static final int RPL_STATSUPTIME = 242;
789
790 /**
791 * <pre>"O <hostmask> * <name>"</pre>
792 */
793 public static final int RPL_STATSOLINE = 243;
794
795 /**
796 * <pre>"H <hostmask> * <servername>"</pre>
797 */
798 public static final int RPL_STATSHLINE = 244;
799
800 /**
801 * To answer a query about a client's own mode, RPL_UMODEIS is sent back.
802 * <pre>"<user mode string>"</pre>
803 */
804 public static final int RPL_UMODEIS = 221;
805
806 /**
807 * <pre>":There are <integer> users and <integer> invisible on <integer> servers"</pre>
808 */
809 public static final int RPL_LUSERCLIENT = 251;
810
811 /**
812 * <pre>"<integer> :operator(s) online"</pre>
813 */
814 public static final int RPL_LUSEROP = 252;
815
816 /**
817 * <pre>"<integer> :unknown connection(s)"</pre>
818 */
819 public static final int RPL_LUSERUNKNOWN = 253;
820
821 /**
822 * <pre>"<integer> :channels formed"</pre>
823 */
824 public static final int RPL_LUSERCHANNELS = 254;
825
826 /**
827 * In processing an LUSERS message, the server sends a set of replies from
828 * RPL_LUSERCLIENT, RPL_LUSEROP, RPL_USERUNKNOWN, RPL_LUSERCHANNELS and
829 * RPL_LUSERME. When replying, a server must send back RPL_LUSERCLIENT and
830 * RPL_LUSERME. The other replies are only sent back if a non-zero count is
831 * found for them.
832 *
833 * <pre>":I have <integer> clients and <integer> servers"</pre>
834 */
835 public static final int RPL_LUSERME = 255;
836
837 /**
838 * <pre>"<server> :Administrative info"</pre>
839 */
840 public static final int RPL_ADMINME = 256;
841
842 /**
843 * <pre>":<admin info>"</pre>
844 */
845 public static final int RPL_ADMINLOC1 = 257;
846
847 /**
848 * <pre>":<admin info>"</pre>
849 */
850 public static final int RPL_ADMINLOC2 = 258;
851
852 /**
853 * When replying to an ADMIN message, a server is expected to use replies
854 * RLP_ADMINME through to RPL_ADMINEMAIL and provide a text message with
855 * each. For RPL_ADMINLOC1 a description of what city, state and country
856 * the server is in is expected, followed by details of the university and
857 * department (RPL_ADMINLOC2) and finally the administrative contact for
858 * the server (an email address here is required) in RPL_ADMINEMAIL.
859 *
860 * <pre>":<admin info>"</pre>
861 */
862 public static final int RPL_ADMINEMAIL = 259;
863
864 }