#ifndef CE2_TCT_CMLA_h
#define CE2_TCT_CMLA_h

/*
* All the includes that are needed for code using this module to
* compile correctly should be #included here.
*/

#include "CE2_TST_Config.h"

#ifdef __cplusplus
extern "C"
{
#endif

/*
*  Object %name    : %
*  State           :  %state%
*  Creation date   :  Mar 29 2007
*  Last modified   :  %modify_time%
*/
/** @file
*  \brief A brief description of this module
*
*  \version CE2_TST_CMLA.h#1:incl:1
*  \author Yermalayeu Ihar
*  \remarks Copyright (C) 2007 by Discretix Technologies Ltd.
*           All Rights reserved
*/

/************************ Defines *******************************/
/************************ Enums *********************************/
/************************ Typedefs  *****************************/
/************************ Structs  ******************************/
/************************ Public Variables **********************/
/************************ Public Functions **********************/

/*****************************************************************************
* Function Name:                                                           
*  CE2_TST_CMLA_Wrap_Unwrap			
* 
* Inputs:
*  @param[in/out] out - output stream for logs;
*
* Outputs:
*  @return - On success returns CE2_TST_VALID; else returns CE2_TST_FAILED.
*
* Description:																	
* 	Verify functionality of CE2_TST_CMLA_Wrap and CE2_TST_CMLA_Unwrap functions.
*
* Algorithm:		
*  -#  											
*
******************************************************************************/	
DxStatus CE2_TST_CMLA_Wrap_Unwrap(FILE *out);

/*****************************************************************************
* Function Name:                                                           
*  CE2_TST_CMLA_RSA_Encrypt_Decrypt			
* 
* Inputs:
*  @param[in/out] out - output stream for logs;
*
* Outputs:
*  @return - On success returns CE2_TST_VALID; else returns CE2_TST_FAILED.
*
* Description:																	
* 	Verify functionality of CE2_CMLA_RSA_Encrypt and CE2_CMLA_RSA_Decrypt functions.
*
* Algorithm:		
*  -#  											
*
******************************************************************************/	
DxStatus CE2_TST_CMLA_RSA_Encrypt_Decrypt(FILE *out);

/*****************************************************************************
* Function Name:                                                           
*  CE2_TST_CMLA_B1			
* 
* Inputs:
*  @param[in/out] out - output stream for logs;
*
* Outputs:
*  @return - On success returns CE2_TST_VALID; else returns CE2_TST_FAILED.
*
* Description:																	
* 	Verify functionality of CMLA (test B1 from standard).
*
* Algorithm:		
*  -#  											
*
******************************************************************************/	
DxStatus CE2_TST_CMLA_B1(FILE *out);

#ifdef __cplusplus
}
#endif

#endif /*CE2_TCT_CMLA_h*/
