ekg2
Definicje | Funkcje | Zmienne
Dokumentacja pliku plugins/icq/icq.c
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <ctype.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <ekg/debug.h>
#include <ekg/net.h>
#include <ekg/plugins.h>
#include <ekg/recode.h>
#include <ekg/queries.h>
#include <ekg/protocol.h>
#include <ekg/themes.h>
#include <ekg/windows.h>
#include <ekg/stuff.h>
#include <ekg/vars.h>
#include <ekg/xmalloc.h>
#include <ekg/log.h>
#include <ekg/msgqueue.h>
#include "icq.h"
#include "misc.h"
#include "icq_caps.h"
#include "icq_const.h"
#include "icq_flap_handlers.h"
#include "icq_snac_handlers.h"

Definicje

#define ICQ_HUB_SERVER   "login.icq.com"
#define ICQ_HUB_PORT   5190
#define m_bAvatarsEnabled   0
#define m_bUtfEnabled   1
#define wo_idnhtni(type, str)
#define ICQ_ONLY   SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE
#define ICQ_FLAGS   ICQ_ONLY | SESSION_MUSTBECONNECTED
#define ICQ_FLAGS_TARGET   ICQ_FLAGS | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET
#define ICQ_FLAGS_MSG   ICQ_ONLY | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET

Funkcje

static int icq_theme_init ()
 PLUGIN_DEFINE (icq, PLUGIN_PROTOCOL, icq_theme_init)
