1
0
mirror of https://github.com/irssi/irssi.git synced 2024-06-23 06:35:36 +00:00
irssi/src/irc/dcc/dcc-chat.h
Emanuele Giaquinta f053542dcf Extend net_sendbuffer by adding a LINEBUF_REC member and a net_sendbuffer_receive_line
function to read linewise from the associated io channel.
Rewrite irc/dcc/proxy read logic on top of it.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4841 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-05-22 22:38:29 +00:00

41 lines
1.1 KiB
C

#ifndef __DCC_CHAT_H
#define __DCC_CHAT_H
#include "dcc.h"
#define DCC_CHAT(dcc) \
MODULE_CHECK_CAST_MODULE(dcc, CHAT_DCC_REC, type, "DCC", "CHAT")
#define IS_DCC_CHAT(dcc) \
(DCC_CHAT(dcc) ? TRUE : FALSE)
struct CHAT_DCC_REC {
#include "dcc-rec.h"
char *id; /* unique identifier - usually same as nick. */
NET_SENDBUF_REC *sendbuf;
unsigned int mirc_ctcp:1; /* Send CTCPs without the CTCP_MESSAGE prefix */
unsigned int connection_lost:1; /* other side closed connection */
};
#define DCC_CHAT_TYPE module_get_uniq_id_str("DCC", "CHAT")
CHAT_DCC_REC *dcc_chat_find_id(const char *id);
/* Send `data' to dcc chat. */
void dcc_chat_send(CHAT_DCC_REC *dcc, const char *data);
/* Send a CTCP message/notify to target.
Send the CTCP via DCC chat if `chat' is specified. */
void dcc_ctcp_message(IRC_SERVER_REC *server, const char *target,
CHAT_DCC_REC *chat, int notice, const char *msg);
/* If `item' is a query of a =nick, return DCC chat record of nick */
CHAT_DCC_REC *item_get_dcc(WI_ITEM_REC *item);
void dcc_chat_init(void);
void dcc_chat_deinit(void);
#endif