xref: /openbmc/linux/include/crypto/internal/hash.h (revision 20036252fc61c624a49770fb89684ea5cfdfa05e)
1*20036252SHerbert Xu /*
2*20036252SHerbert Xu  * Hash algorithms.
3*20036252SHerbert Xu  *
4*20036252SHerbert Xu  * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au>
5*20036252SHerbert Xu  *
6*20036252SHerbert Xu  * This program is free software; you can redistribute it and/or modify it
7*20036252SHerbert Xu  * under the terms of the GNU General Public License as published by the Free
8*20036252SHerbert Xu  * Software Foundation; either version 2 of the License, or (at your option)
9*20036252SHerbert Xu  * any later version.
10*20036252SHerbert Xu  *
11*20036252SHerbert Xu  */
12*20036252SHerbert Xu 
13*20036252SHerbert Xu #ifndef _CRYPTO_INTERNAL_HASH_H
14*20036252SHerbert Xu #define _CRYPTO_INTERNAL_HASH_H
15*20036252SHerbert Xu 
16*20036252SHerbert Xu #include <crypto/algapi.h>
17*20036252SHerbert Xu 
18*20036252SHerbert Xu struct ahash_request;
19*20036252SHerbert Xu struct scatterlist;
20*20036252SHerbert Xu 
21*20036252SHerbert Xu struct crypto_hash_walk {
22*20036252SHerbert Xu 	char *data;
23*20036252SHerbert Xu 
24*20036252SHerbert Xu 	unsigned int offset;
25*20036252SHerbert Xu 	unsigned int alignmask;
26*20036252SHerbert Xu 
27*20036252SHerbert Xu 	struct page *pg;
28*20036252SHerbert Xu 	unsigned int entrylen;
29*20036252SHerbert Xu 
30*20036252SHerbert Xu 	unsigned int total;
31*20036252SHerbert Xu 	struct scatterlist *sg;
32*20036252SHerbert Xu 
33*20036252SHerbert Xu 	unsigned int flags;
34*20036252SHerbert Xu };
35*20036252SHerbert Xu 
36*20036252SHerbert Xu int crypto_hash_walk_done(struct crypto_hash_walk *walk, int err);
37*20036252SHerbert Xu int crypto_hash_walk_first(struct ahash_request *req,
38*20036252SHerbert Xu 			   struct crypto_hash_walk *walk);
39*20036252SHerbert Xu 
40*20036252SHerbert Xu #endif	/* _CRYPTO_INTERNAL_HASH_H */
41*20036252SHerbert Xu 
42