ekg2
|
#include "ekg2-config.h"
#include <ekg/win32.h>
#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <netdb.h>
#include <sys/time.h>
#include <sys/utsname.h>
#include <pwd.h>
#include <ekg/commands.h>
#include <ekg/debug.h>
#include <ekg/dynstuff.h>
#include <ekg/log.h>
#include <ekg/net.h>
#include <ekg/protocol.h>
#include <ekg/recode.h>
#include <ekg/sessions.h>
#include <ekg/stuff.h>
#include <ekg/themes.h>
#include <ekg/userlist.h>
#include <ekg/vars.h>
#include <ekg/windows.h>
#include <ekg/xmalloc.h>
#include <ekg/queries.h>
#include "irc.h"
#include "people.h"
#include "input.h"
#include "autoacts.h"
#include "IRCVERSION.h"
Definicje | |
#define | __USE_POSIX |
#define | DEFPORT 6667 |
#define | DEFPARTMSG "EKG2 bejbi! http://ekg2.org/" |
#define | DEFQUITMSG "EKG2 - It's better than sex!" |
#define | DEFKICKMSG "EKG2 - Y0U 57iNK2 50 MUCH!" |
#define | SGPARTMSG(x) session_get(x, "PART_MSG") |
#define | SGQUITMSG(x) session_get(x, "QUIT_MSG") |
#define | SGKICKMSG(x) session_get(x, "KICK_MSG") |
#define | PARTMSG(x, r) (r?r: SGPARTMSG(x)?SGPARTMSG(x):DEFPARTMSG) |
#define | QUITMSG(x) (SGQUITMSG(x)?SGQUITMSG(x):DEFQUITMSG) |
#define | KICKMSG(x, r) (r?r: SGKICKMSG(x)?SGKICKMSG(x):DEFKICKMSG) |
#define | getit(x) tmp[x]?tmp[x]:"*" |
#define | plvl(x) itoa(sum[x]) |
#define | params(x) x |
#define | IRC_PLUGIN_VAR_NICKNAME 20 |
#define | IRC_PLUGIN_VAR_REALNAME 24 |
#define | IRC_ONLY SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE |
#define | IRC_FLAGS IRC_ONLY | SESSION_MUSTBECONNECTED |
#define | IRC_FLAGS_TARGET IRC_FLAGS | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET |
Funkcje | |
static int | irc_theme_init () |
static int | irc_handle_resolver (int type, int fd, const char *watch, void *data) |
static int | irc_command_disconnect (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_really_connect (session_t *session) |
static char * | irc_getchan_int (session_t *s, const char *name, int checkchan) |
static char * | irc_getchan (session_t *s, const char **params, const char *name, char ***v, int pr, int checkchan) |
PLUGIN_DEFINE (irc, PLUGIN_PROTOCOL, irc_theme_init) | |
static int | irc_session_init (void *data, va_list ap) |
static | LIST_FREE_ITEM (list_irc_awaylog_free, irc_awaylog_t *) |
static | LIST_FREE_ITEM (list_irc_resolver_free, connector_t *) |
static int | irc_session_deinit (void *data, va_list ap) |
static char * | irc_make_banmask (session_t *session, const char *nick, const char *ident, const char *hostname) |
static int | irc_print_version (void *data, va_list ap) |
static int | irc_setvar_default (void *data, va_list ap) |
static int | irc_resolver_sort (void *s1, void *s2) |
static int | irc_validate_uid (void *data, va_list ap) |
static void | irc_changed_resolve (session_t *s, const char *var) |
out_recodes_t * | irc_find_out_recode (list_t rl, char *encname) |
recoded_channels_t * | irc_find_recode_channel (list_t rcl, char *channame) |
static char * | irc_convert_out (irc_private_t *j, char *recipient, const char *line) |
static void | irc_changed_recode_list (session_t *s, const char *var) |
static void | irc_changed_recode (session_t *s, const char *var) |
static void | irc_changed_auto_guess_encoding (session_t *s, const char *var) |
void | irc_handle_disconnect (session_t *s, const char *reason, int type) |
static int | irc_handle_stream (int type, int fd, const char *watch, session_t *s) |
static int | irc_handle_connect_real (int type, int fd, watch_type_t watch, void *data) |
static int | irc_handle_connect (int type, int fd, watch_type_t watch, void *data) |
static int | irc_build_sin (session_t *s, connector_t *co, struct sockaddr **address) |
static int | irc_command_connect (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_reconnect (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_msg (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_inline_msg (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_quote (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_pipl (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_alist (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_add (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static void | irc_display_awaylog (session_t *session) |
static int | irc_command_away (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static void | irc_statusdescr_handler (session_t *s, const char *varname) |
static int | irc_window_kill (void *data, va_list ap) |
static int | irc_topic_header (void *data, va_list ap) |
static int | irc_command_names (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_topic (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_who (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_invite (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_kick (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_unban (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_ban (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_kickban (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_devop (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_ctcp (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_ping (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_me (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_mode (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_umode (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_whois (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_status_show_handle (void *data, va_list ap) |
static int | irc_command_query (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_jopacy (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_nick (const char *name, const char **params, session_t *session, const char *target, int quiet) |
static int | irc_command_test (const char *name, const char **params, session_t *session, const char *target, int quiet) |
char * | nickpad_string_create (channel_t *chan) |
char * | nickpad_string_apply (channel_t *chan, const char *str) |
char * | nickpad_string_restore (channel_t *chan) |
EXPORT int | irc_plugin_init (int prio) |
static int | irc_plugin_destroy () |
Zmienne | |
static char * | irc_config_default_access_groups |
int | irc_config_experimental_chan_name_clean |
char | fillchars_utf8 [] = "\xC2\xA0" |
char | fillchars_norm [] = "\xA0" |
char * | fillchars = NULL |
int | fillchars_len = 0 |
static plugins_params_t | irc_plugin_vars [] |
static const char * | irc_protocols [] = { "irc:", NULL } |
static const status_t | irc_statuses [] |
static struct protocol_plugin_priv | irc_priv |
#define __USE_POSIX |
#define DEFKICKMSG "EKG2 - Y0U 57iNK2 50 MUCH!" |
#define DEFPARTMSG "EKG2 bejbi! http://ekg2.org/" |
#define DEFPORT 6667 |
#define DEFQUITMSG "EKG2 - It's better than sex!" |
#define getit | ( | x | ) | tmp[x]?tmp[x]:"*" |
#define IRC_FLAGS IRC_ONLY | SESSION_MUSTBECONNECTED |
#define IRC_FLAGS_TARGET IRC_FLAGS | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET |
#define IRC_ONLY SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE |
#define IRC_PLUGIN_VAR_NICKNAME 20 |
#define IRC_PLUGIN_VAR_REALNAME 24 |
#define KICKMSG | ( | x, | |
r | |||
) | (r?r: SGKICKMSG(x)?SGKICKMSG(x):DEFKICKMSG) |
#define params | ( | x | ) | x |
#define PARTMSG | ( | x, | |
r | |||
) | (r?r: SGPARTMSG(x)?SGPARTMSG(x):DEFPARTMSG) |
#define plvl | ( | x | ) | itoa(sum[x]) |
#define QUITMSG | ( | x | ) | (SGQUITMSG(x)?SGQUITMSG(x):DEFQUITMSG) |
#define SGKICKMSG | ( | x | ) | session_get(x, "KICK_MSG") |
#define SGPARTMSG | ( | x | ) | session_get(x, "PART_MSG") |
#define SGQUITMSG | ( | x | ) | session_get(x, "QUIT_MSG") |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
out_recodes_t* irc_find_out_recode | ( | list_t | rl, |
char * | encname | ||
) |
recoded_channels_t* irc_find_recode_channel | ( | list_t | rcl, |
char * | channame | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
EXPORT int irc_plugin_init | ( | int | prio | ) |
|
static |
handler for PLUGIN_PRINT_VERSION query requests
print info about this plugin [Copyright note+version]
|
static |
|
static |
|
static |
Handler for: SESSION_REMOVED
Free memory allocated by irc_private_t if session is irc one.
Save userlist with userlist_write()
ap | 1st param: (char *) session - uid of session |
data | NULL |
|
static |
Handler for: SESSION_ADDED
Init private session struct irc_private_t if session is irc one.
Read saved userlist with userlist_read()
ap | 1st param: (char *) session - uid of session |
data | NULL |
|
static |
|
static |
|
static |
|
static |
handler for IRC_TOPIC query requests
ap | 1st param: (char *) top - place to put: -> topic of current irc channel (if current window is valid irc channel) -> ident@host of current irc user (if current window is known user) |
ap | 2nd param: (char *) setby - place to put: -> topic owner of current irc channel -> realname of current irc user |
ap | 3rd param: (char *) modes - place to put: modes of current irc channel or undefined if not channel |
data | 0 |
|
static |
handler for PROTOCOL_VALIDATE_UID
checks, if uid is proper for irc plugin.
ap | 1st param: (char *) uid - of user/session/command/whatever |
ap | 2nd param: (int) valid - place to put 1 if uid is valid for irc plugin. |
data | NULL |
|
static |
handler for UI_WINDOW_KILL query requests It checks if window which will be destroyed is valid irc channel window, and we are on it now. if yes (and of course if we are connected) it send PART message to irc server, with reason got using PARTMSG macro
ap | 1st param: (window_t *) w - window which will be destroyed |
data | NULL |
|
static |
|
static |
char* nickpad_string_create | ( | channel_t * | chan | ) |
char* nickpad_string_restore | ( | channel_t * | chan | ) |
PLUGIN_DEFINE | ( | irc | , |
PLUGIN_PROTOCOL | , | ||
irc_theme_init | |||
) |
char* fillchars = NULL |
int fillchars_len = 0 |
char fillchars_norm[] = "\xA0" |
char fillchars_utf8[] = "\xC2\xA0" |
|
static |
int irc_config_experimental_chan_name_clean |
|
static |
|
static |
|
static |