diff options
author | Berke Viktor <bviktor@hexchat.org> | 2012-10-24 21:33:02 +0200 |
---|---|---|
committer | Berke Viktor <bviktor@hexchat.org> | 2012-10-24 21:33:02 +0200 |
commit | 1a75c8e1be58a25510642605dcd40c5c65e9c3f3 (patch) | |
tree | 5b2dfa67be95015059d13a6af0955767137c634d /src/common/xchat.h | |
parent | 6d356a5e5165dfa214b2bd9fa01f67b809643c59 (diff) |
A lot more rebranding
Diffstat (limited to 'src/common/xchat.h')
-rw-r--r-- | src/common/xchat.h | 595 |
1 files changed, 0 insertions, 595 deletions
diff --git a/src/common/xchat.h b/src/common/xchat.h deleted file mode 100644 index 2980fc1c..00000000 --- a/src/common/xchat.h +++ /dev/null @@ -1,595 +0,0 @@ -#include "../../config.h" - -#include <glib.h> -#include <time.h> /* need time_t */ - -#ifndef XCHAT_H -#define XCHAT_H - -#include "history.h" - -#ifndef HAVE_SNPRINTF -#define snprintf g_snprintf -#endif - -#ifndef HAVE_VSNPRINTF -#define vsnprintf _vsnprintf -#endif - -#ifdef USE_DEBUG -#define malloc(n) xchat_malloc(n, __FILE__, __LINE__) -#define realloc(n, m) xchat_realloc(n, m, __FILE__, __LINE__) -#define free(n) xchat_dfree(n, __FILE__, __LINE__) -#define strdup(n) xchat_strdup(n, __FILE__, __LINE__) -void *xchat_malloc (int size, char *file, int line); -void *xchat_strdup (char *str, char *file, int line); -void xchat_dfree (void *buf, char *file, int line); -void *xchat_realloc (char *old, int len, char *file, int line); -#endif - -#ifdef SOCKS -#ifdef __sgi -#include <sys/time.h> -#define INCLUDE_PROTOTYPES 1 -#endif -#include <socks.h> -#endif - -#ifdef USE_OPENSSL -#include <openssl/ssl.h> /* SSL_() */ -#endif - -#ifdef __EMX__ /* for o/s 2 */ -#define OFLAGS O_BINARY -#define g_ascii_strcasecmp stricmp -#define g_ascii_strncasecmp strnicmp -#define PATH_MAX MAXPATHLEN -#define FILEPATH_LEN_MAX MAXPATHLEN -#endif - -/* force a 32bit CMP.L */ -#define CMPL(a, c0, c1, c2, c3) (a == (guint32)(c0 | (c1 << 8) | (c2 << 16) | (c3 << 24))) -#define WORDL(c0, c1, c2, c3) (guint32)(c0 | (c1 << 8) | (c2 << 16) | (c3 << 24)) -#define WORDW(c0, c1) (guint16)(c0 | (c1 << 8)) - -#ifdef WIN32 /* for win32 */ -#define OFLAGS O_BINARY -#define sleep(t) Sleep(t*1000) -#include <direct.h> -#define F_OK 0 -#define X_OK 1 -#define W_OK 2 -#define R_OK 4 -#ifndef S_ISDIR -#define S_ISDIR(m) ((m) & _S_IFDIR) -#endif -#define NETWORK_PRIVATE -#else /* for unix */ -#define OFLAGS 0 -#endif - -#define FONTNAMELEN 127 -#define PATHLEN 255 -#define DOMAINLEN 100 -#define NICKLEN 64 /* including the NULL, so 63 really */ -#define CHANLEN 300 -#define PDIWORDS 32 -#define USERNAMELEN 10 -#define HIDDEN_CHAR 8 /* invisible character for xtext */ - -#if defined(ENABLE_NLS) && !defined(_) -# include <libintl.h> -# define _(x) gettext(x) -# ifdef gettext_noop -# define N_(String) gettext_noop (String) -# else -# define N_(String) (String) -# endif -#endif -#if !defined(_) -# define N_(String) (String) -# define _(x) (x) -#endif - -struct nbexec -{ - int myfd; - int childpid; - int tochannel; /* making this int keeps the struct 4-byte aligned */ - int iotag; - char *linebuf; - int buffill; - struct session *sess; -}; - -struct hexchatprefs -{ - /* these are the rebranded, consistent, sorted hexchat variables */ - - /* BOOLEANS */ - unsigned int hex_away_auto_unmark; - unsigned int hex_away_omit_alerts; - unsigned int hex_away_show_message; - unsigned int hex_away_show_once; - unsigned int hex_away_track; - unsigned int hex_completion_auto; - unsigned int hex_dcc_auto_chat; - unsigned int hex_dcc_auto_resume; - unsigned int hex_dcc_fast_send; - unsigned int hex_dcc_ip_from_server; - unsigned int hex_dcc_remove; - unsigned int hex_dcc_save_nick; - unsigned int hex_dcc_send_fillspaces; - unsigned int hex_gui_autoopen_chat; - unsigned int hex_gui_autoopen_dialog; - unsigned int hex_gui_autoopen_recv; - unsigned int hex_gui_autoopen_send; - unsigned int hex_gui_compact; - unsigned int hex_gui_hide_menu; - unsigned int hex_gui_input_nick; - unsigned int hex_gui_input_spell; - unsigned int hex_gui_input_style; - unsigned int hex_gui_join_dialog; - unsigned int hex_gui_mode_buttons; - unsigned int hex_gui_quit_dialog; - unsigned int hex_gui_single; - unsigned int hex_gui_slist_fav; - unsigned int hex_gui_slist_skip; - unsigned int hex_gui_tab_chans; - unsigned int hex_gui_tab_dialogs; - unsigned int hex_gui_tab_dots; - unsigned int hex_gui_tab_icons; - unsigned int hex_gui_tab_notices; - unsigned int hex_gui_tab_server; - unsigned int hex_gui_tab_sort; - unsigned int hex_gui_tab_utils; - unsigned int hex_gui_topicbar; - unsigned int hex_gui_tray; - unsigned int hex_gui_ulist_buttons; - unsigned int hex_gui_ulist_count; - unsigned int hex_gui_ulist_hide; - unsigned int hex_gui_ulist_icons; - unsigned int hex_gui_ulist_resizable; - unsigned int hex_gui_ulist_show_hosts; - unsigned int hex_gui_ulist_style; - unsigned int hex_gui_usermenu; - unsigned int hex_gui_win_modes; - unsigned int hex_gui_win_save; - unsigned int hex_gui_win_swap; - unsigned int hex_gui_win_ucount; - unsigned int hex_identd; - unsigned int hex_input_balloon_chans; - unsigned int hex_input_balloon_hilight; - unsigned int hex_input_balloon_priv; - unsigned int hex_input_beep_chans; - unsigned int hex_input_beep_hilight; - unsigned int hex_input_beep_priv; - unsigned int hex_input_filter_beep; - unsigned int hex_input_flash_chans; - unsigned int hex_input_flash_hilight; - unsigned int hex_input_flash_priv; - unsigned int hex_input_perc_ascii; - unsigned int hex_input_perc_color; - unsigned int hex_input_tray_chans; - unsigned int hex_input_tray_hilight; - unsigned int hex_input_tray_priv; - unsigned int hex_irc_auto_rejoin; - unsigned int hex_irc_conf_mode; - unsigned int hex_irc_hide_version; - unsigned int hex_irc_invisible; - unsigned int hex_irc_logging; - unsigned int hex_irc_raw_modes; - unsigned int hex_irc_servernotice; - unsigned int hex_irc_skip_motd; - unsigned int hex_irc_wallops; - unsigned int hex_irc_who_join; - unsigned int hex_irc_whois_front; - unsigned int hex_net_auto_reconnect; - unsigned int hex_net_auto_reconnectonfail; - unsigned int hex_net_proxy_auth; - unsigned int hex_net_throttle; - unsigned int hex_notify_whois_online; - unsigned int hex_perl_warnings; - unsigned int hex_stamp_log; - unsigned int hex_stamp_text; - unsigned int hex_text_autocopy_color; - unsigned int hex_text_autocopy_stamp; - unsigned int hex_text_autocopy_text; - unsigned int hex_text_color_nicks; - unsigned int hex_text_indent; - unsigned int hex_text_replay; - unsigned int hex_text_search_case_match; - unsigned int hex_text_search_backward; - unsigned int hex_text_search_highlight_all; - unsigned int hex_text_search_follow; - unsigned int hex_text_search_regexp; - unsigned int hex_text_show_marker; - unsigned int hex_text_show_sep; - unsigned int hex_text_stripcolor_msg; - unsigned int hex_text_stripcolor_replay; - unsigned int hex_text_stripcolor_topic; - unsigned int hex_text_thin_sep; - unsigned int hex_text_transparent; - unsigned int hex_text_wordwrap; - unsigned int hex_url_grabber; - unsigned int hex_url_logging; - - /* NUMBERS */ - int hex_away_size_max; - int hex_away_timeout; - int hex_completion_amount; - int hex_completion_sort; - int hex_dcc_auto_recv; - int hex_dcc_blocksize; - int hex_dcc_global_max_get_cps; - int hex_dcc_global_max_send_cps; - int hex_dcc_max_get_cps; - int hex_dcc_max_send_cps; - int hex_dcc_permissions; - int hex_dcc_port_first; - int hex_dcc_port_last; - int hex_dcc_stall_timeout; - int hex_dcc_timeout; - int hex_flood_ctcp_num; /* flood */ - int hex_flood_ctcp_time; /* seconds of floods */ - int hex_flood_msg_num; /* same deal */ - int hex_flood_msg_time; - int hex_gui_chanlist_maxusers; - int hex_gui_chanlist_minusers; - int hex_gui_dialog_height; - int hex_gui_dialog_left; - int hex_gui_dialog_top; - int hex_gui_dialog_width; - int hex_gui_lagometer; - int hex_gui_lang; - int hex_gui_pane_left_size; - int hex_gui_pane_right_size; - int hex_gui_pane_right_size_min; - int hex_gui_slist_select; - int hex_gui_tab_layout; - int hex_gui_tab_newtofront; - int hex_gui_tab_pos; - int hex_gui_tab_small; - int hex_gui_tab_trunc; - int hex_gui_throttlemeter; - int hex_gui_tray_flags; - int hex_gui_ulist_pos; - int hex_gui_ulist_sort; - int hex_gui_url_mod; - int hex_gui_win_height; - int hex_gui_win_left; - int hex_gui_win_state; - int hex_gui_win_top; - int hex_gui_win_width; - int hex_input_balloon_time; - int hex_irc_ban_type; - int hex_irc_join_delay; - int hex_net_ping_timeout; - int hex_net_proxy_port; - int hex_net_proxy_type; /* 0=disabled, 1=wingate 2=socks4, 3=socks5, 4=http */ - int hex_net_proxy_use; /* 0=all 1=IRC_ONLY 2=DCC_ONLY */ - int hex_net_reconnect_delay; - int hex_notify_timeout; - int hex_text_max_indent; - int hex_text_max_lines; - int hex_text_tint_blue; - int hex_text_tint_green; - int hex_text_tint_red; - int hex_url_grabber_limit; - - /* STRINGS */ - char hex_away_reason[256]; - char hex_completion_suffix[4]; /* Only ever holds a one-character string. */ - char hex_dcc_completed_dir[PATHLEN + 1]; - char hex_dcc_dir[PATHLEN + 1]; - char hex_dcc_ip[DOMAINLEN + 1]; - char hex_dnsprogram[72]; - char hex_gui_ulist_doubleclick[256]; - char hex_input_command_char[4]; - char hex_irc_extra_hilight[300]; - char hex_irc_id_ntext[64]; - char hex_irc_id_ytext[64]; - char hex_irc_logmask[256]; - char hex_irc_nick1[NICKLEN]; - char hex_irc_nick2[NICKLEN]; - char hex_irc_nick3[NICKLEN]; - char hex_irc_nick_hilight[300]; - char hex_irc_no_hilight[300]; - char hex_irc_part_reason[256]; - char hex_irc_quit_reason[256]; - char hex_irc_real_name[127]; - char hex_irc_user_name[127]; - char hex_net_bind_host[127]; - char hex_net_proxy_host[64]; - char hex_net_proxy_pass[32]; - char hex_net_proxy_user[32]; - char hex_sound_command[PATHLEN + 1]; - char hex_sound_dir[PATHLEN + 1]; - char hex_stamp_log_format[64]; - char hex_stamp_text_format[64]; - char hex_text_background[PATHLEN + 1]; - char hex_text_font[4 * FONTNAMELEN + 1]; - char hex_text_font_main[FONTNAMELEN + 1]; - char hex_text_font_alternative[3 * FONTNAMELEN + 1]; - char hex_text_spell_langs[64]; - - /* these are the private variables */ - guint32 local_ip; - guint32 dcc_ip; - - unsigned int wait_on_exit; /* wait for logs to be flushed to disk IF we're connected */ - unsigned int utf8_locale; - - /* Tells us if we need to save, only when they've been edited. - This is so that we continue using internal defaults (which can - change in the next release) until the user edits them. */ - unsigned int save_pevents:1; -}; - -/* Session types */ -#define SESS_SERVER 1 -#define SESS_CHANNEL 2 -#define SESS_DIALOG 3 -#define SESS_NOTICES 4 -#define SESS_SNOTICES 5 - -/* Per-Channel Settings */ -#define SET_OFF 0 -#define SET_ON 1 -#define SET_DEFAULT 2 /* use global setting */ - -/* Moved from fe-gtk for use in outbound.c as well -- */ -typedef enum gtk_xtext_search_flags_e { - case_match = 1, - backward = 2, - highlight = 4, - follow = 8, - regexp = 16 -} gtk_xtext_search_flags; - -typedef struct session -{ - /* Per-Channel Alerts */ - /* use a byte, because we need a pointer to each element */ - guint8 alert_beep; - guint8 alert_taskbar; - guint8 alert_tray; - - /* Per-Channel Settings */ - guint8 text_hidejoinpart; - guint8 text_logging; - guint8 text_scrollback; - - struct server *server; - void *usertree_alpha; /* pure alphabetical tree */ - void *usertree; /* ordered with Ops first */ - struct User *me; /* points to myself in the usertree */ - char channel[CHANLEN]; - char waitchannel[CHANLEN]; /* waiting to join channel (/join sent) */ - char willjoinchannel[CHANLEN]; /* will issue /join for this channel */ - char channelkey[64]; /* XXX correct max length? */ - int limit; /* channel user limit */ - int logfd; - int scrollfd; /* scrollback filedes */ - int scrollwritten; /* number of lines written */ - - char lastnick[NICKLEN]; /* last nick you /msg'ed */ - - struct history history; - - int ops; /* num. of ops in channel */ - int hops; /* num. of half-oped users */ - int voices; /* num. of voiced people */ - int total; /* num. of users in channel */ - - char *quitreason; - char *topic; - char *current_modes; /* free() me */ - - int mode_timeout_tag; - - struct session *lastlog_sess; - struct nbexec *running_exec; - - struct session_gui *gui; /* initialized by fe_new_window */ - struct restore_gui *res; - - int type; /* SESS_* */ - - int new_data:1; /* new data avail? (purple tab) */ - int nick_said:1; /* your nick mentioned? (blue tab) */ - int msg_said:1; /* new msg available? (red tab) */ - - int ignore_date:1; - int ignore_mode:1; - int ignore_names:1; - int end_of_names:1; - int doing_who:1; /* /who sent on this channel */ - int done_away_check:1; /* done checking for away status changes */ - gtk_xtext_search_flags lastlog_flags; -} session; - -struct msproxy_state_t -{ - gint32 clientid; - gint32 serverid; - unsigned char seq_recv; /* seq number of last packet recv. */ - unsigned char seq_sent; /* seq number of last packet sent. */ -}; - -typedef struct server -{ - /* server control operations (in server*.c) */ - void (*connect)(struct server *, char *hostname, int port, int no_login); - void (*disconnect)(struct session *, int sendquit, int err); - int (*cleanup)(struct server *); - void (*flush_queue)(struct server *); - void (*auto_reconnect)(struct server *, int send_quit, int err); - /* irc protocol functions (in proto*.c) */ - void (*p_inline)(struct server *, char *buf, int len); - void (*p_invite)(struct server *, char *channel, char *nick); - void (*p_cycle)(struct server *, char *channel, char *key); - void (*p_ctcp)(struct server *, char *to, char *msg); - void (*p_nctcp)(struct server *, char *to, char *msg); - void (*p_quit)(struct server *, char *reason); - void (*p_kick)(struct server *, char *channel, char *nick, char *reason); - void (*p_part)(struct server *, char *channel, char *reason); - void (*p_ns_identify)(struct server *, char *pass); - void (*p_ns_ghost)(struct server *, char *usname, char *pass); - void (*p_join)(struct server *, char *channel, char *key); - void (*p_join_list)(struct server *, GSList *channels, GSList *keys); - void (*p_login)(struct server *, char *user, char *realname); - void (*p_join_info)(struct server *, char *channel); - void (*p_mode)(struct server *, char *target, char *mode); - void (*p_user_list)(struct server *, char *channel); - void (*p_away_status)(struct server *, char *channel); - void (*p_whois)(struct server *, char *nicks); - void (*p_get_ip)(struct server *, char *nick); - void (*p_get_ip_uh)(struct server *, char *nick); - void (*p_set_back)(struct server *); - void (*p_set_away)(struct server *, char *reason); - void (*p_message)(struct server *, char *channel, char *text); - void (*p_action)(struct server *, char *channel, char *act); - void (*p_notice)(struct server *, char *channel, char *text); - void (*p_topic)(struct server *, char *channel, char *topic); - void (*p_list_channels)(struct server *, char *arg, int min_users); - void (*p_change_nick)(struct server *, char *new_nick); - void (*p_names)(struct server *, char *channel); - void (*p_ping)(struct server *, char *to, char *timestring); -/* void (*p_set_away)(struct server *);*/ - int (*p_raw)(struct server *, char *raw); - int (*p_cmp)(const char *s1, const char *s2); - - int port; - int sok; /* is equal to sok4 or sok6 (the one we are using) */ - int sok4; /* tcp4 socket */ - int sok6; /* tcp6 socket */ - int proxy_type; - int proxy_sok; /* Additional information for MS Proxy beast */ - int proxy_sok4; - int proxy_sok6; - struct msproxy_state_t msp_state; - int id; /* unique ID number (for plugin API) */ -#ifdef USE_OPENSSL - SSL *ssl; - int ssl_do_connect_tag; -#else - void *ssl; -#endif - int childread; - int childwrite; - int childpid; - int iotag; - int recondelay_tag; /* reconnect delay timeout */ - int joindelay_tag; /* waiting before we send JOIN */ - char hostname[128]; /* real ip number */ - char servername[128]; /* what the server says is its name */ - char password[86]; - char nick[NICKLEN]; - char linebuf[2048]; /* RFC says 512 chars including \r\n */ - char *last_away_reason; - int pos; /* current position in linebuf */ - int nickcount; - int nickservtype; /* 0=/MSG nickserv 1=/NICKSERV 2=/NS */ - - char *chantypes; /* for 005 numeric - free me */ - char *chanmodes; /* for 005 numeric - free me */ - char *nick_prefixes; /* e.g. "*@%+" */ - char *nick_modes; /* e.g. "aohv" */ - char *bad_nick_prefixes; /* for ircd that doesn't give the modes */ - int modes_per_line; /* 6 on undernet, 4 on efnet etc... */ - - void *network; /* points to entry in servlist.c or NULL! */ - - GSList *outbound_queue; - time_t next_send; /* cptr->since in ircu */ - time_t prev_now; /* previous now-time */ - int sendq_len; /* queue size */ - int lag; /* milliseconds */ - - struct session *front_session; /* front-most window/tab */ - struct session *server_session; /* server window/tab */ - - struct server_gui *gui; /* initialized by fe_new_server */ - - unsigned int ctcp_counter; /*flood */ - time_t ctcp_last_time; - - unsigned int msg_counter; /*counts the msg tab opened in a certain time */ - time_t msg_last_time; - - /*time_t connect_time;*/ /* when did it connect? */ - time_t lag_sent; - time_t ping_recv; /* when we last got a ping reply */ - time_t away_time; /* when we were marked away */ - - char *encoding; /* NULL for system */ - char *autojoin; /* list of channels & keys to join */ - - unsigned int motd_skipped:1; - unsigned int connected:1; - unsigned int connecting:1; - unsigned int no_login:1; - unsigned int skip_next_userhost:1;/* used for "get my ip from server" */ - unsigned int skip_next_whois:1; /* hide whois output */ - unsigned int inside_whois:1; - unsigned int doing_dns:1; /* /dns has been done */ - unsigned int end_of_motd:1; /* end of motd reached (logged in) */ - unsigned int sent_quit:1; /* sent a QUIT already? */ - unsigned int use_listargs:1; /* undernet and dalnet need /list >0,<10000 */ - unsigned int is_away:1; - unsigned int reconnect_away:1; /* whether to reconnect in is_away state */ - unsigned int dont_use_proxy:1; /* to proxy or not to proxy */ - unsigned int supports_watch:1; /* supports the WATCH command */ - unsigned int bad_prefix:1; /* gave us a bad PREFIX= 005 number */ - unsigned int have_namesx:1; /* 005 tokens NAMESX and UHNAMES */ - unsigned int have_uhnames:1; - unsigned int have_whox:1; /* have undernet's WHOX features */ - unsigned int have_capab:1; /* supports CAPAB (005 tells us) */ - unsigned int have_idmsg:1; /* freenode's IDENTIFY-MSG */ - unsigned int have_except:1; /* ban exemptions +e */ - unsigned int using_cp1255:1; /* encoding is CP1255/WINDOWS-1255? */ - unsigned int using_irc:1; /* encoding is "IRC" (CP1252/UTF-8 hybrid)? */ - unsigned int use_who:1; /* whether to use WHO command to get dcc_ip */ -#ifdef USE_OPENSSL - unsigned int use_ssl:1; /* is server SSL capable? */ - unsigned int accept_invalid_cert:1;/* ignore result of server's cert. verify */ -#endif -} server; - -typedef int (*cmd_callback) (struct session * sess, char *tbuf, char *word[], - char *word_eol[]); - -struct commands -{ - char *name; - cmd_callback callback; - char needserver; - char needchannel; - gint16 handle_quotes; - char *help; -}; - -struct away_msg -{ - struct server *server; - char nick[NICKLEN]; - char *message; -}; - -/* not just for popups, but used for usercommands, ctcp replies, - userlist buttons etc */ - -struct popup -{ - char *cmd; - char *name; -}; - -/* CL: get a random int in the range [0..n-1]. DON'T use rand() % n, it gives terrible results. */ -#define RAND_INT(n) ((int)(rand() / (RAND_MAX + 1.0) * (n))) - -#define xchat_filename_from_utf8 g_filename_from_utf8 -#define xchat_filename_to_utf8 g_filename_to_utf8 - -#endif |