| /* 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__ */ |