Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

libircclient.h File Reference

This file defines all prototypes and functions to use libircclient. More...

#include <sys/select.h>
#include <netinet/in.h>
#include "libirc_errors.h"
#include "libirc_events.h"
#include "libirc_options.h"

Typedefs

typedef irc_session_s irc_session_t
 A libircclient IRC session.

typedef 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_tirc_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.

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.


Detailed Description

This file defines all prototypes and functions to use libircclient.

Author:
Georgy Yunaev
Version:
1.0
Date:
09.2004 libircclient is a small but powerful library, which implements client-server IRC protocol. It is designed to be small, fast, portable and compatible to RFC standards, and most IRC clients. libircclient features include:
Note that to use libircclient, only libircclient.h should be included into your program. Do not include other libirc_* headers.


Typedef Documentation

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.


Generated on Tue Aug 29 12:13:30 2006 for libircclient by doxygen1.2.18