patch-2.4.27 linux-2.4.27/include/linux/crypto.h
Next file: linux-2.4.27/include/linux/ethtool.h
Previous file: linux-2.4.27/include/linux/compiler.h
Back to the patch index
Back to the overall index
- Lines: 42
- Date:
2004-08-07 16:26:06.244412111 -0700
- Orig file:
linux-2.4.26/include/linux/crypto.h
- Orig date:
2004-02-18 05:36:32.000000000 -0800
diff -urN linux-2.4.26/include/linux/crypto.h linux-2.4.27/include/linux/crypto.h
@@ -22,6 +22,7 @@
#include <linux/list.h>
#include <linux/string.h>
#include <asm/page.h>
+#include <asm/errno.h>
/*
* Algorithm masks and types.
@@ -76,6 +77,8 @@
void (*dia_init)(void *ctx);
void (*dia_update)(void *ctx, const u8 *data, unsigned int len);
void (*dia_final)(void *ctx, u8 *out);
+ int (*dia_setkey)(void *ctx, const u8 *key,
+ unsigned int keylen, u32 *flags);
};
struct compress_alg {
@@ -157,6 +160,8 @@
void (*dit_final)(struct crypto_tfm *tfm, u8 *out);
void (*dit_digest)(struct crypto_tfm *tfm, struct scatterlist *sg,
unsigned int nsg, u8 *out);
+ int (*dit_setkey)(struct crypto_tfm *tfm,
+ const u8 *key, unsigned int keylen);
#ifdef CONFIG_CRYPTO_HMAC
void *dit_hmac_block;
#endif
@@ -287,6 +292,15 @@
tfm->crt_digest.dit_digest(tfm, sg, nsg, out);
}
+static inline int crypto_digest_setkey(struct crypto_tfm *tfm,
+ const u8 *key, unsigned int keylen)
+{
+ BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
+ if (tfm->crt_digest.dit_setkey == NULL)
+ return -ENOSYS;
+ return tfm->crt_digest.dit_setkey(tfm, key, keylen);
+}
+
static inline int crypto_cipher_setkey(struct crypto_tfm *tfm,
const u8 *key, unsigned int keylen)
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)