Struktury danych | Definicje | Funkcje | Zmienne

Dokumentacja pliku plugins/rivchat/rivchat.c

#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pwd.h>
#include <sys/utsname.h>
#include <ekg/commands.h>
#include <ekg/debug.h>
#include <ekg/dynstuff.h>
#include <ekg/plugins.h>
#include <ekg/protocol.h>
#include <ekg/recode.h>
#include <ekg/sessions.h>
#include <ekg/stuff.h>
#include <ekg/themes.h>
#include <ekg/queries.h>
#include <ekg/userlist.h>
#include <ekg/vars.h>
#include <ekg/windows.h>
#include <ekg/xmalloc.h>
#include "compat/strlcpy.h"
#include "rivchat.h"

Struktury danych

struct  rivchat_private_t
struct  rivchat_userlist_private_t
struct  rivchat_place_t

Definicje

#define _BSD_SOURCE   1
#define DEFQUITMSG   "EKG2 - It's better than sex!"
#define SGQUITMSG(x)   session_get(x, "QUIT_MSG")
#define QUITMSG(x)   (SGQUITMSG(x)?SGQUITMSG(x):DEFQUITMSG)
#define rivchat_fix32(x)   x
#define rivchat_userlist_priv_get(u)   ((rivchat_userlist_private_t *) userlist_private_get(&rivchat_plugin, u))
#define MAX_BYTES_PER_LINE   16
#define RIVCHAT_VAR_HOSTNAME   3
#define RIVCHAT_VAR_NICKNAME   5
#define RIVCHAT_VAR_USERNAME   7
#define RIVCHAT_ONLY   SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE
#define RIVCHAT_FLAGS   RIVCHAT_ONLY | SESSION_MUSTBECONNECTED

Funkcje

static int rivchat_theme_init ()
 PLUGIN_DEFINE (rivchat, PLUGIN_PROTOCOL, rivchat_theme_init)
