freebsd-dev/sys/mips/cavium/cryptocteon/cryptocteonvar.h
John Baldwin 63823cac92 Remove MD5 HMAC from OCF.
There are no in-kernel consumers.

Reviewed by:	cem
Relnotes:	yes
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D24775
2020-05-11 22:08:08 +00:00

76 lines
2.4 KiB
C

/*
* Octeon Crypto for OCF
*
* Written by David McCullough <david_mccullough@securecomputing.com>
* Copyright (C) 2009 David McCullough
*
* LICENSE TERMS
*
* The free distribution and use of this software in both source and binary
* form is allowed (with or without changes) provided that:
*
* 1. distributions of this source code include the above copyright
* notice, this list of conditions and the following disclaimer;
*
* 2. distributions in binary form include the above copyright
* notice, this list of conditions and the following disclaimer
* in the documentation and/or other associated materials;
*
* 3. the copyright holder's name is not used to endorse products
* built using this software without specific written permission.
*
* DISCLAIMER
*
* This software is provided 'as is' with no explicit or implied warranties
* in respect of its properties, including, but not limited to, correctness
* and/or fitness for purpose.
* ---------------------------------------------------------------------------
*
* $FreeBSD$
*/
#ifndef _MIPS_CAVIUM_CRYPTOCTEON_CRYPTOCTEONVAR_H_
#define _MIPS_CAVIUM_CRYPTOCTEON_CRYPTOCTEONVAR_H_
struct octo_sess;
typedef int octo_encrypt_t(struct octo_sess *od, struct iovec *iov, size_t iovcnt, size_t iovlen, int auth_off, int auth_len, int crypt_off, int crypt_len, uint8_t *icv, uint8_t *ivp);
typedef int octo_decrypt_t(struct octo_sess *od, struct iovec *iov, size_t iovcnt, size_t iovlen, int auth_off, int auth_len, int crypt_off, int crypt_len, uint8_t *icv, uint8_t *ivp);
struct octo_sess {
#define MAX_CIPHER_KEYLEN 64
char octo_enckey[MAX_CIPHER_KEYLEN];
int octo_encklen;
int octo_mlen;
octo_encrypt_t *octo_encrypt;
octo_decrypt_t *octo_decrypt;
uint64_t octo_hminner[3];
uint64_t octo_hmouter[3];
struct iovec octo_iov[UIO_MAXIOV];
};
#define dprintf(fmt, ...) \
do { \
if (cryptocteon_debug) \
printf("%s: " fmt, __func__, ## __VA_ARGS__); \
} while (0)
extern int cryptocteon_debug;
void octo_calc_hash(uint8_t, unsigned char *, uint64_t *, uint64_t *);
/* XXX Actually just hashing functions, not encryption. */
octo_encrypt_t octo_null_sha1_encrypt;
octo_encrypt_t octo_aes_cbc_encrypt;
octo_encrypt_t octo_aes_cbc_sha1_encrypt;
octo_decrypt_t octo_aes_cbc_decrypt;
octo_decrypt_t octo_aes_cbc_sha1_decrypt;
#endif /* !_MIPS_CAVIUM_CRYPTOCTEON_CRYPTOCTEONVAR_H_ */