updates.
[silc.git] / lib / silccore / silcauth.h
index a7a74a5a8011c847289b31274242b6e076e3d988..c691722c1e6e93c1717a2f6c2c512363b1b30496 100644 (file)
@@ -24,6 +24,9 @@
 /* Forward declaration of the Authentication Payload */
 typedef struct SilcAuthPayloadStruct *SilcAuthPayload;
 
+/* Forward declaration of the Key Agreement Payload */
+typedef struct SilcKeyAgreementPayloadStruct *SilcKeyAgreementPayload;
+
 /* Authentication method type */
 typedef unsigned short SilcAuthMethod;
 
@@ -46,10 +49,19 @@ SilcBuffer silc_auth_payload_encode(SilcAuthMethod method,
                                    unsigned short auth_len);
 void silc_auth_payload_free(SilcAuthPayload payload);
 SilcBuffer silc_auth_public_key_auth_generate(SilcPKCS pkcs,
-                                             SilcHash hash);
-int silc_auth_public_key_auth_verify(SilcAuthPayload paylaod,
-                                    SilcPKCS pkcs, SilcHash hash);
+                                             SilcHash hash,
+                                             void *id, SilcIdType type);
+int silc_auth_public_key_auth_verify(SilcAuthPayload payload,
+                                    SilcPKCS pkcs, SilcHash hash,
+                                    void *id, SilcIdType type);
 int silc_auth_public_key_auth_verify_data(SilcBuffer payload,
-                                         SilcPKCS pkcs, SilcHash hash);
+                                         SilcPKCS pkcs, SilcHash hash,
+                                         void *id, SilcIdType type);
+SilcKeyAgreementPayload silc_key_agreement_payload_parse(SilcBuffer buffer);
+SilcBuffer silc_key_agreement_payload_encode(char *hostname,
+                                            unsigned int port);
+void silc_key_agreement_payload_free(SilcKeyAgreementPayload payload);
+char *silc_key_agreement_get_hostname(SilcKeyAgreementPayload payload);
+unsigned int silc_key_agreement_get_port(SilcKeyAgreementPayload payload);
 
 #endif