/**
 * \file mobicore_utils.h
 * \brief BlowFish helper functions
 * \author Roman Pasechnik (r.pasechnik@samsung.com)
 * \date Created Feb 21, 2014
 * \par In Samsung Ukraine R&D Center (SURC) under a contract between
 * \par LLC "Samsung Electronics Ukraine Company" (Kiev, Ukraine) and
 * \par "Samsung Elecrtronics Co", Ltd (Seoul, Republic of Korea)
 * \par Copyright: (c) Samsung Electronics Co, Ltd 2014. All rights reserved.
 **/

#ifndef __BLOWFISH_UTILS_H_INCLUDED__
#define __BLOWFISH_UTILS_H_INCLUDED__

#include <stdint.h>
#include <tees_secure_object.h>
#include <core/mman.h>
/*
#ifdef USE_BF_SDK1_0
#include <core/protection_type.h>
#else
#include <core/mman.h>
#endif

/**
 * Wraps (encrypts) data
 * @param inData IN - Input data
 * @param inDataLen IN - Length of input data
 * @param outData OUT - Output data
 * @returns NO_ERROR if OK or error status code
 */
int32_t unwrap(uint8_t* inData, uint32_t inDataLen, uint8_t* outData, uint32_t* outDataLen);

/**
 * Unwraps (decrypts) data
 * @param inData IN - Input data
 * @param inDataLen IN - Length of input data
 * @param outData OUT - Output data
 * @param TID IN - ID of trustlet who will perform decryption
 * @param TIDLen IN - Length of TID
 * @returns NO_ERROR if OK or error status code
 */
int32_t wrap(uint8_t* inData, uint32_t inDataLen, uint8_t* outData, uint32_t* outDataLen, uint8_t* TID, uint32_t TIDLen);

#endif
