1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
2 
3 #ifndef BLAKE2S_INTERNAL_H
4 #define BLAKE2S_INTERNAL_H
5 
6 #include <crypto/blake2s.h>
7 
8 struct blake2s_tfm_ctx {
9 	u8 key[BLAKE2S_KEY_SIZE];
10 	unsigned int keylen;
11 };
12 
13 void blake2s_compress_generic(struct blake2s_state *state,const u8 *block,
14 			      size_t nblocks, const u32 inc);
15 
16 void blake2s_compress_arch(struct blake2s_state *state,const u8 *block,
17 			   size_t nblocks, const u32 inc);
18 
19 bool blake2s_selftest(void);
20 
21 static inline void blake2s_set_lastblock(struct blake2s_state *state)
22 {
23 	state->f[0] = -1;
24 }
25 
26 #endif /* BLAKE2S_INTERNAL_H */
27