/*=========================================================================
*
* MemMlt.h	- Memory managment for module : MLT
*
* Version			1.0
* Revision date
*
*=======================================================================*/
#ifndef __MemMlt_H__
#define __MemMlt_H__

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus 

//--- Export ---------------------------------------------------------

#undef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
 #define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
 #define CPA_EXPORT __declspec(dllexport)
#else
 #define CPA_EXPORT
#endif

//----------------------------------------------------------------------

#include "MMG.h"

typedef enum e_ucMltStaticBlocks_{
	E_ucMltBlock1, 
	E_ucMltBlock2,
	E_ucMltBlock3,	   
	E_ucMltBlock4,	   
	E_ucMltMaxBlocksNb  // maximum number of static block, You have to follow this syntax 'E_uc+ Abbreviation Module +MaxBlocksNb'
} e_ucMltStaticBlocks;

#undef __MEMMlt_EXTERN
#ifdef __DeclareGlobalVariableMemMlt_h__
#define __MEMMlt_EXTERN /*nothing*/
#else // no __DeclareGlobalVariableMemMlt_h__
#define __MEMMlt_EXTERN extern
#endif //__DeclareGlobalVariableMemMlt_h__

__MEMMlt_EXTERN CPA_EXPORT  struct tdstBlockInfo_ g_a_stMltBlocksInfo[E_ucMltMaxBlocksNb];

#ifdef __DYNAMIC_MALLOC_ALLOWED__
#ifdef __DEBUG_MALLOC_MODE__
__MEMMlt_EXTERN CPA_EXPORT  struct tdstDynInfo_ g_stMltDynInfo;
#endif //__DEBUG_MALLOC_MODE__
#endif //__DYNAMIC_MALLOC_ALLOWED__


#ifdef __cplusplus
};
#endif // __cplusplus 

#endif //__MemMlt_H__