]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - tools/imagetool.h
sh: Do not provide strncmp
[people/ms/u-boot.git] / tools / imagetool.h
index 99bbf2f459e5ae2d66bb69a25b55011a990b84c3..e67de9b5ad34fb13e2bfc1304e211d3ebedb8e6c 100644 (file)
@@ -12,6 +12,7 @@
 #include "os_support.h"
 #include <errno.h>
 #include <fcntl.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 #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
@@ -60,6 +68,16 @@ struct image_tool_params {
        const char *comment;    /* Comment to add to signature node */
        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 */
 };
 
 /*
@@ -179,6 +197,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