Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / arch / x86 / crypto / sm4-avx.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #ifndef ASM_X86_SM4_AVX_H
3 #define ASM_X86_SM4_AVX_H
4
5 #include <linux/types.h>
6 #include <crypto/sm4.h>
7
8 typedef void (*sm4_crypt_func)(const u32 *rk, u8 *dst, const u8 *src, u8 *iv);
9
10 int sm4_avx_ecb_encrypt(struct skcipher_request *req);
11 int sm4_avx_ecb_decrypt(struct skcipher_request *req);
12
13 int sm4_cbc_encrypt(struct skcipher_request *req);
14 int sm4_avx_cbc_decrypt(struct skcipher_request *req,
15                         unsigned int bsize, sm4_crypt_func func);
16
17 int sm4_cfb_encrypt(struct skcipher_request *req);
18 int sm4_avx_cfb_decrypt(struct skcipher_request *req,
19                         unsigned int bsize, sm4_crypt_func func);
20
21 int sm4_avx_ctr_crypt(struct skcipher_request *req,
22                         unsigned int bsize, sm4_crypt_func func);
23
24 #endif