/* LICENSE: WTFPL Simple libary for working with ipv4 irc servers Dont support: ssl ddc ipv6 motd */ #include #include #include #include #include #include #include #include #include #define IRCC_MSG_MAX 512 #define IRCC_PING_TIMEOUT 600 enum { IRCC_NICK = 1, IRCC_PRIVMSG, IRCC_JOIN, IRCC_PART, IRCC_PING, IRCC_TOPIC, IRCC_MODE, IRCC_CONNECTED, IRCC_DISCONNECTED, IRCC_ERROR, IRCC_SUCCESS }; typedef struct { int socket; char raw[IRCC_MSG_MAX + 1]; char *msg; char *channel; char *nick; } IRCC_client; int IRCC_connect(IRCC_client *irc, const char *ip, const unsigned int port); int IRCC_recv(IRCC_client *irc); int IRCC_join(IRCC_client *irc, const char *channel, const char *key); int IRCC_send(IRCC_client *irc, const char *msg, const char *channel); int IRCC_register(IRCC_client *irc, const char *nickname); int IRCC_init(IRCC_client *irc); void IRCC_close(IRCC_client *irc);