reman3/Rayman_X/cpa/Appli/Max23Dos/inc/MacroMlt.h

79 lines
2.5 KiB
C

/*=========================================================================
*
* MacroMlt.h - Macros for memory
*
* Version 1.0
* Revision date
*
*=======================================================================*/
#ifndef __MEMMlt_H__
#define __MEMMlt_H__
#define M_MltInitMem() Mem_M_SetModeAlloc(Mlt, E_ucDynamic)
#define M_MltAlloc(Var, cast, ulSize)\
{\
M_MltInitMem();\
Var = (cast) Mem_fn_p_vAlloc(ulSize);\
if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
}\
}
#define M_MltAllocWithoutInitMem(Var, cast, ulSize)\
{\
Var = (cast) Mem_fn_p_vAlloc(ulSize);\
if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
}\
}
#define M_MltRealloc(Var, AdrSrc, cast, ulSize)\
{\
M_MltInitMem();\
Var = (cast) Mem_fn_p_vRealloc(AdrSrc, ulSize);\
if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
}\
}
#define M_MltReallocWithoutInitMem(Var, AdrSrc, cast, ulSize)\
{\
Var = (cast) Mem_fn_p_vRealloc(AdrSrc, ulSize);\
if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
}\
}
#define M_MltFree(p_cAdr) \
{\
M_MltInitMem();\
Mem_fn_vFree(p_cAdr);\
if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltWarningCanNotFree, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
}\
}
#define M_MltFreeWithoutInitMem(p_cAdr) \
{\
Mem_fn_vFree(p_cAdr);\
if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltWarningCanNotFree, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
}\
}
#endif // __MEMMlt_H__