49 lines
1.8 KiB
C
49 lines
1.8 KiB
C
#ifndef IRC_FUNCTIONS_H
|
|
#define IRC_FUNCTIONS_H
|
|
|
|
#include "IRC_structs.h"
|
|
#include "defines.h"
|
|
|
|
PUBLIC void IRC_ParseMessage(char* line, irc_message_t *msg);
|
|
PUBLIC void IRC_ProcessMessage(irc_message_t *msg, irc_client_t *irc);
|
|
|
|
// various IRC commands
|
|
PUBLIC void IRC_PRIVMSG(char* to, char* msg, irc_client_t *irc);
|
|
PUBLIC void IRC_NOTICE(char* to, char* msg, irc_client_t *irc);
|
|
PUBLIC void IRC_NICK(char *nick, irc_client_t *irc);
|
|
PUBLIC void IRC_USER(char *ident, char* realname, irc_client_t *irc);
|
|
|
|
PUBLIC void IRC_CTCPSend(char *to, char *cmd, irc_client_t *irc);
|
|
|
|
// registration
|
|
PUBLIC void IRC_SetConnectionParameters(char* host, int port, irc_connection_type_t conntype, irc_client_t *irc);
|
|
PUBLIC void IRC_SetIdentityParameters(char* nickname, char* username, char* realname, irc_client_t *irc);
|
|
PUBLIC void IRC_Register(irc_client_t *irc);
|
|
PUBLIC void IRC_SetSASLParameters(irc_sasl_mechanism_t, char* username, char* password, irc_client_t *irc);
|
|
|
|
PUBLIC void IRC_RequestSASLAuthentication(irc_client_t *irc);
|
|
|
|
// Capability negotiation block
|
|
PUBLIC void IRC_StartCapabilityNegotiation(irc_client_t *irc);
|
|
PUBLIC void IRC_RequestCapabilities(char* caps, irc_client_t *irc);
|
|
PUBLIC void IRC_EndCapabilityNegotiation(irc_client_t *irc);
|
|
|
|
PUBLIC void IRC_NeedCapabilities(char* caps, irc_client_t *irc);
|
|
|
|
PUBLIC int IRC_ParseCapabilities(char* caps, irc_capability_t *capabilities, int capsLength);
|
|
|
|
// raw socket things
|
|
PUBLIC void IRC_Connect(irc_client_t *irc);
|
|
PUBLIC ssize_t IRC_Receive(irc_client_t *irc, char* toBuf, size_t bufSize);
|
|
PUBLIC void IRC_Send(irc_client_t *irc, char* toSend);
|
|
PUBLIC void IRC_Close(irc_client_t *irc);
|
|
|
|
// init
|
|
PUBLIC int IRC_Init(irc_client_t *irc);
|
|
PUBLIC void IRC_Free(irc_client_t *irc);
|
|
|
|
PUBLIC int IRC_PollEvent(irc_event_t *event, irc_client_t *irc);
|
|
|
|
void IRC_PushEvent(irc_event_t *event, irc_client_t *irc);
|
|
|
|
#endif |