summaryrefslogtreecommitdiff
path: root/src/irc/dcc/dcc.h
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-06-04 01:36:07 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-06-04 01:36:07 +0000
commit35fab0c9ef3ec129e2a753fd6a659124d0e168ae (patch)
treece7d3d142161f11c7d7069bf29d59dba84cde075 /src/irc/dcc/dcc.h
parent841736a7d359dd7f9ba0238589965ea205102415 (diff)
downloadirssi-35fab0c9ef3ec129e2a753fd6a659124d0e168ae.zip
Lots of DCC related fixes.
Added command_bind_first() and command_bind_last() functions. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@285 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc/dcc/dcc.h')
-rw-r--r--src/irc/dcc/dcc.h102
1 files changed, 51 insertions, 51 deletions
diff --git a/src/irc/dcc/dcc.h b/src/irc/dcc/dcc.h
index da640b41..7fe5e9ee 100644
--- a/src/irc/dcc/dcc.h
+++ b/src/irc/dcc/dcc.h
@@ -3,72 +3,67 @@
#include "network.h"
-enum
-{
- DCC_TYPE_CHAT = 1,
- DCC_TYPE_SEND,
- DCC_TYPE_GET,
- DCC_TYPE_RESUME,
- DCC_TYPE_ACCEPT
+enum {
+ DCC_TYPE_CHAT = 1,
+ DCC_TYPE_SEND,
+ DCC_TYPE_GET,
+ DCC_TYPE_RESUME,
+ DCC_TYPE_ACCEPT
};
-enum
-{
- DCC_GET_DEFAULT = 0,
- DCC_GET_OVERWRITE,
- DCC_GET_RENAME,
- DCC_GET_RESUME
+enum {
+ DCC_GET_RENAME = 0, /* this also acts as default */
+ DCC_GET_OVERWRITE,
+ DCC_GET_RESUME
};
#define SWAP_SENDGET(a) ((a) == DCC_TYPE_SEND ? DCC_TYPE_GET : \
(a) == DCC_TYPE_GET ? DCC_TYPE_SEND : (a))
-typedef struct DCC_REC
-{
+typedef struct DCC_REC {
int type;
- GHashTable *module_data;
+ time_t created;
IRC_SERVER_REC *server;
- gchar *nick;
+ char *nick;
struct DCC_REC *chat; /* if the request came through DCC chat */
- gchar *ircnet;
- gchar *mynick;
+ char *ircnet;
+ char *mynick;
- gchar *arg;
- gchar *file; /* file name we're really moving, arg is just the reference.. */
-
- time_t created;
- gint dcc_type;
+ char *arg;
+ char *file; /* file name we're really moving, arg is just the reference.. */
IPADDR addr; /* address we're connected in */
- gchar addrstr[MAX_IP_LEN]; /* in readable form */
- gint port; /* port we're connected in */
+ char addrstr[MAX_IP_LEN]; /* in readable form */
+ int port; /* port we're connected in */
- glong size, transfd, skipped; /* file size / bytes transferred / skipped at start */
- gint handle; /* socket handle */
- gint tagread, tagwrite;
- gint fhandle; /* file handle */
+ long size, transfd, skipped; /* file size / bytes transferred / skipped at start */
+ int handle; /* socket handle */
+ int tagread, tagwrite;
+ int fhandle; /* file handle */
time_t starttime; /* transfer start time */
- gint trans_bytes;
+ int trans_bytes;
- gboolean fastsend; /* fastsending (just in case that global fastsend toggle changes while transferring..) */
- gboolean waitforend; /* DCC fast send: file is sent, just wait for the replies from the other side */
- gboolean gotalldata; /* DCC fast send: got all acks from the other end (needed to make sure the end of transfer works right) */
- gint get_type; /* DCC get: what to do if file exists? */
+ int get_type; /* DCC get: what to do if file exists? */
- gboolean mirc_ctcp; /* DCC chat: Send CTCPs without the CTCP_MESSAGE prefix */
- gboolean destroyed; /* We're about to destroy this DCC recond */
+ int fastsend:1; /* fastsending (just in case that global fastsend toggle changes while transferring..) */
+ int waitforend:1; /* DCC fast send: file is sent, just wait for the replies from the other side */
+ int gotalldata:1; /* DCC fast send: got all acks from the other end (needed to make sure the end of transfer works right) */
- /* read counter buffer */
- gchar read_buf[4];
- gint read_pos;
+ int mirc_ctcp:1; /* DCC chat: Send CTCPs without the CTCP_MESSAGE prefix */
+ int destroyed:1; /* We're about to destroy this DCC recond */
- gchar *databuf; /* buffer for receiving/transmitting data */
- gint databufsize;
-}
-DCC_REC;
+ /* read/write counter buffer */
+ char count_buf[4];
+ int count_pos;
+
+ char *databuf; /* buffer for receiving/transmitting data */
+ int databufsize;
+
+ GHashTable *module_data;
+} DCC_REC;
extern GSList *dcc_conns;
@@ -76,16 +71,21 @@ void dcc_init(void);
void dcc_deinit(void);
/* Find DCC record, arg can be NULL */
-DCC_REC *dcc_find_item(gint type, gchar *nick, gchar *arg);
-DCC_REC *dcc_find_by_port(gchar *nick, gint port);
+DCC_REC *dcc_find_item(int type, const char *nick, const char *arg);
+DCC_REC *dcc_find_by_port(const char *nick, int port);
-gchar *dcc_type2str(gint type);
-gint dcc_str2type(gchar *type);
-gchar *dcc_make_address(IPADDR *ip);
+const char *dcc_type2str(int type);
+int dcc_str2type(const char *type);
+void dcc_make_address(IPADDR *ip, char *host);
-DCC_REC *dcc_create(gint type, gint handle, gchar *nick, gchar *arg, IRC_SERVER_REC *server, DCC_REC *chat);
+DCC_REC *dcc_create(int type, int handle, const char *nick, const char *arg, IRC_SERVER_REC *server, DCC_REC *chat);
void dcc_destroy(DCC_REC *dcc);
-void dcc_ctcp_message(gchar *target, IRC_SERVER_REC *server, DCC_REC *chat, gboolean notice, gchar *msg);
+void dcc_ctcp_message(const char *target, IRC_SERVER_REC *server, DCC_REC *chat, int notice, const char *msg);
+
+/* Send `data' to dcc chat. */
+void dcc_chat_send(DCC_REC *dcc, const char *data);
+/* If `item' is a query of a =nick, return DCC chat record of nick */
+DCC_REC *item_get_dcc(void *item);
#endif