xref: /linux/arch/x86/crypto/sm4-avx.h (revision e6a901a00822659181c93c86d8bbc2a17779fddc)
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_avx_ctr_crypt(struct skcipher_request *req,
18 			unsigned int bsize, sm4_crypt_func func);
19 
20 #endif
21