1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef FIPTOOL_H 8*91f16700Schasinglulu #define FIPTOOL_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu #include <stddef.h> 11*91f16700Schasinglulu #include <stdint.h> 12*91f16700Schasinglulu 13*91f16700Schasinglulu #include <firmware_image_package.h> 14*91f16700Schasinglulu #include <uuid.h> 15*91f16700Schasinglulu 16*91f16700Schasinglulu #include "fiptool_platform.h" 17*91f16700Schasinglulu 18*91f16700Schasinglulu #define NELEM(x) (sizeof (x) / sizeof *(x)) 19*91f16700Schasinglulu 20*91f16700Schasinglulu enum { 21*91f16700Schasinglulu DO_UNSPEC = 0, 22*91f16700Schasinglulu DO_PACK = 1, 23*91f16700Schasinglulu DO_UNPACK = 2, 24*91f16700Schasinglulu DO_REMOVE = 3 25*91f16700Schasinglulu }; 26*91f16700Schasinglulu 27*91f16700Schasinglulu enum { 28*91f16700Schasinglulu LOG_DBG, 29*91f16700Schasinglulu LOG_WARN, 30*91f16700Schasinglulu LOG_ERR 31*91f16700Schasinglulu }; 32*91f16700Schasinglulu 33*91f16700Schasinglulu typedef struct image_desc { 34*91f16700Schasinglulu uuid_t uuid; 35*91f16700Schasinglulu char *name; 36*91f16700Schasinglulu char *cmdline_name; 37*91f16700Schasinglulu int action; 38*91f16700Schasinglulu char *action_arg; 39*91f16700Schasinglulu struct image *image; 40*91f16700Schasinglulu struct image_desc *next; 41*91f16700Schasinglulu } image_desc_t; 42*91f16700Schasinglulu 43*91f16700Schasinglulu typedef struct image { 44*91f16700Schasinglulu struct fip_toc_entry toc_e; 45*91f16700Schasinglulu void *buffer; 46*91f16700Schasinglulu } image_t; 47*91f16700Schasinglulu 48*91f16700Schasinglulu typedef struct cmd { 49*91f16700Schasinglulu char *name; 50*91f16700Schasinglulu int (*handler)(int, char **); 51*91f16700Schasinglulu void (*usage)(int); 52*91f16700Schasinglulu } cmd_t; 53*91f16700Schasinglulu 54*91f16700Schasinglulu #endif /* FIPTOOL_H */ 55