X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Fsilc%2Fcore%2Fsilc-servers.h;h=965e1f9661b3ba0d7025a05848d4d157b0065d8b;hp=1f9dd7f172821b26e8ee6a07fad012a9ccd77ccf;hb=a818c5b5411bbc4436d1c5f011236985c96bb787;hpb=ba09bb819ac7824d027879986ebec84667bfc298 diff --git a/apps/irssi/src/silc/core/silc-servers.h b/apps/irssi/src/silc/core/silc-servers.h index 1f9dd7f1..965e1f96 100644 --- a/apps/irssi/src/silc/core/silc-servers.h +++ b/apps/irssi/src/silc/core/silc-servers.h @@ -7,14 +7,11 @@ /* returns SILC_SERVER_REC if it's SILC server, NULL if it isn't */ #define SILC_SERVER(server) \ PROTO_CHECK_CAST(SERVER(server), SILC_SERVER_REC, chat_type, "SILC") - #define SILC_SERVER_CONNECT(conn) \ PROTO_CHECK_CAST(SERVER_CONNECT(conn), SILC_SERVER_CONNECT_REC, \ chat_type, "SILC") - #define IS_SILC_SERVER(server) \ (SILC_SERVER(server) ? TRUE : FALSE) - #define IS_SILC_SERVER_CONNECT(conn) \ (SILC_SERVER_CONNECT(conn) ? TRUE : FALSE) @@ -24,6 +21,20 @@ typedef struct { #include "server-connect-rec.h" } SILC_SERVER_CONNECT_REC; +typedef struct { + SilcClientEntry client_entry; + SilcClientConnection conn; + SilcUInt32 session_id; + char *filepath; + bool send; + + long starttime; /* Start time of transfer */ + double kps; /* Kilos per second */ + SilcUInt64 offset; /* Current offset */ + SilcUInt64 filesize; /* Total file size */ + SilcUInt32 percent; /* Percent of current transmission */ +} *FtpSession; + #define STRUCT_SERVER_CONNECT_REC SILC_SERVER_CONNECT_REC typedef struct { #include "server-rec.h" @@ -39,9 +50,13 @@ typedef struct { GSList *idles; /* Idle queue - send these commands to server if there's nothing else to do */ + + SilcDList ftp_sessions; + FtpSession current_session; gpointer chanqueries; SilcClientConnection conn; + SilcUInt32 umode; } SILC_SERVER_REC; SILC_SERVER_REC *silc_server_connect(SILC_SERVER_CONNECT_REC *conn); @@ -53,5 +68,7 @@ void silc_command_exec(SILC_SERVER_REC *server, const char *command, const char *args); void silc_server_init(void); void silc_server_deinit(void); +void silc_server_free_ftp(SILC_SERVER_REC *server, + SilcClientEntry client_entry); #endif