#ifndef _IRC_CONSTANTS_H #define _IRC_CONSTANTS_H enum UserRole { ROOM_MEMBER = 0, ROOM_HALFOP = 1, ROOM_OPERATOR = 2, IRC_OPERATOR = 3 }; // Formatting information from https://modern.ircdocs.horse/formatting.html #define FORMAT_BOLD 0x02 #define FORMAT_COLOR 0x03 #define FORMAT_RESET 0x0f #define FORMAT_REVERSE 0x16 #define FORMAT_ITALIC 0x1d #define FORMAT_STRIKEOUT 0x1e #define FORMAT_UNDERSCORE 0x1f #define FORMAT_COLOR_COUNT 99 #define FORMAT_COLORS { 0xFFFFFF, 0x000000, 0x00007F, 0x009300, \ 0xFF0000, 0x7F0000, 0x9C009C, 0xFC7F00, 0xFFFF00, 0x00FC00, 0x009393, \ 0x00FFFF, 0x0000FC, 0xFF00FF, 0x7F7F7F, 0xD2D2D2, \ 0x470000, 0x472100, 0x474700, 0x324700, 0x004700, 0x00472c, 0x004747, \ 0x002747, 0x000047, 0x2e0047, 0x470047, 0x47002a, 0x740000, 0x743a00, \ 0x747400, 0x517400, 0x007400, 0x007449, 0x007474, 0x004074, 0x000074, \ 0x4b0074, 0x740074, 0x740045, 0xb50000, 0xb56300, 0xb5b500, 0x7db500, \ 0x00b500, 0x00b571, 0x00b5b5, 0x0063b5, 0x0000b5, 0x7500b5, 0xb500b5, \ 0xb5006b, 0xff0000, 0xff8c00, 0xffff00, 0xb2ff00, 0x00ff00, 0x00ffa0, \ 0x00ffff, 0x008cff, 0x0000ff, 0xa500ff, 0xff00ff, 0xff0098, 0xff5959, \ 0xffb459, 0xffff71, 0xcfff60, 0x6fff6f, 0x65ffc9, 0x6dffff, 0x59b4ff, \ 0x5959ff, 0xc459ff, 0xff66ff, 0xff59bc, 0xff9c9c, 0xffd39c, 0xffff9c, \ 0xe2ff9c, 0x9cff9c, 0x9cffdb, 0x9cffff, 0x9cd3ff, 0x9c9cff, 0xdc9cff, \ 0xff9cff, 0xff94d3, 0x000000, 0x131313, 0x282828, 0x363636, 0x4d4d4d, \ 0x656565, 0x818181, 0x9f9f9f, 0xbcbcbc, 0xe2e2e2, 0xffffff }; // From RFC 2812 #define RPL_WELCOME 1 #define RPL_WHOISUSER 311 #define RPL_ENDOFWHO 315 #define RPL_ENDOFWHOIS 318 #define RPL_LIST 322 #define RPL_LISTEND 323 #define RPL_TOPIC 332 #define RPL_WHOREPLY 352 #define RPL_NAMREPLY 353 #define RPL_MOTD 372 #define RPL_MOTDSTART 375 #define RPL_ENDOFMOTD 376 #define ERR_NONICKNAMEGIVEN 431 #define ERR_ERRONEUSNICKNAME 432 #define ERR_NICKNAMEINUSE 433 #endif // _IRC_CONSTANTS_H