|
@@ -247,6 +247,29 @@ int hash_parse_string(const char *algo_name, const char *str, uint8_t *result)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+int hash_block(const char *algo_name, const void *data, unsigned int len,
|
|
|
+ uint8_t *output, int *output_size)
|
|
|
+{
|
|
|
+ struct hash_algo *algo;
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ ret = hash_lookup_algo(algo_name, &algo);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+ if (output_size && *output_size < algo->digest_size) {
|
|
|
+ debug("Output buffer size %d too small (need %d bytes)",
|
|
|
+ *output_size, algo->digest_size);
|
|
|
+ return -ENOSPC;
|
|
|
+ }
|
|
|
+ if (output_size)
|
|
|
+ *output_size = algo->digest_size;
|
|
|
+ algo->hash_func_ws(data, len, output, algo->chunk_size);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+#if defined(CONFIG_CMD_HASH) || defined(CONFIG_CMD_SHA1SUM) || defined(CONFIG_CMD_CRC32)
|
|
|
/**
|
|
|
* store_result: Store the resulting sum to an address or variable
|
|
|
*
|
|
@@ -359,7 +382,7 @@ static int parse_verify_sum(struct hash_algo *algo, char *verify_str,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-void hash_show(struct hash_algo *algo, ulong addr, ulong len, uint8_t *output)
|
|
|
+static void hash_show(struct hash_algo *algo, ulong addr, ulong len, uint8_t *output)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -368,28 +391,6 @@ void hash_show(struct hash_algo *algo, ulong addr, ulong len, uint8_t *output)
|
|
|
printf("%02x", output[i]);
|
|
|
}
|
|
|
|
|
|
-int hash_block(const char *algo_name, const void *data, unsigned int len,
|
|
|
- uint8_t *output, int *output_size)
|
|
|
-{
|
|
|
- struct hash_algo *algo;
|
|
|
- int ret;
|
|
|
-
|
|
|
- ret = hash_lookup_algo(algo_name, &algo);
|
|
|
- if (ret)
|
|
|
- return ret;
|
|
|
-
|
|
|
- if (output_size && *output_size < algo->digest_size) {
|
|
|
- debug("Output buffer size %d too small (need %d bytes)",
|
|
|
- *output_size, algo->digest_size);
|
|
|
- return -ENOSPC;
|
|
|
- }
|
|
|
- if (output_size)
|
|
|
- *output_size = algo->digest_size;
|
|
|
- algo->hash_func_ws(data, len, output, algo->chunk_size);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
int hash_command(const char *algo_name, int flags, cmd_tbl_t *cmdtp, int flag,
|
|
|
int argc, char * const argv[])
|
|
|
{
|
|
@@ -473,3 +474,4 @@ int hash_command(const char *algo_name, int flags, cmd_tbl_t *cmdtp, int flag,
|
|
|
return 0;
|
|
|
}
|
|
|
#endif
|
|
|
+#endif
|