162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef ASM_X86_TWOFISH_H 362306a36Sopenharmony_ci#define ASM_X86_TWOFISH_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/crypto.h> 662306a36Sopenharmony_ci#include <crypto/twofish.h> 762306a36Sopenharmony_ci#include <crypto/b128ops.h> 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/* regular block cipher functions from twofish_x86_64 module */ 1062306a36Sopenharmony_ciasmlinkage void twofish_enc_blk(const void *ctx, u8 *dst, const u8 *src); 1162306a36Sopenharmony_ciasmlinkage void twofish_dec_blk(const void *ctx, u8 *dst, const u8 *src); 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* 3-way parallel cipher functions */ 1462306a36Sopenharmony_ciasmlinkage void __twofish_enc_blk_3way(const void *ctx, u8 *dst, const u8 *src, 1562306a36Sopenharmony_ci bool xor); 1662306a36Sopenharmony_ciasmlinkage void twofish_dec_blk_3way(const void *ctx, u8 *dst, const u8 *src); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci/* helpers from twofish_x86_64-3way module */ 1962306a36Sopenharmony_ciextern void twofish_dec_blk_cbc_3way(const void *ctx, u8 *dst, const u8 *src); 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#endif /* ASM_X86_TWOFISH_H */ 22