Fixed various connect aborting crashes.
[silc.git] / lib / silcclient / client_internal.h
index 414aa4cfb295bef2198f87867334b8f7aca166ae..c1208fba62b8bbd7837dedeb32d8c350cdada7d1 100644 (file)
@@ -29,6 +29,8 @@
 #include "client_channel.h"
 #include "client_notify.h"
 #include "client_keyagr.h"
+#include "client_ftp.h"
+#include "client_listener.h"
 
 /****************************** Definitions *********************************/
 
@@ -134,6 +136,7 @@ struct SilcClientConnectionInternalStruct {
   SilcAsyncOperation op;                /* Protocols async operation */
   SilcAsyncOperation cop;               /* Async operation for application */
   SilcHashTable attrs;                  /* Configured user attributes */
+  SilcStream user_stream;               /* Low level stream in connecting */
   char *disconnect_message;             /* Disconnection message */
   char *away_message;                   /* Away message */
   void *prv_waiter;                     /* Private message packet waiter */
@@ -142,6 +145,7 @@ struct SilcClientConnectionInternalStruct {
   SilcIDCache channel_cache;            /* Channel entry cache */
   SilcIDCache server_cache;             /* Server entry cache */
 
+  SilcUInt32 remote_version;            /* Remote SILC protocol version */
   SilcAtomic16 cmd_ident;               /* Current command identifier */
   SilcUInt8 retry_count;                /* Packet retry counter */
   SilcUInt8 retry_timer;                /* Packet retry timer */
@@ -172,5 +176,15 @@ void silc_client_del_connection(SilcClient client, SilcClientConnection conn);
 void silc_client_fsm_destructor(SilcFSM fsm, void *fsm_context,
                                void *destructor_context);
 void silc_client_command_free(SilcClientCommandContext cmd);
+SilcClientConnection
+silc_client_add_connection(SilcClient client,
+                          SilcConnectionType conn_type,
+                          SilcBool connect,
+                          SilcClientConnectionParams *params,
+                          SilcPublicKey public_key,
+                          SilcPrivateKey private_key,
+                          char *remote_host, int port,
+                          SilcClientConnectCallback callback,
+                          void *context);
 
 #endif /* CLIENT_INTERNAL_H */