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