fixed ssl.c bug when ssl backend returns IO_BLOCKED but IO engine doesn't get informe...
[ircu2.10.12-pk.git] / include / numeric.h
1 /*
2  * IRC - Internet Relay Chat, include/numeric.h
3  * Copyright (C) 1990 Jarkko Oikarinen
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 1, or (at your option)
8  * any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 /** @file
20  * @brief Declarations of numeric replies and supporting functions.
21  * @version $Id: numeric.h 1905 2009-02-09 01:30:13Z entrope $
22  */
23 #ifndef INCLUDED_numeric_h
24 #define INCLUDED_numeric_h
25
26 /** Numeric reply information. */
27 typedef struct Numeric {
28   int         value;  /**< Numeric response. */
29   const char* format; /**< Format string to follow :My.Server NNN Dest */
30   const char* str;    /**< Text form for numeric. */
31 } Numeric;
32
33 /*
34  * Prototypes
35  */
36 extern char* rpl_str(int numeric);
37 extern const struct Numeric* get_error_numeric(int err);
38
39 /*
40  * References:
41  *  aircd - aircd source.  Doesn't appear to be available on the web.
42  *          anywhere.  Ask me (Isomer) if you'd like a copy. (it's gpl)
43  *  Numeric List - http://www.contactor.se/~dast/irc/numerics.txt
44  */
45
46
47 /*
48  * Reserve numerics 000-099 for server-client connections where the client
49  * is local to the server. If any server is passed a numeric in this range
50  * from another server then it is remapped to 100-199. -avalon
51  */
52 #define RPL_WELCOME            1
53 #define RPL_YOURHOST           2
54 #define RPL_CREATED            3
55 #define RPL_MYINFO             4
56 #define RPL_ISUPPORT           5        /* Undernet/Dalnet extension */
57 /*      RPL_MAP                6        unreal */
58 /*      RPL_MAPEND             7        unreal */
59 #define RPL_SNOMASK            8        /* Undernet extension */
60 /*       RPL_BOUNCE           10        efnet, IRCnet extension
61                                         (server redirect) */
62 /*      RPL_YOURCOOKIE        14           IRCnet extension */
63 #define RPL_MAP               15        /* Undernet extension */
64 #define RPL_MAPMORE           16        /* Undernet extension */
65 #define RPL_MAPEND            17        /* Undernet extension */
66 #define RPL_APASSWARN_SET     30        /* Undernet extension */
67 #define RPL_APASSWARN_SECRET  31        /* Undernet extension */
68 #define RPL_APASSWARN_CLEAR   32        /* Undernet extension */
69 /*      RPL_YOURID            42        IRCnet extension */
70 /*      RPL_ATTEMPTINGJUNC    50           aircd extension */
71 /*      RPL_ATTEMPTINGREROUTE 51           aircd extension */
72
73 /*
74  * Numberic replies from server commands.
75  * These are currently in the range 200-399.
76  */
77
78 #define RPL_TRACELINK        200
79 #define RPL_TRACECONNECTING  201
80 #define RPL_TRACEHANDSHAKE   202
81 #define RPL_TRACEUNKNOWN     203
82 #define RPL_TRACEOPERATOR    204
83 #define RPL_TRACEUSER        205
84 #define RPL_TRACESERVER      206
85 #define RPL_TRACENEWTYPE     208
86 #define RPL_TRACECLASS       209
87 /*      RPL_STATS            210 aircd extension, used instead of having
88                                  multiple stats numerics */
89 /*      RPL_TRACERECONNECT   210 IRCnet extension */
90 #define RPL_STATSLINKINFO    211
91 #define RPL_STATSCOMMANDS    212
92 #define RPL_STATSCLINE       213
93 /*      RPL_STATSOLDNLINE    214    unreal */
94 #define RPL_STATSNLINE       214 /* unused */
95 #define RPL_STATSILINE       215
96 #define RPL_STATSKLINE       216
97 #define RPL_STATSPLINE       217        /* Undernet extension */
98 /*      RPL_STATSQLINE       217           Various */
99 #define RPL_STATSYLINE       218
100 #define RPL_ENDOFSTATS       219        /* See also RPL_STATSDLINE */
101 /*      RPL_STATSPLINE       220           Hybrid - Because 217 was for
102                                            old Q: lines. */
103 /*      RPL_STATSBLINE       220           Numerics List: Dalnet,unreal */
104 #define RPL_UMODEIS          221
105 /*      RPL_SQLINE_NICK      222           Numerics List: Dalnet */
106 #define RPL_STATSJLINE       222        /* Undernet extension */
107 /*      RPL_STATSELINE       223           dalnet */
108 /*      RPL_STATSGLINE       223           unreal */
109 /*      RPL_STATSFLINE       224           Hybrid extension,Dalnet */
110 /*      RPL_STATSTLINE       224           unreal */
111 /*      RPL_STATSDLINE       225           Hybrid extension */
112 /*      RPL_STATSZLINE       225           Dalnet
113         RPL_STATSELINE       225           unreal
114         RPL_STATSCOUNT       226           Dalnet
115         RPL_STATSNLINE       226           unreal
116         RPL_STATSGLINE       227           Dalnet 
117         RPL_STATSVLINE       227           unreal */
118 #define RPL_STATSALINE       226        /* Hybrid, Undernet */
119 #define RPL_STATSQLINE       228        /* Undernet extension */
120
121 /*      RPL_SERVICEINFO      231        unused */
122 /*      RPL_ENDOFSERVICES    232        unused */
123 /*      RPL_RULES            232        unreal */
124 /*      RPL_SERVICE          233        unused */
125 /*      RPL_SERVLIST         234        unused */
126 /*      RPL_SERVLISTEND      235        unused */
127
128 #define RPL_STATSVERBOSE     236        /* Undernet verbose server list */
129 #define RPL_STATSENGINE      237        /* Undernet engine name */
130 #define RPL_STATSFLINE       238        /* Undernet feature lines */
131 /*      RPL_STATSIAUTH       239           IRCnet extension */
132 /*      RPL_STATSVLINE       240           IRCnet extension */
133 /*      RPL_STATSXLINE       240        austnet */
134 #define RPL_STATSLLINE       241        /* Undernet dynamicly loaded modules */
135 #define RPL_STATSUPTIME      242
136 #define RPL_STATSOLINE       243
137 #define RPL_STATSHLINE       244
138 /*      RPL_STATSSLINE       245           Reserved / Dalnet / IRCnet / EFnet */
139 /*      RPL_STATSSPING       246           Numerics List: IRCnet */
140 #define RPL_STATSTLINE       246        /* Undernet extension */
141 /*      RPL_STATSULINE       246        Dalnet */
142 #define RPL_STATSGLINE       247        /* Undernet extension */
143 /*      RPL_STATSXLINE       247           hybrid extension,PTlink,unreal */
144 /*      RPL_STATSBLINE       247           Numerics List: IRCnet */
145 #define RPL_STATSULINE       248        /* Undernet extension */
146 /*      RPL_STATSDEFINE      248           Numerics List: IRCnet */
147 #define RPL_STATSDEBUG       249        /* Extension to RFC1459 */
148 #define RPL_STATSCONN        250        /* Undernet extension */
149 /*      RPL_STATSDLINE       250           Numerics List: IRCnet */
150
151 #define RPL_LUSERCLIENT      251
152 #define RPL_LUSEROP          252
153 #define RPL_LUSERUNKNOWN     253
154 #define RPL_LUSERCHANNELS    254
155 #define RPL_LUSERME          255
156 #define RPL_ADMINME          256
157 #define RPL_ADMINLOC1        257
158 #define RPL_ADMINLOC2        258
159 #define RPL_ADMINEMAIL       259
160
161 /*      RPL_TRACELOG         261           unused */
162 #define RPL_TRACEEND         262        /* efnet/IRCnet */
163 /*      RPL_LOAD_THROTTLED   263           efnet/hybrid */
164 /*      RPL_TRYAGAIN         263           Numerics List: IRCnet */
165 /*      RPL_LOAD2HI          263           Dalnet */
166 /*      RPL_CURRENT_LOCAL    265           aircd/efnet/hybrid/dalnet*/
167 /*      RPL_CURRENT_GLOBAL   266           aircd/efnet/hybrid/dalnet */
168 /*      RPL_START_NETSTAT    267           aircd */
169 /*      RPL_NETSTAT          268           aircd */
170 /*      RPL_END_NETSTAT      269           aircd */
171 #define RPL_PRIVS            270        /* Undernet extension - privs */
172 #define RPL_SILELIST         271        /* Undernet extension */
173 #define RPL_ENDOFSILELIST    272        /* Undernet extension */
174 /*      RPL_NOTIFY           273           aircd */
175 /*      RPL_END_NOTIFY       274           aircd */
176 /*      RPL_STATSDELTA       274           IRCnet extension */
177 #define RPL_STATSDLINE       275        /* Undernet extension */
178 #define RPL_STATSRLINE       276        /* Undernet extension */
179
180 #define RPL_GLIST            280        /* Undernet extension */
181 #define RPL_ENDOFGLIST       281        /* Undernet extension */
182 #define RPL_JUPELIST         282        /* Undernet extension - jupe -Kev */
183 #define RPL_ENDOFJUPELIST    283        /* Undernet extension - jupe -Kev */
184 #define RPL_FEATURE          284        /* Undernet extension - features */
185 /*      RPL_CHANINFO_HANDLE  285           aircd */
186 /*      RPL_CHANINFO_USERS   286           aircd */
187 #define RPL_CHKHEAD          286        /* IRCu-Patchset extension */
188 /*      RPL_CHANINFO_CHOPS   287           aircd */
189 #define RPL_CHANUSER         287        /* IRCu-Patchset extension */
190 /*      RPL_CHANINFO_VOICES  288           aircd */
191 /*      RPL_CHANINFO_AWAY    289           aircd */
192 /*      RPL_CHANINFO_OPERS   290           aircd */
193 /*      RPL_HELPHDR          290        Numeric List: Dalnet */
194 #define RPL_DATASTR          290        /* IRCu-Patchset extension */
195 /*      RPL_CHANINFO_BANNED  291           aircd */
196 /*      RPL_HELPOP           291        Numeric List: Dalnet */
197 #define RPL_ENDOFCHECK       291        /* IRCu-Patchset extension */
198 /*      RPL_CHANINFO_BANS    292           aircd */
199 /*      RPL_HELPTLR          292        Numeric List: Dalnet */
200 /*      RPL_CHANINFO_INVITE  293           aircd */
201 /*      RPL_HELPHLP          293        Numeric List: Dalnet */
202 /*      RPL_CHANINFO_INVITES 294           aircd */
203 /*      RPL_HELPFWD          294        Numeric List: Dalnet */
204 /*      RPL_CHANINFO_KICK    295           aircd */
205 /*      RPL_HELPIGN          295        Numeric List: Dalnet */
206 /*      RPL_CHANINFO_KICKS   296           aircd */
207
208 /*      RPL_END_CHANINFO     299           aircd */
209
210 /*      RPL_NONE             300        unused */
211 #define RPL_AWAY             301
212 #define RPL_USERHOST         302
213 #define RPL_ISON             303
214 /*      RPL_TEXT             304        unused */
215 #define RPL_UNAWAY           305
216 #define RPL_NOWAWAY          306
217                                         /* NotAway, aircd */
218 /*      RPL_WHOISREGNICK     307        Numeric List: Dalnet */
219 /*      RPL_SUSERHOST        307        austnet */
220 /*      RPL_NOTIFYACTION     308         aircd */
221 /*      RPL_WHOISADMIN       308        Numeric List: Dalnet */
222 /*      RPL_RULESSTART       308        unreal */
223 /*      RPL_NICKTRACE        309         aircd */
224 /*      RPL_WHOISSADMIN      309        Numeric List: Dalnet */
225 /*      RPL_ENDOFRULES       309        unreal */
226 /*      RPL_WHOISHELPER      309        austnet */
227 /*      RPL_WHOISSVCMSG      310         Dalnet */
228 /*      RPL_WHOISHELPOP      310        unreal */
229 /*      RPL_WHOISSERVICE     310        austnet */
230 #define RPL_WHOISUSER        311        /* See also RPL_ENDOFWHOIS */
231 #define RPL_WHOISSERVER      312
232 #define RPL_WHOISOPERATOR    313
233 #define RPL_WHOWASUSER       314        /* See also RPL_ENDOFWHOWAS */
234 #define RPL_ENDOFWHO         315        /* See RPL_WHOREPLY/RPL_WHOSPCRPL */
235 /*      RPL_WHOISCHANOP      316           removed from RFC1459 */
236 #define RPL_WHOISIDLE        317
237 #define RPL_ENDOFWHOIS       318        /* See RPL_WHOISUSER/RPL_WHOISSERVER/
238                                            RPL_WHOISOPERATOR/RPL_WHOISIDLE */
239 #define RPL_WHOISCHANNELS    319
240 /*      RPL_WHOIS_HIDDEN     320         Anothernet +h, ick! */
241 /*      RPL_WHOISSPECIAL     320        unreal */
242 #define RPL_WHOISSSL         320        /* ircu-patchset SSL extension */
243 #define RPL_LISTSTART        321
244 #define RPL_LIST             322
245 #define RPL_LISTEND          323
246 #define RPL_CHANNELMODEIS    324
247 /*      RPL_CHANNELPASSIS    325           IRCnet extension */
248 /*      RPL_UNIQOPIS         325           IRCnet extension */
249 /*      RPL_NOCHANPASS       326           IRCnet extension */
250 /*      RPL_CHPASSUNKNOWN    327           IRCnet extension */
251 /*      RPL_CHANNEL_URL      328           dalnet, anothernet */
252 #define RPL_CREATIONTIME     329
253 /*      RPL_WHOWAS_TIME      330               ? */
254 #define RPL_WHOISACCOUNT     330
255 #define RPL_NOTOPIC          331
256 #define RPL_TOPIC            332
257 #define RPL_TOPICWHOTIME     333        /* Undernet extension */
258 #define RPL_LISTUSAGE        334        /* Undernet extension */
259 /*      RPL_COMMANDSYNTAX    334           Dalnet */
260 /*      RPL_LISTSYNTAX       334           unreal */
261 /*      RPL_CHANPASSOK       338           IRCnet extension (?)*/
262 #define RPL_WHOISACTUALLY    338        /* Undernet extension, dalnet */
263 /*      RPL_BADCHANPASS      339           IRCnet extension (?) */
264 #define RPL_USERIP           340        /* Undernet extension */
265 #define RPL_INVITING         341
266 /*      RPL_SUMMONING        342           removed from RFC1459 */
267 #define RPL_UNINVITE         343
268
269 #define RPL_ISSUEDINVITE     345        /* Undernet extension */
270 #define RPL_INVITELIST       346        /* IRCnet, Undernet extension */
271 #define RPL_ENDOFINVITELIST  347        /* IRCnet, Undernet extension */
272 #define RPL_EXCEPTLIST       348        /* IRCnet extension */
273 #define RPL_ENDOFEXCEPTLIST  349        /* IRCnet extension */
274
275 #define RPL_VERSION          351
276 #define RPL_WHOREPLY         352        /* See also RPL_ENDOFWHO */
277 #define RPL_NAMREPLY         353        /* See also RPL_ENDOFNAMES */
278 #define RPL_WHOSPCRPL        354        /* Undernet extension,
279                                            See also RPL_ENDOFWHO */
280 #define RPL_DELNAMREPLY      355        /* QuakeNet extension */
281
282 /*      RPL_KILLDONE         361        not used */
283 #define RPL_CLOSING          362
284 #define RPL_CLOSEEND         363
285 #define RPL_LINKS            364
286 #define RPL_ENDOFLINKS       365
287 #define RPL_ENDOFNAMES       366        /* See RPL_NAMREPLY */
288 #define RPL_BANLIST          367
289 #define RPL_ENDOFBANLIST     368
290 #define RPL_ENDOFWHOWAS      369
291
292 #define RPL_INFO             371
293 #define RPL_MOTD             372
294 /*      RPL_INFOSTART        373        not used */
295 #define RPL_ENDOFINFO        374
296 #define RPL_MOTDSTART        375
297 #define RPL_ENDOFMOTD        376
298
299 #define RPL_WHOISWEBIRC      377    /* IRCu Patchset extension: WebIRC user. */
300 /*      RPL_KICKEXPIRED      377   aircd */
301 /*      RPL_SPAM             377   austnet */
302 #define RPL_WHOISWEBIRCLONG  378    /* IRCu Patchset extension: WebIRC user + orig. ip. */
303 /*      RPL_BANEXPIRED       378   aircd */
304 /*      RPL_KICKLINKED       379   aircd */
305 /*      RPL_BANLINKED        380   aircd */
306
307 #define RPL_YOUREOPER        381
308 #define RPL_REHASHING        382
309 /*      RPL_YOURSERVICE      383           Numeric List: various */
310 /*      RPL_MYPORTIS         384        not used */
311 /*      RPL_NOTOPERANYMORE   385        Extension to RFC1459, not used */
312 /*      RPL_QLIST            386        unreal */
313 /*      RPL_ENDOFQLIST       387        unreal */
314 /*      RPL_ALIST            388        unreal */
315 /*      RPL_ENDOFALIST       389        unreal */
316
317 #define RPL_TIME             391
318 /*      RPL_START_USERS      392        Dalnet/EFnet/IRCnet */
319 /*      RPL_USERS            393        Dalnet/EFnet/IRCnet */
320 /*      RPL_END_USERS        394        Dalnet/EFnet/IRCnet */
321 /*      RPL_NOUSERS          395        Dalnet/EFnet/IRCnet */
322 #define RPL_HOSTHIDDEN       396        /* UMODE +x completed succesfuly */
323 #define RPL_HOSTUSERHIDDEN  397 /* UMODE +x completed succesfuly (with USERNAME change) */
324
325 /*
326  * Errors are in the range from 400-599 currently and are grouped by what
327  * commands they come from.
328  */
329 /*      ERR_FIRSTERROR       400        unused */
330 #define ERR_NOSUCHNICK       401
331 #define ERR_NOSUCHSERVER     402
332 #define ERR_NOSUCHCHANNEL    403
333 #define ERR_CANNOTSENDTOCHAN 404
334 #define ERR_TOOMANYCHANNELS  405
335 #define ERR_WASNOSUCHNICK    406
336 #define ERR_TOOMANYTARGETS   407
337 #define ERR_SEARCHNOMATCH    408      /* IRCu-Patchset extension */
338 /*      ERR_NOSUCHSERVICE    408  IRCnet */
339 /*      ERR_NOCOLORSONCHAN   408  Dalnet */
340 #define ERR_NOORIGIN         409
341 #define ERR_UNKNOWNCAPCMD    410
342 #define ERR_NORECIPIENT      411
343 #define ERR_NOTEXTTOSEND     412
344 #define ERR_NOTOPLEVEL       413
345 #define ERR_WILDTOPLEVEL     414
346      /* ERR_BADMASK          415           IRCnet extension */
347 #define ERR_QUERYTOOLONG     416        /* Undernet extension */
348      /* ERR_TOOMANYMATCHES   416           IRCnet extension */
349 #define ERR_INPUTTOOLONG     417
350 /*      ERR_LENGTHTRUNCATED  419           aircd */
351
352 #define ERR_UNKNOWNCOMMAND   421
353 #define ERR_NOMOTD           422
354 #define ERR_NOADMININFO      423
355 /*      ERR_FILEERROR        424           removed from RFC1459 */
356
357 /*      ERR_TOOMANYAWAY      429            Dalnet */
358 #define ERR_NONICKNAMEGIVEN  431
359 #define ERR_ERRONEUSNICKNAME 432
360 #define ERR_NICKNAMEINUSE    433
361 /*      ERR_SERVICENAMEINUSE 434 ? */
362 /*      ERR_NORULES          434   unreal */
363 /*      ERR_SERVICECONFUSED  435 ? */
364 /*      ERR_BANONCHAN        435   dalnet */
365 #define ERR_NICKCOLLISION    436
366 #define ERR_BANNICKCHANGE    437        /* Undernet extension */
367      /* ERR_UNAVAILRESOURCE  437           IRCnet extension */
368 #define ERR_NICKTOOFAST      438        /* Undernet extension */
369      /* ERR_DEAD             438           IRCnet reserved for later use */
370 #define ERR_TARGETTOOFAST    439        /* Undernet extension */
371 #define ERR_SERVICESDOWN     440        /* Dalnet,unreal,Undernet */
372 #define ERR_USERNOTINCHANNEL 441
373 #define ERR_NOTONCHANNEL     442
374 #define ERR_USERONCHANNEL    443
375 /*      ERR_NOLOGIN          444           removed from RFC1459 */
376 /*      ERR_SUMMONDISABLED   445           removed from RFC1459 */
377 /*      ERR_USERSDISABLED    446           removed from RFC1459 */
378 /*      ERR_NONICKCHANGE     447         unreal */
379 #define ERR_USERNOTINVITED    448
380
381 #define ERR_NOTREGISTERED    451
382 /*      ERR_IDCOLLISION      452           IRCnet extension ? */
383 /*      ERR_NICKLOST         453           IRCnet extension ? */
384
385 /*      ERR_HOSTILENAME      455           unreal */
386
387 /*      ERR_NOHIDING         459           unreal */
388 /*      ERR_NOTFORHALFOPS    460           unreal */
389
390 #define ERR_NEEDMOREPARAMS   461
391 #define ERR_ALREADYREGISTRED 462
392 #define ERR_NOPERMFORHOST    463
393 #define ERR_PASSWDMISMATCH   464
394 #define ERR_YOUREBANNEDCREEP 465
395 #define ERR_YOUWILLBEBANNED  466
396 #define ERR_KEYSET           467        /* Undernet extension */
397 #define ERR_INVALIDUSERNAME  468        /* Undernet extension */
398 /*      ERR_ONLYSERVERSCANCHANGE 468       Dalnet,unreal */
399 /*      ERR_LINKSET          469        unreal */
400 /*      ERR_LINKCHANNEL      470        unreal */
401 #define ERR_JOINACCESS       470
402 #define ERR_CHANNELISFULL    471
403 #define ERR_UNKNOWNMODE      472
404 #define ERR_INVITEONLYCHAN   473
405 #define ERR_BANNEDFROMCHAN   474
406 #define ERR_BADCHANNELKEY    475
407 #define ERR_BADCHANMASK      476        /* Undernet extension */
408 #define ERR_NEEDREGGEDNICK   477        /* DalNet&Undernet Extention */
409 #define ERR_BANLISTFULL      478        /* Undernet extension */
410 /*      ERR_LINKFAIL         479        unreal */
411
412 #define ERR_BADCHANNAME      479        /* EFNet extension */
413                                         /* 479 Undernet extension badchan */
414 #define ERR_SSLCHANNEL       480
415 /*      ERR_CANNOTKNOCK      480        unreal */
416 /*      ERR_NOULINE          480        austnet */
417 #define ERR_NOPRIVILEGES     481
418 #define ERR_CHANOPRIVSNEEDED 482
419 #define ERR_CANTKILLSERVER   483
420 #define ERR_ISCHANSERVICE    484        /* Undernet extension */
421 /*      ERR_DESYNC           484         Dalnet,PTlink */
422 /*      ERR_ATTACKDENY       484         unreal */
423 /*      ERR_RESTRICTED       484           IRCnet extension */
424 /*      ERR_UNIQOPRIVSNEEDED 485           IRCnet extension */
425 /*      ERR_KILLDENY         485           unreal */
426 /*      ERR_CANTKICKADMIN    485           PTlink */
427 /*      ERR_HTMDISABLED      486           unreal */
428 /*      ERR_CHANTOORECENT    487           IRCnet extension (?) */
429 /*      ERR_TSLESSCHAN       488           IRCnet extension (?) */
430 #define ERR_VOICENEEDED      489        /* Undernet extension */
431
432 #define ERR_NOOPERHOST       491
433 /*      ERR_NOSERVICEHOST    492           IRCnet extension */
434
435 #define ERR_NOFEATURE        493        /* Undernet extension - features */
436 #define ERR_BADFEATVALUE     494        /* Undernet extension - features */
437 #define ERR_BADLOGTYPE       495        /* Undernet extension - features */
438 #define ERR_BADLOGSYS        496        /* Undernet extension - features */
439 #define ERR_BADLOGVALUE      497        /* Undernet extension - features */
440
441 #define ERR_ISOPERLCHAN      498        /* Undernet extension */
442
443 #define ERR_UMODEUNKNOWNFLAG 501
444 #define ERR_USERSDONTMATCH   502
445 /*      ERR_GHOSTEDCLIENT    503           efnet */
446 /*      ERR_VWORLDWARN       503           austnet */
447
448 #define ERR_SILELISTFULL     511        /* Undernet extension */
449 /*      ERR_NOTIFYFULL       512           aircd */
450 /*      ERR_TOOMANYWATCH     512           Numeric List: Dalnet */
451 #define ERR_NOSUCHGLINE      512        /* Undernet extension */
452 #define ERR_BADPING          513        /* Undernet extension */
453 /*      ERR_NEEDPONG         512           Numeric List: Dalnet */
454 #define ERR_NOSUCHJUPE       514        /* Undernet extension - jupe -Kev */
455 /*      ERR_TOOMANYDCC       514        dalnet */
456 #define ERR_BADEXPIRE        515        /* Undernet extension - jupe -Kev */
457 #define ERR_DONTCHEAT        516        /* Undernet extension */
458 #define ERR_DISABLED         517        /* Undernet extension -Kev */
459 /*      ERR_NOINVITE         518        unreal */
460 #define ERR_LONGMASK         518        /* Undernet extension -Kev */
461 /*      ERR_ADMONLY          519        unreal */
462 #define ERR_TOOMANYUSERS     519        /* Undernet extension -Kev */
463 /*      ERR_OPERONLY         520        unreal */
464 #define ERR_MASKTOOWIDE      520        /* Undernet extension -Kev */
465 /*      ERR_WHOTRUNC         520        austnet */
466 #define ERR_CHANGEDEXPIRE    521        /* IRCu-Patchset extension -gix */
467 /*      ERR_LISTSYNTAX       521        dalnet
468         ERR_LISTSYNTAX       521        dalnet
469         ERR_WHOSYNTAX        522        dalnet
470         ERR_WHOLIMEXCEED     523        dalnet */
471 #define ERR_QUARANTINED      524       /* Undernet extension -Vampire */
472 #define ERR_INVALIDKEY       525        /* Undernet extension */
473
474 #define ERR_NOTLOWEROPLEVEL  560        /* Undernet extension */
475 #define ERR_NOTMANAGER       561        /* Undernet extension */
476 #define ERR_CHANSECURED      562        /* Undernet extension */
477 #define ERR_UPASSSET         563        /* Undernet extension */
478 #define ERR_UPASSNOTSET      564        /* Undernet extension */
479 /*      ERR_NOMANAGER_LONG   565        no longer used */
480 #define ERR_NOMANAGER        566        /* Undernet extension */
481 #define ERR_UPASS_SAME_APASS 567        /* Undernet extension */
482 #define ERR_LASTERROR        568
483
484 /*      RPL_LOGON            600        dalnet,unreal
485         RPL_LOGOFF           601        dalnet,unreal
486         RPL_WATCHOFF         602        dalnet,unreal
487         RPL_WATCHSTAT        603        dalnet,unreal
488         RPL_NOWON            604        dalnet,unreal
489         RPL_NOWOFF           605        dalnet,unreal
490         RPL_WATCHLIST        606        dalnet,unreal
491         RPL_ENDOFWATCHLIST   607        dalnet,unreal
492
493         RPL_MAPMORE          610        unreal
494
495         RPL_MAPMORE          615        PTlink
496
497         RPL_DCCSTATUS        617        dalnet
498         RPL_DCCLIST          618        dalnet
499         RPL_ENDOFDCCLIST     619        dalnet
500         RPL_DCCINFO          620        dalnet
501
502         RPL_DUMPING          640        unreal
503         RPL_DUMPRPL          641        unreal
504         RPL_EODUMP           642        unreal
505 */
506 #endif /* INCLUDED_numeric_h */