+/**
+ * @brief Derive key
+ * @param result buffer for the derived key, allocated by caller
+ * @param out_len desired length of the derived key
+ * @param xtr_algo hash algorithm for the extraction phase, GCRY_MD_...
+ * @param prf_algo hash algorithm for the expansion phase, GCRY_MD_...
+ * @param xts salt
+ * @param xts_len length of xts
+ * @param skm source key material
+ * @param skm_len length of skm
+ * @return GNUNET_YES on success
+ */
+int
+GNUNET_CRYPTO_hkdf (void *result, size_t out_len,
+ int xtr_algo, int prf_algo,
+ const void *xts, size_t xts_len,
+ const void *skm, size_t skm_len,
+ ...)
+{
+ va_list argp;
+ int ret;
+
+ va_start(argp, skm_len);
+ ret = GNUNET_CRYPTO_hkdf_v (result, out_len, xtr_algo, prf_algo, xts,
+ xts_len, skm, skm_len, argp);
+ va_end(argp);
+
+ return ret;
+}
+