This repository has been archived on 2021-04-17. You can view files and clone it, but cannot push or open issues or pull requests.
uIRC/include/uirc/command.h

230 lines
4.8 KiB
C

/*
* 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 <https://www.gnu.org/licenses/>.
*/
/*! \file */
#include <stdint.h> // 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 */