tools: mkimage: use common ALIGN to do the size align
[oweals/u-boot.git] / tools / imagetool.h
index 71471420f9c4e218337ff0ee51514607274c816f..81e5cd0c5ccd1cc7236f4224f664ff73d195672a 100644 (file)
@@ -25,6 +25,9 @@
 
 #define ARRAY_SIZE(x)          (sizeof(x) / sizeof((x)[0]))
 
+#define __ALIGN_MASK(x, mask)  (((x) + (mask)) & ~(mask))
+#define ALIGN(x, a)            __ALIGN_MASK((x), (typeof(x))(a) - 1)
+
 #define IH_ARCH_DEFAULT                IH_ARCH_INVALID
 
 /* Information about a file that needs to be placed into the FIT */
@@ -179,6 +182,25 @@ int imagetool_verify_print_header(
        struct image_type_params *tparams,
        struct image_tool_params *params);
 
+/*
+ * imagetool_verify_print_header_by_type() - verifies the image header
+ *
+ * Verify the image_header for the image type given by tparams.
+ * If verification is successful, this prints the respective header.
+ * @ptr: pointer the the image header
+ * @sbuf: stat information about the file pointed to by ptr
+ * @tparams: image type parameters
+ * @params: mkimage parameters
+ *
+ * @return 0 on success, negative if input image format does not match with
+ * the given image type
+ */
+int imagetool_verify_print_header_by_type(
+       void *ptr,
+       struct stat *sbuf,
+       struct image_type_params *tparams,
+       struct image_tool_params *params);
+
 /**
  * imagetool_save_subimage - store data into a file
  * @file_name: name of the destination file
@@ -234,6 +256,7 @@ void pbl_load_uboot(int fd, struct image_tool_params *mparams);
 int zynqmpbif_copy_image(int fd, struct image_tool_params *mparams);
 int imx8image_copy_image(int fd, struct image_tool_params *mparams);
 int imx8mimage_copy_image(int fd, struct image_tool_params *mparams);
+int rockchip_copy_image(int fd, struct image_tool_params *mparams);
 
 #define ___cat(a, b) a ## b
 #define __cat(a, b) ___cat(a, b)