#include <sys/select.h>
#include "libirc_errors.h"
#include "libirc_rfcnumeric.h"
#include "libirc_events.h"
#include "libirc_options.h"
Typedefs | |
typedef struct irc_session_s | irc_session_t |
A libircclient IRC session. | |
typedef struct irc_dcc_session_s | irc_dcc_session_t |
A libircclient DCC session. | |
typedef unsigned int | irc_dcc_t |
A DCC session identifier. | |
typedef void(* | irc_dcc_callback_t )(irc_session_t *session, irc_dcc_t id, int status, void *ctx, const char *data, unsigned int length) |
A common DCC callback, used to inform you about the current DCC state or event. | |
Functions | |
irc_session_t * | irc_create_session (irc_callbacks_t *callbacks) |
Creates and initiates a new IRC session. | |
void | irc_destroy_session (irc_session_t *session) |
Destroys previously created IRC session. | |
int | irc_connect (irc_session_t *session, const char *server, unsigned short port, const char *server_password, const char *nick, const char *username, const char *realname) |
Initiates a connection to IRC server. | |
int | irc_connect6 (irc_session_t *session, const char *server, unsigned short port, const char *server_password, const char *nick, const char *username, const char *realname) |
Initiates a connection to IRC server using IPv6. | |
void | irc_disconnect (irc_session_t *session) |
Disconnects a connection to IRC server. | |
int | irc_is_connected (irc_session_t *session) |
Checks whether the session is connecting/connected to the IRC server. | |
int | irc_run (irc_session_t *session) |
Goes into forever-loop, processing IRC events and generating callbacks. | |
int | irc_add_select_descriptors (irc_session_t *session, fd_set *in_set, fd_set *out_set, int *maxfd) |
Adds IRC socket(s) for the descriptor set to use in select(). | |
int | irc_process_select_descriptors (irc_session_t *session, fd_set *in_set, fd_set *out_set) |
Processes the IRC socket(s), which descriptor(s) are set. | |
int | irc_send_raw (irc_session_t *session, const char *format,...) |
Sends raw data to the IRC server. | |
int | irc_cmd_quit (irc_session_t *session, const char *reason) |
Sends QUIT command to the IRC server. | |
int | irc_cmd_join (irc_session_t *session, const char *channel, const char *key) |
Joins the new IRC channel. | |
int | irc_cmd_part (irc_session_t *session, const char *channel) |
Leaves the IRC channel. | |
int | irc_cmd_invite (irc_session_t *session, const char *nick, const char *channel) |
Invites a user to invite-only channel. | |
int | irc_cmd_names (irc_session_t *session, const char *channel) |
Obtains a list of users who're in channel. | |
int | irc_cmd_list (irc_session_t *session, const char *channel) |
Obtains a list of active server channels with their topics. | |
int | irc_cmd_topic (irc_session_t *session, const char *channel, const char *topic) |
Views or changes the channel topic. | |
int | irc_cmd_channel_mode (irc_session_t *session, const char *channel, const char *mode) |
Views or changes the channel mode. | |
int | irc_cmd_user_mode (irc_session_t *session, const char *mode) |
Views or changes your own user mode. | |
int | irc_cmd_nick (irc_session_t *session, const char *newnick) |
Changes your nick. | |
int | irc_cmd_whois (irc_session_t *session, const char *nick) |
Queries the information about the nick. | |
int | irc_cmd_msg (irc_session_t *session, const char *nch, const char *text) |
Sends the message to the nick or to the channel. | |
int | irc_cmd_me (irc_session_t *session, const char *nch, const char *text) |
Sends the /me (CTCP ACTION) message to the nick or to the channel. | |
int | irc_cmd_notice (irc_session_t *session, const char *nch, const char *text) |
Sends the notice to the nick or to the channel. | |
int | irc_cmd_kick (irc_session_t *session, const char *nick, const char *channel, const char *reason) |
Kick some lazy ass out of channel. | |
int | irc_cmd_ctcp_request (irc_session_t *session, const char *nick, const char *request) |
Generates a CTCP request. | |
int | irc_cmd_ctcp_reply (irc_session_t *session, const char *nick, const char *reply) |
Generates a reply to the CTCP request. | |
void | irc_target_get_nick (const char *target, char *nick, size_t size) |
Gets the nick part from the target. | |
void | irc_target_get_host (const char *target, char *nick, size_t size) |
Gets the host part from the target. | |
int | irc_dcc_chat (irc_session_t *session, void *ctx, const char *nick, irc_dcc_callback_t callback, irc_dcc_t *dccid) |
Initiates a DCC CHAT. | |
int | irc_dcc_msg (irc_session_t *session, irc_dcc_t dccid, const char *text) |
Sends the message to the specific DCC CHAT. | |
int | irc_dcc_accept (irc_session_t *session, irc_dcc_t dccid, void *ctx, irc_dcc_callback_t callback) |
Accepts a remote DCC CHAT or DCC RECVFILE request. | |
int | irc_dcc_decline (irc_session_t *session, irc_dcc_t dccid) |
Declines a remote DCC CHAT or DCC RECVFILE request. | |
int | irc_dcc_sendfile (irc_session_t *session, void *ctx, const char *nick, const char *filename, irc_dcc_callback_t callback, irc_dcc_t *dccid) |
Sends a file via DCC. | |
int | irc_dcc_destroy (irc_session_t *session, irc_dcc_t dccid) |
Destroys a DCC session. | |
void | irc_get_version (unsigned int *high, unsigned int *low) |
Obtains a libircclient version. | |
void | irc_set_ctx (irc_session_t *session, void *ctx) |
Sets the IRC session context. | |
void * | irc_get_ctx (irc_session_t *session) |
Returns the IRC session context. | |
int | irc_errno (irc_session_t *session) |
Returns the last error code. | |
const char * | irc_strerror (int ircerrno) |
Returns the text error message associated with this error code. | |
void | irc_option_set (irc_session_t *session, unsigned int option) |
Sets the libircclient option. | |
void | irc_option_reset (irc_session_t *session, unsigned int option) |
Resets the libircclient option. | |
char * | irc_color_strip_from_mirc (const char *message) |
Removes all the color codes and format options. | |
char * | irc_color_convert_from_mirc (const char *message) |
Converts all the color codes and format options to libircclient colors. | |
char * | irc_color_convert_to_mirc (const char *message) |
Converts all the color codes from libircclient format to mIRC. |
typedef struct irc_dcc_session_s irc_dcc_session_t |
A libircclient DCC session.
This structure describes a DCC session used by libircclient. Its members are internal to libircclient, and should not be used directly.
typedef unsigned int irc_dcc_t |
A DCC session identifier.
The irc_dcc_t type is a DCC session identifier, used to identify the DCC sessions in callbacks and various functions.
typedef struct irc_session_s irc_session_t |
A libircclient IRC session.
This structure describes an IRC session. Its members are internal to libircclient, and should not be used directly.