summary refs log blame commit diff stats
path: root/src/common/server.h
blob: 08aeca56ea8133e5e7721527531f611d6ed8309e (plain) (tree)


















                                                      
/* HexChat
 * Copyright (C) 1998-2010 Peter Zelezny.
 * Copyright (C) 2009-2013 Berke Viktor.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#ifndef HEXCHAT_SERVER_H
#define HEXCHAT_SERVER_H

extern GSList *serv_list;

/* eventually need to keep the tcp_* functions isolated to server.c */
int tcp_send_len (server *serv, char *buf, int len);
int tcp_send (server *serv, char *buf);
void tcp_sendf (server *serv, char *fmt, ...);
int tcp_send_real (void *ssl, int sok, char *encoding, int using_irc, char *buf, int len);

server *server_new (void);
int is_server (server *serv);
void server_fill_her_up (server *serv);
void server_set_encoding (server *serv, char *new_encoding);
void server_set_defaults (server *serv);
char *server_get_network (server *serv, gboolean fallback);
void server_set_name (server *serv, char *name);
void server_free (server *serv);

void server_away_save_message (server *serv, char *nick, char *msg);
struct away_msg *server_away_find_message (server *serv, char *nick);

void base64_encode (char *to, char *from, unsigned int len);

#endif
class="kt">char *ip, int id, const message_tags_data *tags_data); void inbound_quit (server *serv, char *nick, char *ip, char *reason, const message_tags_data *tags_data); void inbound_topicnew (server *serv, char *nick, char *chan, char *topic, const message_tags_data *tags_data); void inbound_join (server *serv, char *chan, char *user, char *ip, char *account, char *realname, const message_tags_data *tags_data); void inbound_ujoin (server *serv, char *chan, char *nick, char *ip, const message_tags_data *tags_data); void inbound_topictime (server *serv, char *chan, char *nick, time_t stamp, const message_tags_data *tags_data); void inbound_topic (server *serv, char *chan, char *topic_text, const message_tags_data *tags_data); void inbound_user_info_start (session *sess, char *nick, const message_tags_data *tags_data); void inbound_user_info (session *sess, char *chan, char *user, char *host, char *servname, char *nick, char *realname, char *account, unsigned int away, const message_tags_data *tags_data); void inbound_foundip (session *sess, char *ip, const message_tags_data *tags_data); int inbound_banlist (session *sess, time_t stamp, char *chan, char *mask, char *banner, int is_exemption, const message_tags_data *tags_data); void inbound_ping_reply (session *sess, char *timestring, char *from, const message_tags_data *tags_data); void inbound_nameslist (server *serv, char *chan, char *names, const message_tags_data *tags_data); int inbound_nameslist_end (server *serv, char *chan, const message_tags_data *tags_data); void inbound_away (server *serv, char *nick, char *msg, const message_tags_data *tags_data); void inbound_away_notify (server *serv, char *nick, char *reason, const message_tags_data *tags_data); void inbound_login_start (session *sess, char *nick, char *servname, const message_tags_data *tags_data); void inbound_login_end (session *sess, char *text, const message_tags_data *tags_data); void inbound_chanmsg (server *serv, session *sess, char *chan, char *from, char *text, char fromme, int id, const message_tags_data *tags_data); void clear_channel (session *sess); void set_topic (session *sess, char *topic, char *stripped_topic); void inbound_privmsg (server *serv, char *from, char *ip, char *text, int id, const message_tags_data *tags_data); void inbound_action (session *sess, char *chan, char *from, char *ip, char *text, int fromme, int id, const message_tags_data *tags_data); void inbound_newnick (server *serv, char *nick, char *newnick, int quiet, const message_tags_data *tags_data); void inbound_identified (server *serv); void inbound_cap_ack (server *serv, char *nick, char *extensions, const message_tags_data *tags_data); void inbound_cap_ls (server *serv, char *nick, char *extensions, const message_tags_data *tags_data); void inbound_cap_nak (server *serv, const message_tags_data *tags_data); void inbound_cap_list (server *serv, char *nick, char *extensions, const message_tags_data *tags_data); void inbound_sasl_authenticate (server *serv, char *data); int inbound_sasl_error (server *serv); void do_dns (session *sess, char *nick, char *host, const message_tags_data *tags_data); gboolean alert_match_word (char *word, char *masks); gboolean alert_match_text (char *text, char *masks); #endif