#ifndef WRAP_UNWRAP_H
#define WRAP_UNWRAP_H

#define BOOTLOADER_MAX_REQ_DATA_SIZE		256
#define BK_MAX_WRAPPED_MESSAGE_SIZE			512
#define SHA256_DIGEST_LENGTH				32
#define AES_CIPHER_PAD_SIZE				16

typedef struct wrap_unwrap_key_status_s
{
	uint32_t keysize;
	uint8_t  keydata[BOOTLOADER_MAX_REQ_DATA_SIZE];
	uint8_t  padbuffer[AES_CIPHER_PAD_SIZE];
} __attribute__ ((packed)) wrap_unwrap_key_status_t;

extern int32_t bk_wrap_function(wrap_unwrap_key_status_t *req_ptr,wrap_unwrap_key_status_t *rsp_ptr);
extern int32_t bk_unwrap_function(wrap_unwrap_key_status_t *req_ptr,wrap_unwrap_key_status_t *rsp_ptr);
extern void BK_Hex_dumpss(uint8_t* log_ptr, uint32_t log_size);
#endif

