xref: /openbmc/linux/arch/x86/crypto/twofish.h (revision a04ea6f7)
1*a04ea6f7SArd Biesheuvel /* SPDX-License-Identifier: GPL-2.0 */
2*a04ea6f7SArd Biesheuvel #ifndef ASM_X86_TWOFISH_H
3*a04ea6f7SArd Biesheuvel #define ASM_X86_TWOFISH_H
4*a04ea6f7SArd Biesheuvel 
5*a04ea6f7SArd Biesheuvel #include <linux/crypto.h>
6*a04ea6f7SArd Biesheuvel #include <crypto/twofish.h>
7*a04ea6f7SArd Biesheuvel #include <crypto/b128ops.h>
8*a04ea6f7SArd Biesheuvel 
9*a04ea6f7SArd Biesheuvel /* regular block cipher functions from twofish_x86_64 module */
10*a04ea6f7SArd Biesheuvel asmlinkage void twofish_enc_blk(const void *ctx, u8 *dst, const u8 *src);
11*a04ea6f7SArd Biesheuvel asmlinkage void twofish_dec_blk(const void *ctx, u8 *dst, const u8 *src);
12*a04ea6f7SArd Biesheuvel 
13*a04ea6f7SArd Biesheuvel /* 3-way parallel cipher functions */
14*a04ea6f7SArd Biesheuvel asmlinkage void __twofish_enc_blk_3way(const void *ctx, u8 *dst, const u8 *src,
15*a04ea6f7SArd Biesheuvel 				       bool xor);
16*a04ea6f7SArd Biesheuvel asmlinkage void twofish_dec_blk_3way(const void *ctx, u8 *dst, const u8 *src);
17*a04ea6f7SArd Biesheuvel 
18*a04ea6f7SArd Biesheuvel /* helpers from twofish_x86_64-3way module */
19*a04ea6f7SArd Biesheuvel extern void twofish_dec_blk_cbc_3way(const void *ctx, u8 *dst, const u8 *src);
20*a04ea6f7SArd Biesheuvel 
21*a04ea6f7SArd Biesheuvel #endif /* ASM_X86_TWOFISH_H */
22