• Masahiro Yamada's avatar
    fip: move headers shared between TF and fiptool to include/tools_share · 2a6c1a8f
    Masahiro Yamada authored
    
    Some header files need to be shared between TF and host programs.
    For fiptool, two headers are copied to the tools/fiptool directory,
    but it looks clumsy.
    
    This commit introduces a new directory, include/tools_share, which
    collects headers that should be shared between TF and host programs.
    
    This will clarify the interface exposed to host tools.  We should
    add new headers to this directory only when we really need to do so.
    
    For clarification, I inserted a blank line between headers from the
    include/ directory (#include <...>) and ones from a local directory
    (#include "..." ).
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    2a6c1a8f
fiptool.h 932 Bytes
/*
 * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef __FIPTOOL_H__
#define __FIPTOOL_H__

#include <stddef.h>
#include <stdint.h>

#include <firmware_image_package.h>
#include <uuid.h>

#define NELEM(x) (sizeof (x) / sizeof *(x))

enum {
	DO_UNSPEC = 0,
	DO_PACK   = 1,
	DO_UNPACK = 2,
	DO_REMOVE = 3
};

enum {
	LOG_DBG,
	LOG_WARN,
	LOG_ERR
};

typedef struct image_desc {
	uuid_t             uuid;
	char              *name;
	char              *cmdline_name;
	int                action;
	char              *action_arg;
	struct image      *image;
	struct image_desc *next;
} image_desc_t;

typedef struct image {
	struct fip_toc_entry toc_e;
	void                *buffer;
} image_t;

typedef struct cmd {
	char              *name;
	int              (*handler)(int, char **);
	void             (*usage)(void);
} cmd_t;

#endif /* __FIPTOOL_H__ */