linux/include/crypto/blake2s.h

/* SPDX-License-Identifier: GPL-2.0 OR MIT */
/*
 * Copyright (C) 2015-2019 Jason A. Donenfeld <[email protected]>. All Rights Reserved.
 */

#ifndef _CRYPTO_BLAKE2S_H
#define _CRYPTO_BLAKE2S_H

#include <linux/bug.h>
#include <linux/kconfig.h>
#include <linux/types.h>
#include <linux/string.h>

enum blake2s_lengths {};

struct blake2s_state {};

enum blake2s_iv {};

static inline void __blake2s_init(struct blake2s_state *state, size_t outlen,
				  const void *key, size_t keylen)
{}

static inline void blake2s_init(struct blake2s_state *state,
				const size_t outlen)
{}

static inline void blake2s_init_key(struct blake2s_state *state,
				    const size_t outlen, const void *key,
				    const size_t keylen)
{}

void blake2s_update(struct blake2s_state *state, const u8 *in, size_t inlen);
void blake2s_final(struct blake2s_state *state, u8 *out);

static inline void blake2s(u8 *out, const u8 *in, const u8 *key,
			   const size_t outlen, const size_t inlen,
			   const size_t keylen)
{}

#endif /* _CRYPTO_BLAKE2S_H */