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