blob: 2da4b9422d44c7ce3811c32f3a8acad21b9a1462 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Heiko Schocher3cb743c2014-03-03 12:19:29 +01002/*
3 * (C) Copyright 2014
Heiko Schocher3cb743c2014-03-03 12:19:29 +01004 */
5
6#ifndef _FIT_COMMON_H_
7#define _FIT_COMMON_H_
8
9#include "imagetool.h"
10#include "mkimage.h"
11#include <image.h>
12
Pali Rohár0ed41e22023-03-29 21:25:54 +020013void fit_print_header(const void *fit, struct image_tool_params *params);
14
Jordan Hand256b7f92019-03-05 14:47:56 -080015/**
16 * Verify the format of FIT header pointed to by ptr
17 *
18 * @ptr: image header to be verified
19 * @image_size: size of while image
20 * @params: mkimage parameters
Heinrich Schuchardt47b4c022022-01-19 18:05:50 +010021 * Return: 0 if OK, -1 on error
Jordan Hand256b7f92019-03-05 14:47:56 -080022 */
Heiko Schocher3cb743c2014-03-03 12:19:29 +010023int fit_verify_header(unsigned char *ptr, int image_size,
24 struct image_tool_params *params);
25
26int fit_check_image_types(uint8_t type);
27
Simon Glassd25c0d92014-06-02 22:04:52 -060028/**
29 * Map an FDT into memory, optionally increasing its size
30 *
31 * @cmdname: Tool name (for displaying with error messages)
32 * @fname: Filename containing FDT
Simon Glass802aa822014-06-02 22:04:53 -060033 * @size_inc: Amount to increase size by (0 = leave it alone)
Simon Glassd25c0d92014-06-02 22:04:52 -060034 * @blobp: Returns pointer to FDT blob
35 * @sbuf: File status information is stored here
36 * @delete_on_error: true to delete the file if we get an error
Luca Boccassibff733f2019-05-14 19:35:02 +010037 * @read_only: true to open in read-only mode
Heinrich Schuchardt47b4c022022-01-19 18:05:50 +010038 * Return: 0 if OK, -1 on error.
Simon Glassd25c0d92014-06-02 22:04:52 -060039 */
Simon Glass802aa822014-06-02 22:04:53 -060040int mmap_fdt(const char *cmdname, const char *fname, size_t size_inc,
Luca Boccassibff733f2019-05-14 19:35:02 +010041 void **blobp, struct stat *sbuf, bool delete_on_error,
42 bool read_only);
Heiko Schocher3cb743c2014-03-03 12:19:29 +010043
Simon Glass674fc7f2021-11-12 12:28:04 -070044/**
45 * copyfile() - Copy a file
46 *
47 * This uses read()/write() to copy file @src to file @dst
48 *
Simon Glass5c5797f2021-11-12 12:28:05 -070049 * If @dst exists, it is overwritten and truncated to the correct size.
50 *
Simon Glass674fc7f2021-11-12 12:28:04 -070051 * @src: Filename to read from
52 * @dst: Filename to write to
53 * @return 0 if OK, -1 on error
54 */
55int copyfile(const char *src, const char *dst);
56
Simon Glasse4607262021-11-12 12:28:13 -070057/**
58 * summary_show() - Show summary information about the signing process
59 *
60 * @summary: Summary info to show
61 * @imagefile: Filename of the output image
62 * @keydest: Filename where the key information is written (NULL if none)
63 */
64void summary_show(struct image_summary *summary, const char *imagefile,
65 const char *keydest);
66
Heiko Schocher3cb743c2014-03-03 12:19:29 +010067#endif /* _FIT_COMMON_H_ */