/* SPDX-License-Identifier: GPL-2.0 */ /* * Software async multibuffer crypto daemon headers * * Author: * Tim Chen <tim.c.chen@linux.intel.com> * * Copyright (c) 2014, Intel Corporation. */ #ifndef _CRYPTO_MCRYPT_H #define _CRYPTO_MCRYPT_H #include <linux/crypto.h> #include <linux/kernel.h> #include <crypto/hash.h> struct mcryptd_ahash { struct crypto_ahash base; }; static inline struct mcryptd_ahash *__mcryptd_ahash_cast( struct crypto_ahash *tfm) { return (struct mcryptd_ahash *)tfm; } struct mcryptd_cpu_queue { struct crypto_queue queue; spinlock_t q_lock; struct work_struct work; }; struct mcryptd_queue { struct mcryptd_cpu_queue __percpu *cpu_queue; }; struct mcryptd_instance_ctx { struct crypto_spawn spawn; struct mcryptd_queue *queue; }; struct mcryptd_hash_ctx { struct crypto_ahash *child; struct mcryptd_alg_state *alg_state; }; struct mcryptd_tag { /* seq number of request */ unsigned seq_num; /* arrival time of request */ unsigned long arrival; unsigned long expire; int cpu; }; struct mcryptd_hash_request_ctx { struct list_head waiter; crypto_completion_t complete; struct mcryptd_tag tag; struct crypto_hash_walk walk; u8 *out; int flag; struct ahash_request areq; }; struct mcryptd_ahash *mcryptd_alloc_ahash(const char *alg_name, u32 type, u32 mask); struct crypto_ahash *mcryptd_ahash_child(struct mcryptd_ahash *tfm); struct ahash_request *mcryptd_ahash_desc(struct ahash_request *req); void mcryptd_free_ahash(struct mcryptd_ahash *tfm); void mcryptd_flusher(struct work_struct *work); enum mcryptd_req_type { MCRYPTD_NONE, MCRYPTD_UPDATE, MCRYPTD_FINUP, MCRYPTD_DIGEST, MCRYPTD_FINAL }; struct mcryptd_alg_cstate { unsigned long next_flush; unsigned next_seq_num; bool flusher_engaged; struct delayed_work flush; int cpu; struct mcryptd_alg_state *alg_state; void *mgr; spinlock_t work_lock; struct list_head work_list; struct list_head flush_list; }; struct mcryptd_alg_state { struct mcryptd_alg_cstate __percpu *alg_cstate; unsigned long (*flusher)(struct mcryptd_alg_cstate *cstate); }; /* return delay in jiffies from current time */ static inline unsigned long get_delay(unsigned long t) { long delay; delay = (long) t - (long) jiffies; if (delay <= 0) return 0; else return (unsigned long) delay; } void mcryptd_arm_flusher(struct mcryptd_alg_cstate *cstate, unsigned long delay); #endif
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
internal | Folder | 0755 |
|
|
ablk_helper.h | File | 773 B | 0644 |
|
acompress.h | File | 7.89 KB | 0644 |
|
aead.h | File | 18.1 KB | 0644 |
|
aes.h | File | 1.03 KB | 0644 |
|
akcipher.h | File | 11.7 KB | 0644 |
|
algapi.h | File | 11.12 KB | 0644 |
|
authenc.h | File | 845 B | 0644 |
|
b128ops.h | File | 2.41 KB | 0644 |
|
blake2s.h | File | 2.37 KB | 0644 |
|
blowfish.h | File | 415 B | 0644 |
|
cast5.h | File | 590 B | 0644 |
|
cast6.h | File | 636 B | 0644 |
|
cast_common.h | File | 232 B | 0644 |
|
cbc.h | File | 3.48 KB | 0644 |
|
chacha20.h | File | 1.01 KB | 0644 |
|
cryptd.h | File | 2.5 KB | 0644 |
|
crypto_wq.h | File | 161 B | 0644 |
|
ctr.h | File | 524 B | 0644 |
|
des.h | File | 542 B | 0644 |
|
dh.h | File | 2.62 KB | 0644 |
|
drbg.h | File | 9.05 KB | 0644 |
|
ecdh.h | File | 2.67 KB | 0644 |
|
engine.h | File | 4 KB | 0644 |
|
gcm.h | File | 140 B | 0644 |
|
gf128mul.h | File | 9.41 KB | 0644 |
|
ghash.h | File | 381 B | 0644 |
|
hash.h | File | 31.48 KB | 0644 |
|
hash_info.h | File | 1.13 KB | 0644 |
|
hmac.h | File | 173 B | 0644 |
|
if_alg.h | File | 7 KB | 0644 |
|
kpp.h | File | 9.68 KB | 0644 |
|
lrw.h | File | 1.22 KB | 0644 |
|
mcryptd.h | File | 2.37 KB | 0644 |
|
md5.h | File | 497 B | 0644 |
|
null.h | File | 569 B | 0644 |
|
padlock.h | File | 649 B | 0644 |
|
pcrypt.h | File | 1.4 KB | 0644 |
|
pkcs7.h | File | 1.21 KB | 0644 |
|
poly1305.h | File | 920 B | 0644 |
|
public_key.h | File | 2.08 KB | 0644 |
|
rng.h | File | 6.66 KB | 0644 |
|
scatterwalk.h | File | 3.67 KB | 0644 |
|
serpent.h | File | 712 B | 0644 |
|
sha.h | File | 2.88 KB | 0644 |
|
sha1_base.h | File | 2.47 KB | 0644 |
|
sha256_base.h | File | 3.03 KB | 0644 |
|
sha3.h | File | 704 B | 0644 |
|
sha512_base.h | File | 3.19 KB | 0644 |
|
skcipher.h | File | 20.7 KB | 0644 |
|
sm3.h | File | 833 B | 0644 |
|
sm3_base.h | File | 2.95 KB | 0644 |
|
twofish.h | File | 755 B | 0644 |
|
xts.h | File | 1.81 KB | 0644 |
|