#ifndef APPEND_H
#define APPEND_H
#include "bcmtype.h"
#pragma pack(push, 1)
typedef struct _image_header_t
{
u32_t magic;
#define FILE_MAGIC 0x669955aa
u32_t version;
#define FORMAT_VERSION_1 0x1
#define FORMAT_VERSION_2 0x2
#define LATEST_FORMAT_VERSION FORMAT_VERSION_2
u32_t type;
#define IMAGE_HDR_TYPE_BC1 0x31636200
#define IMAGE_HDR_TYPE_BC2 0x32636200
#define IMAGE_HDR_TYPE_NCSI_CMN 0x6d63636e
#define IMAGE_HDR_TYPE_NCSI_LIB_XI 0x786c636e
#define IMAGE_HDR_TYPE_NCSI_LIB_EV 0x656c636e
#define IMAGE_HDR_TYPE_MODULES_PN 0x706d7500
#define IMAGE_HDR_TYPE_IPMI 0x696d7069
#define IMAGE_HDR_TYPE_MBA 0x61626d00
#define IMAGE_HDR_TYPE_L2T 0x74326c00
#define IMAGE_HDR_TYPE_L2C 0x63326c00
#define IMAGE_HDR_TYPE_L2X 0x78326c00
#define IMAGE_HDR_TYPE_L2U 0x75326c00
#define IMAGE_HDR_TYPE_ISCSI_BOOT 0x62690000
#define IMAGE_HDR_TYPE_ISCSI_BOOT_CFG 0x63626900
#define IMAGE_HDR_TYPE_ISCSI_BOOT_CPRG 0x65706269
#define IMAGE_HDR_TYPE_ISCSI_BOOT_IPV6 0x36626900
#define IMAGE_HDR_TYPE_ISCSI_BOOT_CFG_V2 0x36636269
#define IMAGE_HDR_TYPE_ISCSI_BOOT_IPV4N6 0x6e346269
#define IMAGE_HDR_TYPE_FCOE_BOOT 0x62656600
#define IMAGE_HDR_TYPE_FCOE_BOOT_CFG 0x63626566
#define IMAGE_HDR_TYPE_FCOE_BOOT_CPRG 0x70626566
#define IMAGE_HDR_TYPE_FCOE_BOOT_CPRG_LGCY 0x6c706266
#define IMAGE_HDR_TYPE_FCOE_BOOT_CPRG_EVRST 0x65706266
#define IMAGE_HDR_TYPE_BOOT_CFG_SHADOW 0x6363caca
#define IMAGE_HDR_TYPE_NIC_PARTITION_CFG 0x7063696e
#define IMAGE_HDR_TYPE_VPD_TABLE 0x44505600
#define IMAGE_HDR_TYPE_E3_WC 0x63773365
#define IMAGE_HDR_TYPE_E3_PCIE 0x65703365
#define IMAGE_HDR_TYPE_NIV_CFG 0x6e69760a
#define IMAGE_HDR_TYPE_NIV_PROFILES_CFG 0x6e6976bb
#define IMAGE_HDR_TYPE_CFG_EXTENDED_SHARED 0x73686172
#define IMAGE_HDR_TYPE_SWIM1 0x73776949
#define IMAGE_HDR_TYPE_SWIM2 0x73776950
#define IMAGE_HDR_TYPE_SWIM3 0x73776951
#define IMAGE_HDR_TYPE_SWIM4 0x73776952
#define IMAGE_HDR_TYPE_SWIM5 0x73776953
#define IMAGE_HDR_TYPE_SWIM6 0x73776954
#define IMAGE_HDR_TYPE_SWIM7 0x73776955
#define IMAGE_HDR_TYPE_SWIM8 0x73776956
#define IMAGE_HDR_TYPE_SWIM1_B 0x73776957
#define IMAGE_HDR_TYPE_SWIM2_B 0x73776958
#define IMAGE_HDR_TYPE_SWIM3_B 0x73776959
#define IMAGE_HDR_TYPE_SWIM4_B 0x73776960
#define IMAGE_HDR_TYPE_SWIM5_B 0x73776961
#define IMAGE_HDR_TYPE_SWIM6_B 0x73776962
#define IMAGE_HDR_TYPE_SWIM7_B 0x73776963
#define IMAGE_HDR_TYPE_SWIM8_B 0x73776964
#define IMAGE_HDR_TYPE_MFW1 0x3177666d
#define IMAGE_HDR_TYPE_MFW2 0x3277666d
#define IMAGE_HDR_TYPE_MFW2_A 0x3377666d
#define IMAGE_HDR_TYPE_OCNVM 0x766e636f
#define IMAGE_HDR_TYPE_E3_WCV2 0x32766377
#define IMAGE_HDR_TYPE_E3_PCIEV2 0x32766570
#define IMAGE_HDR_TYPE_CCM 0x6d636300
#define IMAGE_HDR_TYPE_HW_SET 0x706d7501
#define IMAGE_HDR_TYPE_USR_BLK 0x60627275
#define IMAGE_HDR_TYPE_ISCSI_PERS 0x70657273
#define IMAGE_HDR_TYPE_BDN 0x6e646200
u32_t image_info;
#define IMAGE_INFO_REVERSED_MASK 0xff00ffff
#define IMAGE_INFO_CHIP_MASK 0x00ff0000
#define IMAGE_INFO_CHIP_5706 0x00010000
#define IMAGE_INFO_CHIP_5708 0x00020000
#define IMAGE_INFO_CHIP_5709 0x00040000
#define IMAGE_INFO_CHIP_57710 0x00080000
#define IMAGE_INFO_CHIP_57711 0x00100000
#define IMAGE_INFO_CHIP_57712 0x00200000
#define IMAGE_INFO_CHIP_57840 0x00400000
u32_t byte_cnt;
} image_header_t;
#pragma pack(pop)
#endif