updates.
[silc.git] / lib / silcclient / client.h
index 7259267f1416d1e2c14161e41d36c43f82b36fb3..d8bee7ad186bcf52747812ae46bb0382767be9d6 100644 (file)
@@ -27,6 +27,7 @@ typedef struct SilcClientConnectionStruct *SilcClientConnection;
 typedef struct SilcClientPingStruct SilcClientPing;
 typedef struct SilcClientAwayStruct SilcClientAway;
 typedef struct SilcClientKeyAgreementStruct *SilcClientKeyAgreement;
+typedef struct SilcClientFtpSessionStruct *SilcClientFtpSession;
 
 #include "idlist.h"
 #include "command.h"
@@ -97,6 +98,8 @@ struct SilcClientConnectionStruct {
   SilcHmac hmac_send;
   SilcHmac hmac_receive;
   SilcHash hash;
+  uint32 psn_send;
+  uint32 psn_receive;
 
   /* Client ID and Channel ID cache. Messages transmitted in SILC network
      are done using different unique ID's. These are the cache for
@@ -133,6 +136,11 @@ struct SilcClientConnectionStruct {
   /* Authentication request context. */
   SilcClientConnAuthRequest connauth;
 
+  /* File transmission sessions */
+  SilcDList ftp_sessions;
+  uint32 next_session_id;
+  SilcClientFtpSession active_session;
+
   /* Pointer back to the SilcClient. This object is passed to the application
      and the actual client object is accesible through this pointer. */
   SilcClient client;
@@ -310,5 +318,7 @@ void silc_client_private_message(SilcClient client,
 void silc_client_connection_auth_request(SilcClient client,
                                         SilcSocketConnection sock,
                                         SilcPacketContext *packet);
-
+void silc_client_ftp(SilcClient client,
+                    SilcSocketConnection sock,
+                    SilcPacketContext *packet);
 #endif