#ifndef BOOT_H_
#define BOOT_H_

typedef struct {
	uint8_t Status;
	uint8_t Reason;
	int16_t BlockNumber;
	} BOOTLOADER_INFO;

#define FMW_INFO_SIZE 32 

typedef struct {
	//[BLOCK 1]
	uint16_t FmwHash[2];	//CRC32
	uint16_t FmwSizeInPages;	
	uint8_t  ModuleType[3];
	uint8_t  HwRevision[2];
	uint8_t  Reserved1[5];
	//[BLOCK 2]
	uint16_t  SwVersion;	//uint8_t[2]
	uint8_t  Reserved2[10];
	uint32_t InfoHash;
	} FMW_INFO;

volatile uint8_t AES_DISABLED;	//Bootloader AES Decription disabled flag (if non-zero AES is disabled)
BOOTLOADER_INFO BootloaderInfo;// = {.Status = 0, .Reason = 0, .BlockNumber = -1};
FMW_INFO	FmwInfo;

#endif /* BOOT_H_ */