#ifndef	_IRC_DEF_H_
#define	_IRC_DEF_H_

#define MAX_IRC_CMD 512

/* normal replies	*/
#define	RPL_TRACELINK		200
#define	RPL_TRACECONNECTING	201
#define	RPL_TRACEHANDSHAKE	202
#define	RPL_TRACEUNKNOWN	203
#define	RPL_TRACEOPERATOR	204
#define	RPL_TRACEUSER		205
#define	RPL_TRACESERVER		206
#define	RPL_TRACENEWTYPE	208
#define	RPL_TRACECLASS		209
#define	RPL_STATSLINKINFO	211
#define	RPL_STATSCOMMANDS	212
#define	RPL_STATSCLINE		213
#define	RPL_STATSNLINE		214
#define	RPL_STATSILINE		215
#define	RPL_STATSKLINE		216
#define	RPL_STATSQLINE		217
#define	RPL_STATSYLINE		218
#define	RPL_ENDOFSTATS		219
#define	RPL_UMODEIS		221
#define	RPL_SERVICEINFO		231
#define	RPL_ENDOFSERVICES	232
#define	RPL_SERVICE		233
#define	RPL_SERVLIST		234
#define	RPL_SERVLISTEND		235
#define	RPL_STATSLLINE		241
#define	RPL_STATSUPTIME		242
#define	RPL_STATSOLINE		243
#define	RPL_STATSHLINE		244
#define	RPL_LUSERCLIENT		251
#define	RPL_LUSEROP		252
#define	RPL_LUSERUNKNOWN	253
#define	RPL_LUSERCHANNELS	254
#define	RPL_LUSERME		255
#define	RPL_ADMINME		256
#define	RPL_ADMINLOC1		257
#define	RPL_ADMINLOC2		258
#define	RPL_ADMINEMAIL		259
#define	RPL_TRACELOG		261
#define	RPL_NONE		300
#define	RPL_AWAY		301
#define	RPL_USERHOST		302
#define	RPL_ISON		303
#define	RPL_UNAWAY		305
#define	RPL_NOWAWAY		306
#define	RPL_WHOISUSER		311
#define	RPL_WHOISSERVER		312
#define	RPL_WHOISOPERATOR	313
#define	RPL_WHOWASUSER		314
#define	RPL_ENDOFWHO		315
#define	RPL_WHOISCHANOP		316
#define	RPL_WHOISIDLE		317
#define	RPL_ENDOFWHOIS		318
#define	RPL_WHOISCHANNELS	319
#define	RPL_LISTSTART		321
#define	RPL_LIST		322
#define	RPL_LISTEND		323
#define	RPL_CHANNELMODEIS	324
#define	RPL_NOTOPIC		331
#define	RPL_TOPIC		332
#define	RPL_INVITING		341
#define	RPL_SUMMONING		342
#define	RPL_VERSION		351
#define	RPL_WHOREPLY		352
#define	RPL_NAMREPLY		353
#define	RPL_KILLDONE		361
#define	RPL_CLOSING		362
#define	RPL_CLOSEEND		363
#define	RPL_LINKS		364
#define	RPL_ENDOFLINKS		365
#define	RPL_ENDOFNAMES		366
#define	RPL_BANLIST		367
#define	RPL_ENDOFBANLIST	368
#define	RPL_ENDOFWHOWAS		369
#define	RPL_INFO		371
#define	RPL_MOTD		372
#define	RPL_INFOSTART		373
#define	RPL_ENDOFINFO		374
#define	RPL_MOTDSTART		375
#define	RPL_ENDOFMOTD		376
#define	RPL_YOUREOPER		381
#define	RPL_REHASHING		382
#define	RPL_MYPORTIS		384
#define	RPL_TIME		391
#define	RPL_USERSSTART		392
#define	RPL_USERS		393
#define	RPL_ENDOFUSERS		394
#define	RPL_NOUSERS		395

