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