+/* Callback function that is called after the key exchange and connection
+ authentication protocols has been completed with a remote router. The
+ `server_entry' is the remote router entry. */
+typedef void (*SilcServerConnectRouterCallback)(SilcServer server,
+ SilcServerEntry server_entry,
+ void *context);
+
+typedef struct {
+ SilcSocketConnection sock;
+
+ /* Remote host name and port */
+ char *remote_host;
+ int remote_port;
+ bool backup;
+
+ /* Current connection retry info */
+ uint32 retry_count;
+ uint32 retry_timeout;
+
+ /* Back pointer to server */
+ SilcServer server;
+
+ SilcServerConnectRouterCallback callback;
+ void *callback_context;
+} *SilcServerConnection;
+