/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __CBFSTOOL_CSE_FPT_H__ #define __CBFSTOOL_CSE_FPT_H__ #include <commonlib/endian.h> #include <commonlib/region.h> #include "common.h" #include "cse_helpers.h" #define FPT_MARKER "$FPT" #define FPT_ENTRY_VERSION 0x10 enum fpt_hdr_version { FPT_HDR_VERSION_20 = 0x20, FPT_HDR_VERSION_21 = 0x21, }; typedef void *fpt_hdr_ptr; struct fpt_hdr_ops { bool (*match_version)(struct buffer *buff); fpt_hdr_ptr (*read)(struct buffer *buff); void (*print)(const fpt_hdr_ptr ptr); size_t (*get_entry_count)(const fpt_hdr_ptr ptr); }; extern const struct fpt_hdr_ops fpt_hdr_20_ops; extern const struct fpt_hdr_ops fpt_hdr_21_ops; #endif /* __CBFSTOOL_CSE_FPT_H__ */