This source file includes following definitions.
- to_ahash_tmpl
1
2
3
4
5
6 #ifndef _SHA_H_
7 #define _SHA_H_
8
9 #include <crypto/scatterwalk.h>
10 #include <crypto/sha.h>
11
12 #include "common.h"
13 #include "core.h"
14
15 #define QCE_SHA_MAX_BLOCKSIZE SHA256_BLOCK_SIZE
16 #define QCE_SHA_MAX_DIGESTSIZE SHA256_DIGEST_SIZE
17
18 struct qce_sha_ctx {
19 u8 authkey[QCE_SHA_MAX_BLOCKSIZE];
20 };
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 struct qce_sha_reqctx {
42 u8 buf[QCE_SHA_MAX_BLOCKSIZE];
43 u8 tmpbuf[QCE_SHA_MAX_BLOCKSIZE];
44 u8 digest[QCE_SHA_MAX_DIGESTSIZE];
45 unsigned int buflen;
46 unsigned long flags;
47 struct scatterlist *src_orig;
48 unsigned int nbytes_orig;
49 int src_nents;
50 __be32 byte_count[2];
51 u64 count;
52 bool first_blk;
53 bool last_blk;
54 struct scatterlist sg[2];
55 u8 *authkey;
56 unsigned int authklen;
57 struct scatterlist result_sg;
58 };
59
60 static inline struct qce_alg_template *to_ahash_tmpl(struct crypto_tfm *tfm)
61 {
62 struct crypto_ahash *ahash = __crypto_ahash_cast(tfm);
63 struct ahash_alg *alg = container_of(crypto_hash_alg_common(ahash),
64 struct ahash_alg, halg);
65
66 return container_of(alg, struct qce_alg_template, alg.ahash);
67 }
68
69 extern const struct qce_algo_ops ahash_ops;
70
71 #endif