Add ASYNC_block_pause and ASYNC_unblock_pause
[oweals/openssl.git] / crypto / ecdh / ech_key.c
index f000b8c8adbf6472412e2d1ace05e6cffa6cbc35..4f1449896257b315528d77c9a0c2c611c81261f2 100644 (file)
  *
  */
 /* ====================================================================
- * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1998-2003 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
  *
  */
 
-#include "ecdh.h"
-#include <openssl/engine.h>
+#include "ech_locl.h"
 
-int ECDH_compute_key(unsigned char *key, const EC_POINT *pub_key, EC_KEY *eckey)
+int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key,
+                     EC_KEY *eckey,
+                     void *(*KDF) (const void *in, size_t inlen, void *out,
+                                   size_t *outlen))
 {
-       ECDH_DATA *ecdh = ecdh_check(eckey);
-       if (ecdh == NULL)
-               return 0;
-       return ecdh->meth->compute_key(key, pub_key, eckey);
+    ECDH_DATA *ecdh = ecdh_check(eckey);
+    if (ecdh == NULL)
+        return 0;
+    return ecdh->meth->compute_key(out, outlen, pub_key, eckey, KDF);
 }