
This patch changes return type for hash_func_ws function pointer to int because hash.c is the host for all the crypto algorithm requests. Ace h/w acceleration as of now and many more to be included in future may require a type to convey the result ("encoding success or failure") to the caller.
Signed-off-by: Akshay Saraswat akshay.s@samsung.com --- Changes since v3: - New patch.
include/hash.h | 2 +- include/sha1.h | 2 +- include/sha256.h | 2 +- lib/sha1.c | 4 +++- lib/sha256.c | 4 +++- 5 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/include/hash.h b/include/hash.h index 34ba558..3d7200e 100644 --- a/include/hash.h +++ b/include/hash.h @@ -40,7 +40,7 @@ struct hash_algo { * @output: Checksum result (length depends on algorithm) * @chunk_sz: Trigger watchdog after processing this many bytes */ - void (*hash_func_ws)(const unsigned char *input, unsigned int ilen, + int (*hash_func_ws)(const unsigned char *input, unsigned int ilen, unsigned char *output, unsigned int chunk_sz); int chunk_size; /* Watchdog chunk size */ }; diff --git a/include/sha1.h b/include/sha1.h index da09dab..3f45b3c 100644 --- a/include/sha1.h +++ b/include/sha1.h @@ -88,7 +88,7 @@ void sha1_csum(const unsigned char *input, unsigned int ilen, * \param output SHA-1 checksum result * \param chunk_sz watchdog triggering period (in bytes of input processed) */ -void sha1_csum_wd(const unsigned char *input, unsigned int ilen, +int sha1_csum_wd(const unsigned char *input, unsigned int ilen, unsigned char *output, unsigned int chunk_sz);
/** diff --git a/include/sha256.h b/include/sha256.h index beadab3..07b80c8 100644 --- a/include/sha256.h +++ b/include/sha256.h @@ -16,7 +16,7 @@ void sha256_starts(sha256_context * ctx); void sha256_update(sha256_context *ctx, const uint8_t *input, uint32_t length); void sha256_finish(sha256_context * ctx, uint8_t digest[SHA256_SUM_LEN]);
-void sha256_csum_wd(const unsigned char *input, unsigned int ilen, +int sha256_csum_wd(const unsigned char *input, unsigned int ilen, unsigned char *output, unsigned int chunk_sz);
#endif /* _SHA256_H */ diff --git a/lib/sha1.c b/lib/sha1.c index a121224..f272c48 100644 --- a/lib/sha1.c +++ b/lib/sha1.c @@ -320,7 +320,7 @@ void sha1_csum(const unsigned char *input, unsigned int ilen, * Output = SHA-1( input buffer ). Trigger the watchdog every 'chunk_sz' * bytes of input processed. */ -void sha1_csum_wd(const unsigned char *input, unsigned int ilen, +int sha1_csum_wd(const unsigned char *input, unsigned int ilen, unsigned char *output, unsigned int chunk_sz) { sha1_context ctx; @@ -347,6 +347,8 @@ void sha1_csum_wd(const unsigned char *input, unsigned int ilen, #endif
sha1_finish (&ctx, output); + + return 0; }
/* diff --git a/lib/sha256.c b/lib/sha256.c index ab2db48..ea16d03 100644 --- a/lib/sha256.c +++ b/lib/sha256.c @@ -265,7 +265,7 @@ void sha256_finish(sha256_context * ctx, uint8_t digest[32]) * Output = SHA-256( input buffer ). Trigger the watchdog every 'chunk_sz' * bytes of input processed. */ -void sha256_csum_wd(const unsigned char *input, unsigned int ilen, +int sha256_csum_wd(const unsigned char *input, unsigned int ilen, unsigned char *output, unsigned int chunk_sz) { sha256_context ctx; @@ -292,4 +292,6 @@ void sha256_csum_wd(const unsigned char *input, unsigned int ilen, #endif
sha256_finish(&ctx, output); + + return 0; }