Splitted SILC core library. Core library includes now only
[silc.git] / apps / silc / protocol.h
index 1c40ef382ab8e6c0f94ab6ff81cab71a9d9414cc..684995dd2b431df6c03c4f454ede1256bf49510d 100644 (file)
@@ -24,8 +24,7 @@
 /* SILC client protocol types */
 #define SILC_PROTOCOL_CLIENT_NONE 0
 #define SILC_PROTOCOL_CLIENT_CONNECTION_AUTH 1
-#define SILC_PROTOCOL_CLIENT_CHANNEL_AUTH 2
-#define SILC_PROTOCOL_CLIENT_KEY_EXCHANGE 3
+#define SILC_PROTOCOL_CLIENT_KEY_EXCHANGE 2
 /* #define SILC_PROTOCOL_CLIENT_MAX 255 */
 
 /* Internal context for key exchange protocol */
@@ -34,6 +33,12 @@ typedef struct {
   SilcSocketConnection sock;
   SilcRng rng;
   int responder;
+
+  /* Destinations ID taken from authenticataed packet so that we can
+     get the destinations ID. */
+  void *dest_id;
+  SilcIdType dest_id_type;
+
   SilcBuffer packet;
   SilcSKE ske;
 } SilcClientKEInternalContext;
@@ -50,6 +55,10 @@ typedef struct {
      connection authentication protocol is started. */
   unsigned int auth_meth;
 
+  /* Destinations ID from KE protocol context */
+  void *dest_id;
+  SilcIdType dest_id_type;
+
   /* Authentication data if we alreay know it. This is filled before
      starting the protocol if we know the authentication data. Otherwise
      these are and remain NULL. */
@@ -60,5 +69,7 @@ typedef struct {
 } SilcClientConnAuthInternalContext;
 
 /* Prototypes */
+void silc_client_protocols_register(void);
+void silc_client_protocols_unregister(void);
 
 #endif