/* errors */
#define	ERR_NOSUCHNICK		401
#define	ERR_NOSUCHSERVER	402
#define	ERR_NOSUCHCHANNEL	403
#define	ERR_CANNOTSENDTOCHAN	404
#define	ERR_TOOMANYCHANNELS	405
#define	ERR_WASNOSUCHNICK	406
#define	ERR_TOOMANYTARGETS	407
#define	ERR_NOORIGIN		409
#define	ERR_NORECIPIENT		411
#define	ERR_NOTEXTTOSEND	412
#define	ERR_NOTOPLEVEL		413
#define	ERR_WILDTOPLEVEL	414
#define	ERR_UNKNOWNCOMMAND	421
#define	ERR_NOMOTD		422
#define	ERR_NOADMININFO		423
#define	ERR_FILEERROR		424
#define	ERR_NONICKNAMEGIVEN	431
#define	ERR_ERRONEUSNICKNAME	432
#define	ERR_NICKNAMEINUSE	433
#define	ERR_NICKCOLLISION	436
#define	ERR_USERNOTINCHANNEL	441
#define	ERR_NOTONCHANNEL	442
#define	ERR_USERONCHANNEL	443
#define	ERR_NOLOGIN		444
#define	ERR_SUMMONDISABLED	445
#define	ERR_USERSDISABLED	446
#define	ERR_NOTREGISTERED	451
#define	ERR_NEEDMOREPARAMS	461
#define	ERR_ALREADYREGISTRED	462
#define	ERR_NOPERMFORHOST	463
#define	ERR_PASSWDMISMATCH	464
#define	ERR_YOUREBANNEDCREEP	465
#define	ERR_YOUWILLBEBANNED	466
#define	ERR_KEYSET		467
#define	ERR_CHANNELISFULL	471
#define	ERR_UNKNOWNMODE		472
#define	ERR_INVITEONLYCHAN	473
#define	ERR_BANNEDFROMCHAN	474
#define	ERR_BADCHANNELKEY	475
#define	ERR_BADCHANMASK		476
#define	ERR_NOPRIVILEGES	481
#define	ERR_CHANOPRIVSNEEDED	482
#define	ERR_CANTKILLSERVER	483
#define	ERR_NOOPERHOST		491
#define	ERR_NOSERVICEHOST	492
#define	ERR_UMODEUNKNOWNFLAG	501
#define	ERR_USERSDONTMATCH	502

#define	C_RPL_TRACELINK		"200"
#define	C_RPL_TRACECONNECTING	"201"
#define	C_RPL_TRACEHANDSHAKE	"202"
#define	C_RPL_TRACEUNKNOWN	"203"
#define	C_RPL_TRACEOPERATOR	"204"
#define	C_RPL_TRACEUSER		"205"
#define	C_RPL_TRACESERVER	"206"
#define	C_RPL_TRACENEWTYPE	"208"
#define	C_RPL_TRACECLASS	"209"
#define	C_RPL_STATSLINKINFO	"211"
#define	C_RPL_STATSCOMMANDS	"212"
#define	C_RPL_STATSCLINE	"213"
#define	C_RPL_STATSNLINE	"214"
#define	C_RPL_STATSILINE	"215"
#define	C_RPL_STATSKLINE	"216"
#define	C_RPL_STATSQLINE	"217"
#define	C_RPL_STATSYLINE	"218"
#define	C_RPL_ENDOFSTATS	"219"
#define	C_RPL_UMODEIS		"221"
#define	C_RPL_SERVICEINFO	"231"
#define	C_RPL_ENDOFSERVICES	"232"
#define	C_RPL_SERVICE		"233"
#define	C_RPL_SERVLIST		"234"
#define	C_RPL_SERVLISTEND	"235"
#define	C_RPL_STATSLLINE	"241"
#define	C_RPL_STATSUPTIME	"242"
#define	C_RPL_STATSOLINE	"243"
#define	C_RPL_STATSHLINE	"244"
#define	C_RPL_LUSERCLIENT	"251"
#define	C_RPL_LUSEROP		"252"
#define	C_RPL_LUSERUNKNOWN	"253"
#define	C_RPL_LUSERCHANNELS	"254"
#define	C_RPL_LUSERME		"255"
#define	C_RPL_ADMINME		"256"
#define	C_RPL_ADMINLOC1		"257"
#define	C_RPL_ADMINLOC2		"258"
#define	C_RPL_ADMINEMAIL	"259"
#define	C_RPL_TRACELOG		"261"
#define	C_RPL_NONE		"300"
#define	C_RPL_AWAY		"301"
#define	C_RPL_USERHOST		"302"
#define	C_RPL_ISON		"303"
#define	C_RPL_UNAWAY		"305"
#define	C_RPL_NOWAWAY		"306"
#define	C_RPL_WHOISUSER		"311"
#define	C_RPL_WHOISSERVER	"312"
#define	C_RPL_WHOISOPERATOR	"313"
#define	C_RPL_WHOWASUSER	"314"
#define	C_RPL_ENDOFWHO		"315"
#define	C_RPL_WHOISCHANOP	"316"
#define	C_RPL_WHOISIDLE		"317"
#define	C_RPL_ENDOFWHOIS	"318"
#define	C_RPL_WHOISCHANNELS	"319"
#define	C_RPL_LISTSTART		"321"
#define	C_RPL_LIST		"322"
#define	C_RPL_LISTEND		"323"
#define	C_RPL_CHANNELMODEIS	"324"
#define	C_RPL_NOTOPIC		"331"
#define	C_RPL_TOPIC		"332"
#define	C_RPL_INVITING		"341"
#define	C_RPL_SUMMONING		"342"
#define	C_RPL_VERSION		"351"
#define	C_RPL_WHOREPLY		"352"
#define	C_RPL_NAMREPLY		"353"
#define	C_RPL_KILLDONE		"361"
#define	C_RPL_CLOSING		"362"
#define	C_RPL_CLOSEEND		"363"
#define	C_RPL_LINKS		"364"
#define	C_RPL_ENDOFLINKS	"365"
#define	C_RPL_ENDOFNAMES	"366"
#define	C_RPL_BANLIST		"367"
#define	C_RPL_ENDOFBANLIST	"368"
#define	C_RPL_ENDOFWHOWAS	"369"
#define	C_RPL_INFO		"371"
#define	C_RPL_MOTD		"372"
#define	C_RPL_INFOSTART		"373"
#define	C_RPL_ENDOFINFO		"374"
#define	C_RPL_MOTDSTART		"375"
#define	C_RPL_ENDOFMOTD		"376"
#define	C_RPL_YOUREOPER		"381"
#define	C_RPL_REHASHING		"382"
#define	C_RPL_MYPORTIS		"384"
#define	C_RPL_TIME		"391"
#define	C_RPL_USERSSTART	"392"
#define	C_RPL_USERS		"393"
#define	C_RPL_ENDOFUSERS	"394"
#define	C_RPL_NOUSERS		"395"