int icq_send_pkt (session_t *s, string_t buf)
static int icq_ping (int type, session_t *s)
int icq_write_status_msg (session_t *s)
int icq_write_status (session_t *s)
int icq_write_info (session_t *s)
void icq_set_security (session_t *s)
void icq_session_connected (session_t *s)
static uint32_t icq_get_uid (session_t *s, const char *target)
static int icq_session_init (void *data, va_list ap)
static int icq_session_deinit (void *data, va_list ap)
static int icq_validate_uid (void *data, va_list ap)
static int icq_print_version (void *data, va_list ap)
static int icq_typing_out (void *data, va_list ap)
void icq_handle_disconnect (session_t *s, const char *reason, int type)
static int icq_handle_stream (int type, int fd, watch_type_t watch, session_t *s)
static int icq_handle_connect (int type, int fd, watch_type_t watch, session_t *s)
static int icq_handle_hubresolver (int type, int fd, watch_type_t watch, void *data)
static int icq_command_addssi (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_delssi (const char *name, const char **params, session_t *session, const char *target, int quiet)
static void icq_send_msg_ch1 (session_t *session, const char *uid, const char *message)
static void icq_send_msg_ch2 (session_t *session, const char *uid, const char *message)
static int icq_command_msg (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_inline_msg (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_away (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_connect (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_disconnect (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_reconnect (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_userinfo (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_searchuin (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_search (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_auth (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_rates (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_whoami (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_command_register (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int icq_userlist_info_handle (void *data, va_list ap)
static void icq_changed_our_security (session_t *s, const char *var)
EXPORT int icq_plugin_init (int prio)
static int icq_plugin_destroy ()

Zmienne

static plugins_params_t icq_plugin_vars []
static const char * icq_protocols [] = { "icq:", NULL }
static const status_t icq_statuses []
static struct protocol_plugin_priv icq_priv

Dokumentacja definicji

#define ICQ_FLAGS   ICQ_ONLY | SESSION_MUSTBECONNECTED
#define ICQ_FLAGS_MSG   ICQ_ONLY | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET
#define ICQ_FLAGS_TARGET   ICQ_FLAGS | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET
#define ICQ_HUB_PORT   5190
#define ICQ_HUB_SERVER   "login.icq.com"
#define ICQ_ONLY   SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE
#define m_bAvatarsEnabled   0
#define m_bUtfEnabled   1
#define wo_idnhtni (   type,
  str 
)
Wartość:
{ \
                uint32_t len = xstrlen(str); \
                icq_pack_append(pkt, "www", (uint32_t) type, len+3, len+1); \
                string_append_raw(pkt, (char *) str, len+1); \
        }

Dokumentacja funkcji

static void icq_changed_our_security ( session_t s,
const char *  var 
) [static]
static int icq_command_addssi ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_auth ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_away ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_connect ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_delssi ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_disconnect ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_inline_msg ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_msg ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_rates ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_reconnect ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_register ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_search ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_searchuin ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_userinfo ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int icq_command_whoami ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static uint32_t icq_get_uid ( session_t s,
const char *  target 
) [static]
static int icq_handle_connect ( int  type,
int  fd,
watch_type_t  watch,
session_t s 
) [static]
void icq_handle_disconnect ( session_t s,
const char *  reason,
int  type 
)
static int icq_handle_hubresolver ( int  type,
int  fd,
watch_type_t  watch,
void *  data 
) [static]
static int icq_handle_stream ( int  type,
int  fd,
watch_type_t  watch,
session_t s 
) [static]
static int icq_ping ( int  type,
session_t s 
) [static]
static int icq_plugin_destroy ( ) [static]
EXPORT int icq_plugin_init ( int  prio)
static int icq_print_version ( void *  data,
va_list  ap 
) [static]
static void icq_send_msg_ch1 ( session_t session,
const char *  uid,
const char *  message 
) [static]
static void icq_send_msg_ch2 ( session_t session,
const char *  uid,
const char *  message 
) [static]
int icq_send_pkt ( session_t s,
string_t  buf 
)
void icq_session_connected ( session_t s)
static int icq_session_deinit ( void *  data,
va_list  ap 
) [static]
static int icq_session_init ( void *  data,
va_list  ap 
) [static]
void icq_set_security ( session_t s)
static int icq_theme_init ( ) [static]
static int icq_typing_out ( void *  data,
va_list  ap 
) [static]
static int icq_userlist_info_handle ( void *  data,
va_list  ap 
) [static]
static int icq_validate_uid ( void *  data,
va_list  ap 
) [static]
int icq_write_info ( session_t s)
int icq_write_status ( session_t s)
int icq_write_status_msg ( session_t s)
PLUGIN_DEFINE ( icq  ,
PLUGIN_PROTOCOL  ,
icq_theme_init   
)

Dokumentacja zmiennych

Wartość początkowa:
 {
        PLUGIN_VAR_ADD("alias",                 VAR_STR, NULL, 0, NULL),
        PLUGIN_VAR_ADD("auto_away",             VAR_INT, "600", 0, NULL),
        PLUGIN_VAR_ADD("auto_away_descr",       VAR_STR, 0, 0, NULL),
        PLUGIN_VAR_ADD("auto_back",             VAR_INT, "0", 0, NULL),
        PLUGIN_VAR_ADD("auto_connect",          VAR_BOOL, "0", 0, NULL),
        PLUGIN_VAR_ADD("auto_reconnect",        VAR_INT,  "0", 0, NULL),
        PLUGIN_VAR_ADD("auto_xa",               VAR_INT, "0", 0, NULL),
        PLUGIN_VAR_ADD("auto_xa_descr",         VAR_STR, 0, 0, NULL),
        PLUGIN_VAR_ADD("log_formats",           VAR_STR, "xml,simple,sqlite", 0, NULL),
        PLUGIN_VAR_ADD("password",              VAR_STR, NULL, 1, NULL),
        PLUGIN_VAR_ADD("plaintext_passwd",      VAR_BOOL, "0", 0, NULL),
        PLUGIN_VAR_ADD("server",                VAR_STR, NULL, 0, NULL),

        PLUGIN_VAR_ADD("hide_ip",               VAR_BOOL,  "1", 0, icq_changed_our_security),
        PLUGIN_VAR_ADD("require_auth",          VAR_BOOL,  "1", 0, icq_changed_our_security),
        PLUGIN_VAR_ADD("webaware",              VAR_BOOL,  "0", 0, icq_changed_our_security),


}
struct protocol_plugin_priv icq_priv [static]
Wartość początkowa:
 {
        .protocols      = icq_protocols,
        .statuses       = icq_statuses
}
const char* icq_protocols[] = { "icq:", NULL } [static]
const status_t icq_statuses[] [static]
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje