1/* 2 * Software async crypto daemon 3 */ 4 5#ifndef _CRYPTO_CRYPT_H 6#define _CRYPTO_CRYPT_H 7 8#include <linux/crypto.h> 9#include <linux/kernel.h> 10#include <crypto/hash.h> 11 12struct cryptd_ablkcipher { 13 struct crypto_ablkcipher base; 14}; 15 16static inline struct cryptd_ablkcipher *__cryptd_ablkcipher_cast( 17 struct crypto_ablkcipher *tfm) 18{ 19 return (struct cryptd_ablkcipher *)tfm; 20} 21 22/* alg_name should be algorithm to be cryptd-ed */ 23struct cryptd_ablkcipher *cryptd_alloc_ablkcipher(const char *alg_name, 24 u32 type, u32 mask); 25struct crypto_blkcipher *cryptd_ablkcipher_child(struct cryptd_ablkcipher *tfm); 26void cryptd_free_ablkcipher(struct cryptd_ablkcipher *tfm); 27 28struct cryptd_ahash { 29 struct crypto_ahash base; 30}; 31 32static inline struct cryptd_ahash *__cryptd_ahash_cast( 33 struct crypto_ahash *tfm) 34{ 35 return (struct cryptd_ahash *)tfm; 36} 37 38/* alg_name should be algorithm to be cryptd-ed */ 39struct cryptd_ahash *cryptd_alloc_ahash(const char *alg_name, 40 u32 type, u32 mask); 41struct crypto_shash *cryptd_ahash_child(struct cryptd_ahash *tfm); 42struct shash_desc *cryptd_shash_desc(struct ahash_request *req); 43void cryptd_free_ahash(struct cryptd_ahash *tfm); 44 45#endif 46