Merged silc_1_0_branch to trunk.
[silc.git] / apps / irssi / src / silc / core / silc-servers.h
index eb0edc6dfd9144bb3005d0bf89e330ac4f3ff116..cc6b94439f1f5ca551c4f7931014df02320b0a67 100644 (file)
@@ -21,27 +21,34 @@ 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"
-  /* Command sending queue */
-  int cmdcount;                /* number of commands in `cmdqueue'. Can be more than
-                          there actually is, to make flood control remember
-                          how many messages can be sent before starting the
-                          flood control */
-  int cmd_last_split;  /* Last command wasn't sent entirely to server.
-                          First item in `cmdqueue' should be re-sent. */
-  GSList *cmdqueue;
-  GTimeVal last_cmd;   /* last time command was sent to server */
-  
-  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);
+SERVER_REC *silc_server_init_connect(SERVER_CONNECT_REC *conn);
+void silc_server_connect(SERVER_REC *server);
 
 /* Return a string of all channels in server in server->channels_join() 
    format */
@@ -50,5 +57,13 @@ 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);
+bool silc_term_utf8(void);
 
+int silc_send_msg(SILC_SERVER_REC *server, char *nick, char *msg,
+                 int msg_len, SilcMessageFlags flags);
+int silc_send_channel(SILC_SERVER_REC *server,
+                     char *channel, char *msg,
+                     SilcMessageFlags flags);
 #endif