228 lines
6.3 KiB
C
228 lines
6.3 KiB
C
/*///////////////////*/
|
|
/* macro for Error //*/
|
|
/*///////////////////*/
|
|
#ifndef __AIMACROS_H__
|
|
#define __AIMACROS_H__
|
|
|
|
#if defined(__DEBUG_AI__)
|
|
#define D_MmgAITestBeforeFree
|
|
#endif
|
|
|
|
#ifdef __FATAL_ERR_AI__
|
|
|
|
/* This allow us to save about 600 Ko in the release lib
|
|
#define M_AIFatalError(FatalErrorNum) \
|
|
Erm_M_UpdateLastError(AI, C_ucErmDefaultChannel, FatalErrorNum, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);
|
|
|
|
#define M_AIFatalErrorMsg(FatalErrorNum,szMsg) \
|
|
Erm_M_UpdateLastError(AI, C_ucErmDefaultChannel, FatalErrorNum, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, szMsg);
|
|
*/
|
|
|
|
void fn_vOnAIErm_M_UpdateLastError(unsigned short FatalErrorNum,char *szMsg);
|
|
#define M_AIFatalErrorMsg(FatalErrorNum,szMsg) fn_vOnAIErm_M_UpdateLastError(FatalErrorNum,szMsg)
|
|
#define M_AIFatalError(FatalErrorNum) M_AIFatalErrorMsg(FatalErrorNum,NULL)
|
|
|
|
#else /*__FATAL_ERR_AI__*/
|
|
#define M_AIFatalError(FatalErrorNum) /*nothing to do*/
|
|
#define M_AIFatalErrorMsg(FatalErrorNum,szMsg) /*nothing to do*/
|
|
#endif /*__FATAL_ERR_AI__*/
|
|
|
|
#ifdef __WARNING_ERR_AI__
|
|
#define M_AIWarningError(ErrorNum, ucOpenInfoWindow)\
|
|
/* ----------------*/\
|
|
{ \
|
|
if (ErrorNum > E_uwAIStartOfWarning) \
|
|
{ \
|
|
Erm_M_UpdateLastError(AI, C_ucErmDefaultChannel, ErrorNum, C_lErmNoDebugData, ucOpenInfoWindow, C_ucAllowStopForDebug, NULL);\
|
|
} \
|
|
else \
|
|
{ \
|
|
M_AIFatalError(E_uwAIFatalNotAFatalError);\
|
|
} \
|
|
}
|
|
#else /*__WARNING_ERR_AI__ */
|
|
|
|
|
|
//XB 10/08/99
|
|
#define M_AIWarningError(ErrorNum, uwOpenInfoWindow)/*\
|
|
{ \
|
|
if (ErrorNum < E_uwAIStartOfWarning) \
|
|
M_AIFatalError(E_uwAIFatalNotAFatalError);\
|
|
}*/
|
|
|
|
#endif /*__WARNING_ERR_AI__ */
|
|
|
|
|
|
|
|
#ifdef __WARNING_ERR_AI__
|
|
|
|
#define M_AIWarningErrorAndAllowStopForDebug(ErrorNum, ucOpenInfoWindow, szMytxt)\
|
|
/* ----------------*/\
|
|
{ \
|
|
if (ErrorNum > E_uwAIStartOfWarning) \
|
|
{ \
|
|
Erm_M_UpdateLastError(AI, C_ucErmDefaultChannel, ErrorNum, C_lErmNoDebugData, ucOpenInfoWindow, C_ucAllowStopForDebug, szMytxt);\
|
|
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
|
|
} \
|
|
else \
|
|
{ \
|
|
M_AIFatalError(E_uwAIFatalNotAFatalError);\
|
|
} \
|
|
}
|
|
|
|
|
|
#define M_AIWarningErrorAndNeverStopForDebug(ErrorNum, ucOpenInfoWindow, szMytxt)\
|
|
/* ----------------*/\
|
|
{ \
|
|
if (ErrorNum > E_uwAIStartOfWarning) \
|
|
{ \
|
|
Erm_M_UpdateLastError(AI, C_ucErmDefaultChannel, ErrorNum, C_lErmNoDebugData, ucOpenInfoWindow, C_ucNeverStopForDebug, szMytxt);\
|
|
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
|
|
} \
|
|
else \
|
|
{ \
|
|
M_AIFatalError(E_uwAIFatalNotAFatalError);\
|
|
} \
|
|
}
|
|
#else /*__WARNING_ERR_AI__ */
|
|
|
|
//XB 10/08/99
|
|
#define M_AIWarningErrorAndAllowStopForDebug(ErrorNum, uwOpenInfoWindow, szMytxt)/*\
|
|
{ \
|
|
if (ErrorNum < E_uwAIStartOfWarning) \
|
|
M_AIFatalError(E_uwAIFatalNotAFatalError);\
|
|
}*/
|
|
|
|
//XB 10/08/99
|
|
#define M_AIWarningErrorAndNeverStopForDebug(ErrorNum, uwOpenInfoWindow, szMytxt)/*\
|
|
{ \
|
|
if (ErrorNum < E_uwAIStartOfWarning) \
|
|
M_AIFatalError(E_uwAIFatalNotAFatalError);\
|
|
}*/
|
|
|
|
#endif /*__WARNING_ERR_AI__ */
|
|
|
|
#ifdef __FATAL_ERR_AI__
|
|
#define M_AIIfErrorUpdateFatalError(UsedModule, ErrorNum)\
|
|
/* ---------------------------*/\
|
|
if (Erm_M_uwCheckError(UsedModule, C_ucErmDefaultChannel)){\
|
|
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
|
|
M_AIFatalError(ErrorNum);\
|
|
}
|
|
#else /*__FATAL_ERR_AI__ */
|
|
#define M_AIIfErrorUpdateFatalError(UsedModule, ErrorNum) /*nothing to do*/
|
|
#endif /*__FATAL_ERR_AI__*/
|
|
|
|
|
|
#ifdef __WARNING_ERR_AI__
|
|
#define M_AIIfErrorUpdateWarningError(UsedModule, ErrorNum, uwOpenInfoWindow)\
|
|
/* -----------------------------*/\
|
|
if (Erm_M_uwCheckError(UsedModule, C_ucErmDefaultChannel)){\
|
|
Erm_M_ClearLastError(C_ucErmDefaultChannel);\
|
|
M_AIWarningError(ErrorNum, uwOpenInfoWindow);\
|
|
}
|
|
#else /*__WARNING_ERR_AI__*/
|
|
#define M_AIIfErrorUpdateWarningError(UsedModule, ErrorNum, uwOpenInfoWindow) /*nothing to do*/
|
|
#endif /*__WARNING_ERR_AI__*/
|
|
|
|
/* ALB January 1997 */
|
|
#ifdef __DEBUG_AI__
|
|
#define M_AI_DEBUG_ASSERT(bCond,ErrorRaised)\
|
|
if(!(bCond))\
|
|
{\
|
|
M_AIFatalError(ErrorRaised);\
|
|
}
|
|
|
|
#define M_AI_DEBUG_ASSERT_WARNING(bCond,ErrorRaised)\
|
|
if(!(bCond))\
|
|
{\
|
|
M_AIWarningError(ErrorRaised, C_ucErmNoOpenInfoWindow); \
|
|
}
|
|
|
|
#define M_AI_MemSet(pBuffer,cCharToSet,ucSizeOfMem)\
|
|
if(pBuffer)\
|
|
{\
|
|
memset(pBuffer,cCharToSet,ucSizeOfMem);\
|
|
}
|
|
#else /*__DEBUG_AI__*/
|
|
#define M_AI_DEBUG_ASSERT(bCond,ErrorRaised)
|
|
#define M_AI_DEBUG_ASSERT_WARNING(bCond,ErrorRaised)
|
|
#define M_AI_MemSet(pBuffer,cCharToSet,ucSizeOfMem)
|
|
#endif /*__DEBUG_AI__*/
|
|
/* ALB END */
|
|
|
|
/*////////////////////*/
|
|
/* macro for Memory //*/
|
|
/*////////////////////*/
|
|
#define MODE_STATIC_MEM_FOR_AI
|
|
#ifdef MODE_STATIC_MEM_FOR_AI
|
|
#define M_AIChooseMemoryBlock() Mmg_M_SetModeAlloc4Ch(AI,(unsigned char)AI_g_ucMemoryBlockUsed,C_ucMmgDefaultChannel)
|
|
#else
|
|
#define M_AIChooseMemoryBlock() Mmg_M_SetModeAlloc4Ch(AI,E_ucDynamic,C_ucMmgDefaultChannel)
|
|
#endif /* MODE_STATIC_MEM_FOR_AI*/
|
|
|
|
void fn_vErrorOnAIAlloc(void);
|
|
/*M_AIIfErrorUpdateFatalError(Mmg, E_uwAIFatalFailedAllocationMem);*/
|
|
|
|
void fn_vErrorOnAIFree(void);
|
|
/*M_AIIfErrorUpdateWarningError (Mmg, E_uwAIWarningCanNotFree, C_ucErmOpenInfoWindow);*/
|
|
|
|
|
|
/* M_AIChooseMemoryBlock();*/
|
|
/* Var = (cast) Mmg_fn_p_vAlloc4Ch(ucSize,C_ucMmgDefaultChannel);*/
|
|
|
|
#ifndef U64
|
|
#define M_AIAlloc(Var, cast, ucSize)\
|
|
{\
|
|
Var = (cast)AI_fn_p_vTrueAlloc(ucSize);\
|
|
AI_fn_vMemoryLogFile(Var,AI_C_ActionMalloc,__FILE__,__LINE__); \
|
|
fn_vErrorOnAIAlloc(); \
|
|
}
|
|
#else /* !U64 */
|
|
#define M_AIAlloc(Var, cast, ucSize)\
|
|
{\
|
|
Var = (cast)AI_fn_p_vTrueAlloc(ucSize);\
|
|
fn_vErrorOnAIAlloc(); \
|
|
}
|
|
#endif /* !U64 */
|
|
|
|
/* M_AIChooseMemoryBlock();*/
|
|
/* Var = (cast) Mmg_fn_p_vRealloc4Ch(AdrScr,ucSize,C_ucMmgDefaultChannel);*/
|
|
|
|
#ifndef U64
|
|
#define M_AIReAlloc(Var,AdrScr,cast, ucSize)\
|
|
{\
|
|
Var = (cast) AI_fn_p_vTrueRealloc(AdrScr,ucSize);\
|
|
AI_fn_vMemoryLogFile(Var,AI_C_ActionRealloc,__FILE__,__LINE__); \
|
|
fn_vErrorOnAIAlloc(); \
|
|
}
|
|
#else /* !U64 */
|
|
#define M_AIReAlloc(Var,AdrScr,cast, ucSize)\
|
|
{\
|
|
Var = (cast) AI_fn_p_vTrueRealloc(AdrScr,ucSize);\
|
|
fn_vErrorOnAIAlloc(); \
|
|
}
|
|
#endif /* !U64 */
|
|
|
|
/* M_AIChooseMemoryBlock();*/
|
|
/* Mmg_fn_vFree4Ch(p_cAdr,C_ucMmgDefaultChannel);*/
|
|
|
|
#ifndef U64
|
|
#define M_AIFree(p_cAdr) \
|
|
{\
|
|
AI_fn_vMemoryLogFile(p_cAdr,AI_C_ActionFree,__FILE__,__LINE__); \
|
|
AI_fn_vTrueFree(p_cAdr);\
|
|
fn_vErrorOnAIFree(); \
|
|
p_cAdr=NULL; \
|
|
}
|
|
#else /* !U64 */
|
|
#define M_AIFree(p_cAdr) \
|
|
{\
|
|
AI_fn_vTrueFree(p_cAdr);\
|
|
fn_vErrorOnAIFree(); \
|
|
p_cAdr=NULL; \
|
|
}
|
|
#endif /* !U64 */
|
|
|
|
#endif /* __AIMACROS_H__*/
|