Added SILC Thread Queue API
[runtime.git] / lib / silcclient / client_internal.h
index 414aa4cfb295bef2198f87867334b8f7aca166ae..fd04fa3b0749477f60bd11dd8f2841806c33e651 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,14 +136,15 @@ 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 */
 
   SilcIDCache client_cache;             /* Client entry cache */
   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 +175,20 @@ 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);
+void silc_client_attributes_process(SilcClient client,
+                                   SilcClientConnection conn,
+                                   SilcDList attrs,
+                                   SilcPKCSSignCb sign_cb,
+                                   void *context);
 
 #endif /* CLIENT_INTERNAL_H */