/* * This file is part of uIRC. (https://git.redxen.eu/caskd/uIRC) * Copyright (c) 2019-2021 Alex-David Denes * * uIRC 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 3 of the License, or * any later version. * * uIRC 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 uIRC. If not, see . */ /*! \file */ #include // uint_least16_t #ifndef UIRC_GUARD_PUBLIC_COMMANDS #define UIRC_GUARD_PUBLIC_COMMANDS enum uirc_table_command { IRC_CMD_PASS, IRC_CMD_NICK, IRC_CMD_USER, IRC_CMD_OPER, IRC_CMD_MODE, IRC_CMD_SERVICE, IRC_CMD_QUIT, IRC_CMD_SQUIT, IRC_CMD_JOIN, IRC_CMD_PART, IRC_CMD_TOPIC, IRC_CMD_NAMES, IRC_CMD_LIST, IRC_CMD_INVITE, IRC_CMD_KICK, IRC_CMD_PRIVMSG, IRC_CMD_NOTICE, IRC_CMD_MOTD, IRC_CMD_LUSERS, IRC_CMD_VERSION, IRC_CMD_STATS, IRC_CMD_LINKS, IRC_CMD_TIME, IRC_CMD_CONNECT, IRC_CMD_TRACE, IRC_CMD_ADMIN, IRC_CMD_INFO, IRC_CMD_SERVLIST, IRC_CMD_SQUERY, IRC_CMD_WHO, IRC_CMD_WHOIS, IRC_CMD_WHOWAS, IRC_CMD_KILL, IRC_CMD_PING, IRC_CMD_PONG, IRC_CMD_ERROR, IRC_CMD_AWAY, IRC_CMD_REHASH, IRC_CMD_DIE, IRC_CMD_RESTART, IRC_CMD_SUMMON, IRC_CMD_USERS, IRC_CMD_WALLOPS, IRC_CMD_USERHOST, IRC_CMD_ISON, }; const char* IRC_CMD(enum uirc_table_command cmd); enum uirc_table_replies { IRC_RPL_WELCOME, IRC_RPL_YOURHOST, IRC_RPL_CREATED, IRC_RPL_MYINFO, IRC_RPL_BOUNCE, #ifdef UIRC_FEATURE_IRCV3 IRC_RPL_ISUPPORT, #endif /* UIRC_FEATURE_IRCV3 */ IRC_RPL_TRACELINK, IRC_RPL_TRACECONNECTING, IRC_RPL_TRACEHANDSHAKE, IRC_RPL_TRACEUNKNOWN, IRC_RPL_TRACEOPERATOR, IRC_RPL_TRACEUSER, IRC_RPL_TRACESERVER, IRC_RPL_TRACENEWTYPE, IRC_RPL_STATSLINKINFO, IRC_RPL_STATSCOMMANDS, IRC_RPL_STATSCLINE, IRC_RPL_STATSNLINE, IRC_RPL_STATSILINE, IRC_RPL_STATSKLINE, IRC_RPL_STATSYLINE, IRC_RPL_ENDOFSTATS, IRC_RPL_UMODEIS, IRC_RPL_STATSLLINE, IRC_RPL_STATSUPTIME, IRC_RPL_STATSOLINE, IRC_RPL_STATSHLINE, IRC_RPL_LUSERCLIENT, IRC_RPL_LUSEROP, IRC_RPL_LUSERUNKNOWN, IRC_RPL_LUSERCHANNELS, IRC_RPL_LUSERME, IRC_RPL_ADMINME, IRC_RPL_ADMINLOC1, IRC_RPL_ADMINLOC2, IRC_RPL_ADMINEMAIL, IRC_RPL_TRACELOG, IRC_RPL_NONE, IRC_RPL_AWAY, IRC_RPL_USERHOST, IRC_RPL_ISON, IRC_RPL_UNAWAY, IRC_RPL_NOWAWAY, IRC_RPL_WHOISUSER, IRC_RPL_WHOISSERVER, IRC_RPL_WHOISOPERATOR, IRC_RPL_WHOWASUSER, IRC_RPL_ENDOFWHO, IRC_RPL_WHOISIDLE, IRC_RPL_ENDOFWHOIS, IRC_RPL_WHOISCHANNELS, IRC_RPL_LISTSTART, IRC_RPL_LIST, IRC_RPL_LISTEND, IRC_RPL_CHANNELMODEIS, IRC_RPL_NOTOPIC, IRC_RPL_TOPIC, IRC_RPL_INVITING, IRC_RPL_SUMMONING, IRC_RPL_VERSION, IRC_RPL_WHOREPLY, IRC_RPL_NAMREPLY, IRC_RPL_LINKS, IRC_RPL_ENDOFLINKS, IRC_RPL_ENDOFNAMES, IRC_RPL_BANLIST, IRC_RPL_ENDOFBANLIST, IRC_RPL_ENDOFWHOWAS, IRC_RPL_INFO, IRC_RPL_MOTD, IRC_RPL_ENDOFINFO, IRC_RPL_MOTDSTART, IRC_RPL_ENDOFMOTD, IRC_RPL_YOUREOPER, IRC_RPL_REHASHING, IRC_RPL_TIME, IRC_RPL_USERSSTART, IRC_RPL_USERS, IRC_RPL_ENDOFUSERS, IRC_RPL_NOUSERS, IRC_ERR_NOSUCHNICK, IRC_ERR_NOSUCHSERVER, IRC_ERR_NOSUCHCHANNEL, IRC_ERR_CANNOTSENDTOCHAN, IRC_ERR_TOOMANYCHANNELS, IRC_ERR_WASNOSUCHNICK, IRC_ERR_TOOMANYTARGETS, IRC_ERR_NOORIGIN, IRC_ERR_NORECIPIENT, IRC_ERR_NOTEXTTOSEND, IRC_ERR_NOTOPLEVEL, IRC_ERR_WILDTOPLEVEL, IRC_ERR_UNKNOWNCOMMAND, IRC_ERR_NOMOTD, IRC_ERR_NOADMININFO, IRC_ERR_FILEIRC_ERROR, IRC_ERR_NONICKNAMEGIVEN, IRC_ERR_IRC_ERRONEUSNICKNAME, IRC_ERR_NICKNAMEINUSE, IRC_ERR_NICKCOLLISION, IRC_ERR_USERNOTINCHANNEL, IRC_ERR_NOTONCHANNEL, IRC_ERR_USERONCHANNEL, IRC_ERR_NOLOGIN, IRC_ERR_SUMMONDISABLED, IRC_ERR_USERSDISABLED, IRC_ERR_NOTREGISTERED, IRC_ERR_NEEDMOREPARAMS, IRC_ERR_ALREADYREGISTRED, IRC_ERR_NOPERMFORHOST, IRC_ERR_PASSWDMISMATCH, IRC_ERR_YOUREBANNEDCREEP, IRC_ERR_KEYSET, IRC_ERR_CHANNELISFULL, IRC_ERR_UNKNOWNMODE, IRC_ERR_INVITEONLYCHAN, IRC_ERR_BANNEDFROMCHAN, IRC_ERR_BADCHANNELKEY, IRC_ERR_NOPRIVILEGES, IRC_ERR_CHANOPRIVSNEEDED, IRC_ERR_CANTKILLSERVER, IRC_ERR_NOOPERHOST, IRC_ERR_UMODEUNKNOWNFLAG, IRC_ERR_USERSDONTMATCH, #ifdef UIRC_FEATURE_IRCV3 IRC_RPL_STARTTLS, IRC_ERR_STARTTLS, IRC_RPL_MONONLINE, IRC_RPL_MONOFFLINE, IRC_RPL_MONLIST, IRC_RPL_ENDOFMONLIST, IRC_ERR_MOLISTFULL, IRC_RPL_LOGGEDIN, IRC_RPL_LOGGEDOUT, IRC_ERR_NICKLOCKED, IRC_RPL_SASLSUCCESS, IRC_ERR_SASLFAIL, IRC_ERR_SASLTOOLONG, IRC_ERR_SASLABORTED, IRC_ERR_SASLALREADY, IRC_ERR_SASLMECHS, #endif /* UIRC_FEATURE_IRCV3 */ }; uint_least16_t IRC_RPL(enum uirc_table_replies rpl); const char* IRC_RPL_STR(enum uirc_table_replies rpl); #endif /* UIRC_GUARD_PUBLIC_COMMANDS */