X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tools%2Fimagetool.h;h=d191b9cfe709637a479b41697046f59b7263e2fe;hb=00ef2cd6c7bcad475522e047105f41174fceb2af;hp=ad2deb58dceae81e97884e0a19cf9c3541a78f6d;hpb=c9feb427aba860ebc79f9851a1bb49cc456a2d48;p=u-boot diff --git a/tools/imagetool.h b/tools/imagetool.h index ad2deb58dc..d191b9cfe7 100644 --- a/tools/imagetool.h +++ b/tools/imagetool.h @@ -1,9 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2013 * * Written by Guilherme Maciel Ferreira - * - * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _IMAGETOOL_H_ @@ -12,6 +11,7 @@ #include "os_support.h" #include #include +#include #include #include #include @@ -27,6 +27,13 @@ #define IH_ARCH_DEFAULT IH_ARCH_INVALID +/* Information about a file that needs to be placed into the FIT */ +struct content_info { + struct content_info *next; + int type; /* File type (IH_TYPE_...) */ + const char *fname; +}; + /* * This structure defines all such variables those are initialized by * mkimage and dumpimage main core and need to be referred by image @@ -61,6 +68,15 @@ struct image_tool_params { int require_keys; /* 1 to mark signing keys as 'required' */ int file_size; /* Total size of output file */ int orig_file_size; /* Original size for file before padding */ + bool auto_its; /* Automatically create the .its file */ + int fit_image_type; /* Image type to put into the FIT */ + char *fit_ramdisk; /* Ramdisk file to include */ + struct content_info *content_head; /* List of files to include */ + struct content_info *content_tail; + bool external_data; /* Store data outside the FIT */ + bool quiet; /* Don't output text in normal operation */ + unsigned int external_offset; /* Add padding to external data */ + const char *engine_id; /* Engine to use for signing */ }; /* @@ -180,6 +196,34 @@ int imagetool_save_subimage( ulong file_data, ulong file_len); +/** + * imagetool_get_filesize() - Utility function to obtain the size of a file + * + * This function prints a message if an error occurs, showing the error that + * was obtained. + * + * @params: mkimage parameters + * @fname: filename to check + * @return size of file, or -ve value on error + */ +int imagetool_get_filesize(struct image_tool_params *params, const char *fname); + +/** + * imagetool_get_source_date() - Get timestamp for build output. + * + * Gets a timestamp for embedding it in a build output. If set + * SOURCE_DATE_EPOCH is used. Else the given fallback value is returned. Prints + * an error message if SOURCE_DATE_EPOCH contains an invalid value and returns + * 0. + * + * @params: mkimage parameters + * @fallback: timestamp to use if SOURCE_DATE_EPOCH isn't set + * @return timestamp based on SOURCE_DATE_EPOCH + */ +time_t imagetool_get_source_date( + struct image_tool_params *params, + time_t fallback); + /* * There is a c file associated with supported image type low level code * for ex. default_image.c, fit_image.c @@ -187,6 +231,7 @@ int imagetool_save_subimage( void pbl_load_uboot(int fd, struct image_tool_params *mparams); +int zynqmpbif_copy_image(int fd, struct image_tool_params *mparams); #define ___cat(a, b) a ## b #define __cat(a, b) ___cat(a, b)