static int rivchat_send_packet (session_t *s, uint32_t type, userlist_t *user, const char *buf, size_t buflen)
static int rivchat_send_packet_string (session_t *s, uint32_t type, userlist_t *user, const char *str)
static int rivchat_validate_uid (void *data, va_list ap)
static int rivchat_session_init (void *data, va_list ap)
static int rivchat_session_deinit (void *data, va_list ap)
static int rivchat_print_version (void *data, va_list ap)
static int rivchat_userlist_info_handle (void *data, va_list ap)
static int rivchat_userlist_priv_handler (void *data, va_list ap)
static int rivchat_topic_header (void *data, va_list ap)
static void rivchat_print_payload (unsigned char *payload, size_t len)
static char * rivchat_packet_name (int type)
static char * rivchat_make_window (unsigned int port)
static char * rivchat_make_formatname (int type, int is_our, int is_priv)
static userlist_trivchat_find_user (session_t *s, const char *target)
static void rivchat_dcc_close (struct dcc_s *dcc)
static void memncpy (char *dest, const char *src, size_t len)
static char * rivchat_generate_data (session_t *s)
static void rivchat_parse_packet (session_t *s, rivchat_header_t *_hdr, const char *ip)
static int rivchat_handle_stream (int type, int fd, watch_type_t watch, session_t *s)
static int rivchat_pingpong (int type, session_t *s)
static int rivchat_command_connect (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_disconnect (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_reconnect (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_inline_msg (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_me (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_nick (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_topic (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_command_dcc (const char *name, const char **params, session_t *session, const char *target, int quiet)
static int rivchat_places_sort (rivchat_place_t *data1, rivchat_place_t *data2)
static int rivchat_command_places (const char *name, const char **params, session_t *session, const char *target, int quiet)
static void rivchat_changed_nick (session_t *s, const char *var)
static void rivchat_notify_reconnect (session_t *s, const char *var)
static void rivchat_resend_ping (session_t *s, const char *var)
EXPORT int rivchat_plugin_init (int prio)
static int rivchat_plugin_destroy ()

Zmienne

static plugins_params_t rivchat_plugin_vars []

Dokumentacja definicji

#define _BSD_SOURCE   1
#define DEFQUITMSG   "EKG2 - It's better than sex!"
#define MAX_BYTES_PER_LINE   16
#define QUITMSG (   x  )     (SGQUITMSG(x)?SGQUITMSG(x):DEFQUITMSG)
#define rivchat_fix32 (   x  )     x
#define RIVCHAT_FLAGS   RIVCHAT_ONLY | SESSION_MUSTBECONNECTED
#define RIVCHAT_ONLY   SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE
#define rivchat_userlist_priv_get (   u  )     ((rivchat_userlist_private_t *) userlist_private_get(&rivchat_plugin, u))
#define RIVCHAT_VAR_HOSTNAME   3
#define RIVCHAT_VAR_NICKNAME   5
#define RIVCHAT_VAR_USERNAME   7
#define SGQUITMSG (   x  )     session_get(x, "QUIT_MSG")

Dokumentacja funkcji

static void memncpy ( char *  dest,
const char *  src,
size_t  len 
) [static]
PLUGIN_DEFINE ( rivchat  ,
PLUGIN_PROTOCOL  ,
rivchat_theme_init   
)
static void rivchat_changed_nick ( session_t s,
const char *  var 
) [static]
static int rivchat_command_connect ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_dcc ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_disconnect ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_inline_msg ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_me ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_nick ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_places ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_reconnect ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static int rivchat_command_topic ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
) [static]
static void rivchat_dcc_close ( struct dcc_s dcc  )  [static]
static userlist_t* rivchat_find_user ( session_t s,
const char *  target 
) [static]
static char* rivchat_generate_data ( session_t s  )  [static]
static int rivchat_handle_stream ( int  type,
int  fd,
watch_type_t  watch,
session_t s 
) [static]
static char* rivchat_make_formatname ( int  type,
int  is_our,
int  is_priv 
) [static]
static char* rivchat_make_window ( unsigned int  port  )  [static]
static void rivchat_notify_reconnect ( session_t s,
const char *  var 
) [static]
static char* rivchat_packet_name ( int  type  )  [static]
static void rivchat_parse_packet ( session_t s,
rivchat_header_t *  _hdr,
const char *  ip 
) [static]
static int rivchat_pingpong ( int  type,
session_t s 
) [static]
static int rivchat_places_sort ( rivchat_place_t data1,
rivchat_place_t data2 
) [static]
static int rivchat_plugin_destroy (  )  [static]
EXPORT int rivchat_plugin_init ( int  prio  ) 
static void rivchat_print_payload ( unsigned char *  payload,
size_t  len 
) [static]
static int rivchat_print_version ( void *  data,
va_list  ap 
) [static]
static void rivchat_resend_ping ( session_t s,
const char *  var 
) [static]
static int rivchat_send_packet ( session_t s,
uint32_t  type,
userlist_t user,
const char *  buf,
size_t  buflen 
) [static]
static int rivchat_send_packet_string ( session_t s,
uint32_t  type,
userlist_t user,
const char *  str 
) [static]
static int rivchat_session_deinit ( void *  data,
va_list  ap 
) [static]
static int rivchat_session_init ( void *  data,
va_list  ap 
) [static]
static int rivchat_theme_init (  )  [static]
static int rivchat_topic_header ( void *  data,
va_list  ap 
) [static]
static int rivchat_userlist_info_handle ( void *  data,
va_list  ap 
) [static]
static int rivchat_userlist_priv_handler ( void *  data,
va_list  ap 
) [static]
static int rivchat_validate_uid ( void *  data,
va_list  ap 
) [static]

Dokumentacja zmiennych

Wartość początkowa:
 {
        PLUGIN_VAR_ADD("alias",                 VAR_STR, NULL, 0, NULL),                                
        PLUGIN_VAR_ADD("auto_connect",          VAR_BOOL, "0", 0, NULL),                                
        PLUGIN_VAR_ADD("auto_reconnect",        VAR_INT, "0", 0, NULL),                                 
#define RIVCHAT_VAR_HOSTNAME
        PLUGIN_VAR_ADD("hostname",              VAR_STR, NULL, 0, rivchat_resend_ping),                 
        PLUGIN_VAR_ADD("log_formats",           VAR_STR, "irssi", 0, NULL),                             
#define RIVCHAT_VAR_NICKNAME
        PLUGIN_VAR_ADD("nickname",              VAR_STR, NULL, 0, rivchat_changed_nick),                
        PLUGIN_VAR_ADD("port",                  VAR_STR, "16127", 0, rivchat_notify_reconnect),         
#define RIVCHAT_VAR_USERNAME
        PLUGIN_VAR_ADD("username",              VAR_STR, NULL, 0, rivchat_resend_ping),                 
        PLUGIN_VAR_ADD("VERSION_NAME",          VAR_STR, 0, 0, rivchat_resend_ping),                    
        PLUGIN_VAR_ADD("VERSION_NO",            VAR_STR, 0, 0, rivchat_resend_ping),                    
        PLUGIN_VAR_ADD("VERSION_SYS",           VAR_STR, 0, 0, rivchat_resend_ping),                    

}
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje