summaryrefslogtreecommitdiff
path: root/tools/imagetool.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/imagetool.c')
-rw-r--r--tools/imagetool.c34
1 files changed, 33 insertions, 1 deletions
diff --git a/tools/imagetool.c b/tools/imagetool.c
index b3e628f612..ba1f64aa37 100644
--- a/tools/imagetool.c
+++ b/tools/imagetool.c
@@ -46,7 +46,7 @@ int imagetool_verify_print_header(
if (retval == 0) {
/*
- * Print the image information if verify is
+ * Print the image information if verify is
* successful
*/
if ((*curr)->print_header) {
@@ -65,6 +65,38 @@ int imagetool_verify_print_header(
return retval;
}
+int imagetool_verify_print_header_by_type(
+ void *ptr,
+ struct stat *sbuf,
+ struct image_type_params *tparams,
+ struct image_tool_params *params)
+{
+ int retval;
+
+ retval = tparams->verify_header((unsigned char *)ptr, sbuf->st_size,
+ params);
+
+ if (retval == 0) {
+ /*
+ * Print the image information if verify is successful
+ */
+ if (tparams->print_header) {
+ if (!params->quiet)
+ tparams->print_header(ptr);
+ } else {
+ fprintf(stderr,
+ "%s: print_header undefined for %s\n",
+ params->cmdname, tparams->name);
+ }
+ } else {
+ fprintf(stderr,
+ "%s: verify_header failed for %s with exit code %d\n",
+ params->cmdname, tparams->name, retval);
+ }
+
+ return retval;
+}
+
int imagetool_save_subimage(
const char *file_name,
ulong file_data,