#define	C_ERR_NOSUCHNICK	"401"
#define	C_ERR_NOSUCHSERVER	"402"
#define	C_ERR_NOSUCHCHANNEL	"403"
#define	C_ERR_CANNOTSENDTOCHAN	"404"
#define	C_ERR_TOOMANYCHANNELS	"405"
#define	C_ERR_WASNOSUCHNICK	"406"
#define	C_ERR_TOOMANYTARGETS	"407"
#define	C_ERR_NOORIGIN		"409"
#define	C_ERR_NORECIPIENT	"411"
#define	C_ERR_NOTEXTTOSEND	"412"
#define	C_ERR_NOTOPLEVEL	"413"
#define	C_ERR_WILDTOPLEVEL	"414"
#define	C_ERR_UNKNOWNCOMMAND	"421"
#define	C_ERR_NOMOTD		"422"
#define	C_ERR_NOADMININFO	"423"
#define	C_ERR_FILEERROR		"424"
#define	C_ERR_NONICKNAMEGIVEN	"431"
#define	C_ERR_ERRONEUSNICKNAME	"432"
#define	C_ERR_NICKNAMEINUSE	"433"
#define	C_ERR_NICKCOLLISION	"436"
#define	C_ERR_USERNOTINCHANNEL	"441"
#define	C_ERR_NOTONCHANNEL	"442"
#define	C_ERR_USERONCHANNEL	"443"
#define	C_ERR_NOLOGIN		"444"
#define	C_ERR_SUMMONDISABLED	"445"
#define	C_ERR_USERSDISABLED	"446"
#define	C_ERR_NOTREGISTERED	"451"
#define	C_ERR_NEEDMOREPARAMS	"461"
#define	C_ERR_ALREADYREGISTRED	"462"
#define	C_ERR_NOPERMFORHOST	"463"
#define	C_ERR_PASSWDMISMATCH	"464"
#define	C_ERR_YOUREBANNEDCREEP	"465"
#define	C_ERR_YOUWILLBEBANNED	"466"
#define	C_ERR_KEYSET		"467"
#define	C_ERR_CHANNELISFULL	"471"
#define	C_ERR_UNKNOWNMODE	"472"
#define	C_ERR_INVITEONLYCHAN	"473"
#define	C_ERR_BANNEDFROMCHAN	"474"
#define	C_ERR_BADCHANNELKEY	"475"
#define	C_ERR_BADCHANMASK	"476"
#define	C_ERR_NOPRIVILEGES	"481"
#define	C_ERR_CHANOPRIVSNEEDED	"482"
#define	C_ERR_CANTKILLSERVER	"483"
#define	C_ERR_NOOPERHOST	"491"
#define	C_ERR_NOSERVICEHOST	"492"
#define	C_ERR_UMODEUNKNOWNFLAG	"501"
#define	C_ERR_USERSDONTMATCH	"502"

#endif
