reman3/Rayman_X/cpa/public/MMG/ErrMmg.h

222 lines
9.7 KiB
C

/* ##H_FILE#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FILE : ErrMmg.h
DESCRIPTION : this file contain constant and variables to manage error
in the module Mmg
VERSION : 5.1.0/Pierrick Crepy/Creation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#ifndef __ERRMMG_H__
#define __ERRMMG_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* ##CONSTANTE#--------------------------------------------------------------------------
Constantes declaration
---------------------------------------------------------------------------------------*/
#define D_CheckSystemForBlockWithoutFree
#define C_szMmgVersion "MMG V6.0.1" /* The format is XXX Va.b.c with Xxx is the Tag of the module */
#define C_szMmgFullName "Memory Manager"/* the complete and clear name of the module */
#define C_szMmgDate "Mar 12 1998" /*The format is "Mmm dd yyyy".You can use __DATE__ but be careful that you have the control of the compilation*/
/* break the compatibility with the old syntaxe (mem)*/
/* modification of all the message error in order to give the maximum accurate information*/
/* testMalloc function work propely.*/
/* strong the initialization of block.*/
/* For DLLs who are using this module : */
#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
#ifndef __ERM_H__
#include "ERM.h"
#endif /*__ERM_H__*/
#define __FATAL_ERR_MMG__
#define __FATAL_DEBUG_ERR_MMG__ /* disable the definition if __DEBUG_MALLOC_MODE__ is not defined*/
#define __WARNING1_ERR_MMG__
#define __WARNING2_ERR_MMG__
#define __WARNING3_ERR_MMG__
/* error of the Mmg Module*/
typedef enum e_uwMmgErrNumber_{
E_uwMmgFatalErr,
#ifdef __FATAL_ERR_MMG__
/* -----------------*/
/* E_uwMmgPbDataAlignment,*/
E_uwMmgPbInvalidMallocInfo,
E_uwMmgPbAlignmentBlock,
E_uwMmgPbDynAllacationAlignment,
E_uwMmgPbDynOverflowBefore,
E_uwMmgPbDynOverflowAfter,
E_uwMmgPbStaOverflowBefore,
E_uwMmgPbStaOverflowAfter,
E_uwMmgPbOverflowBefore,
E_uwMmgPbOverflowAfter,
E_uwMmgPbTooManyAllacation,
E_uwMmgPbVirtualAlloc,
E_uwMmgPbInvalidBlock,
E_uwMmgPbInvalidStaticAddress,
E_uwMmgPbInvalidModuleId,
E_uwMmgPbInvalidBlockId,
E_uwMmgPbNoStaticMemory,
E_uwMmgPbAccessMemoryDenied,
E_uwMmgPbInvalNbOfChannel,
E_uwMmgPbTooManyChannel,
E_uwMmgPbInFirstInitMmgModule,
E_uwMmgPbInInitMmg,
E_uwMmgPbInInitBlock,
#endif /*__FATAL_ERR_MMG__*/
#ifdef __FATAL_DEBUG_ERR_MMG__
/* ---------------------*/
E_uwMmgPbCanNotInitMmg,
E_uwMmgPbCanNotUseDynMode,
E_uwMmgPbBagMode,
#endif /*__FATAL_DEBUG_ERR_MMG__*/
#ifdef D_CheckSystemForBlockWithoutFree
/* ----------------------------------*/
E_uwMmgPbAlignmentAllocationRequested,
E_uwMmgPbOverFlowBeforeOnTheRemainTag,
E_uwMmgPbNoAvailableFunctionForBlockWithoutFree,
#endif /*D_CheckSystemForBlockWithoutFree*/
E_uwMmgStartOfWarning,
#ifdef __WARNING1_ERR_MMG__
/* -------------------*/
#endif /*__WARNING1_ERR_MMG__*/
#ifdef __WARNING2_ERR_MMG__
/* -------------------*/
E_uwMmgPbDynamicFree,
#endif /*__WARNING2_ERR_MMG__*/
#ifdef __WARNING3_ERR_MMG__
/* -------------------*/
E_uwMmgPbAllocateBlock,
E_uwMmgPbDynAllacateMemory,
E_uwMmgPbDynAddressNotValid,
E_uwMmgPbStaAddressNotValid,
E_uwMmgPbBLockFull,
E_uwMmgPbSpaceForDebugInformationIsFull,
E_uwMmgPbDeleteBlock,
E_uwMmgPbSizeOfAllocIs0,
E_uwMmgPbFreeofNULL,
E_uwMmgPbBbFree,
E_uwMmgPbDftChannelCannotBeFree,
E_uwMmgPbInvalChannel,
E_uwMmgInvalidGroup,
#endif /*__WARNING3_ERR_MMG__*/
E_uwMmgErrNumber
} e_uwMmgErrNumber;
/* ##GLOBVAR#----------------------------------------------------------------------------
Globale variable declaration
---------------------------------------------------------------------------------------*/
#undef __ERRMMG_EXTERN
#ifndef __DeclareGlobalVariableErrMmg_h__
#define __ERRMMG_EXTERN extern /*external declaration*/
#else /*__DeclareGlobalVariableErrMmg_h__*/
#define __ERRMMG_EXTERN /*replace by nothing : we have to declare*/
#endif /*__DeclareGlobalVariableErrMmg_h__*/
__ERRMMG_EXTERN CPA_EXPORT unsigned char g_ucMmgModuleId /* number of identification of the Erm module*/
#if defined(__DeclareGlobalVariableErrMmg_h__) && !defined(CPA_WANTS_IMPORT)
= C_ucModuleNotInitialized
#endif /*__DeclareGlobalVariableErrMmg_h__ && CPA_WANTS_IMPORT*/
;
#ifdef __ERROR_STRINGS__
__ERRMMG_EXTERN CPA_EXPORT char * g_a_szMmgInformationModule []
#if defined(__DeclareGlobalVariableErrMmg_h__) && !defined(CPA_WANTS_IMPORT)
= {C_szMmgVersion, C_szMmgFullName, C_szMmgDate}
#endif /*__DeclareGlobalVariableErrMmg_h__ && CPA_WANTS_IMPORT*/
;
__ERRMMG_EXTERN CPA_EXPORT struct tdstErrorMsg_ g_a_stMmgTabErr [] /* Obliged syntax 'g_a_st'+[Abbreviation of ModuleName]+'TabErr'*/
#if defined(__DeclareGlobalVariableErrMmg_h__) && !defined(CPA_WANTS_IMPORT)
={
#ifdef __FATAL_ERR_MMG__
/* -------------*/
/* E_uwMmgPbDataAlignment, "the alignment information are not valid (in Mmg_fn_cCheckAlignmentValidity)",*/
E_uwMmgPbInvalidMallocInfo, "The block tested by testMalloc is not valid, it's should be not initialize !",
E_uwMmgPbAlignmentBlock, "Alignment error of the beginning address of my block\n(from the 'malloc' system function, in Mmg_fn_vInitblock)",
E_uwMmgPbDynAllacationAlignment, "the dynamic memory allocated is not aligned\n(from the 'malloc' system function, in fn_p_vDynAlloc)",
E_uwMmgPbDynOverflowBefore, "Overflow before a dynamic malloc",
E_uwMmgPbDynOverflowAfter, "Overflow after a dynamic malloc",
E_uwMmgPbStaOverflowBefore,"Overflow before a static malloc",
E_uwMmgPbStaOverflowAfter, "Overflow after a static malloc",
E_uwMmgPbOverflowBefore,"Overflow before an allocation",
E_uwMmgPbOverflowAfter, "Overflow after an allocation",
E_uwMmgPbTooManyAllacation, "There is too many allocation",
E_uwMmgPbVirtualAlloc, "The virtualAlloc function failed (return NULL). Is that enough memory ??",
E_uwMmgPbInvalidBlock, "The static block that you try to use, is not valid, it's should be not well initialize !",
E_uwMmgPbInvalidStaticAddress, "The address is not a static address",
E_uwMmgPbInvalidModuleId, "The moduleId is impossible",
E_uwMmgPbInvalidBlockId, "The BlockId is impossible",
E_uwMmgPbNoStaticMemory, "There is no static memory",
E_uwMmgPbAccessMemoryDenied, "You've try to access to the memory through Mmg module.\nBut the memory have been locked with Mmg_fn_vLockAlloaction!",
E_uwMmgPbInvalNbOfChannel, "Invalid number of channel",
E_uwMmgPbTooManyChannel, "Sorry, too much channels are used",
E_uwMmgPbInFirstInitMmgModule, "Malloc system failed in FirstInitMmgModule function",
E_uwMmgPbInInitMmg, "Malloc system failed in InitMmg function",
E_uwMmgPbInInitBlock, "Malloc system failed in Mmg_fn_vInitBlock function",
#endif /*__FATAL_ERR_MMG__*/
#ifdef __FATAL_DEBUG_ERR_MMG__
E_uwMmgPbCanNotInitMmg, "The Mmg initialization have to be done before the Erm initialization",
E_uwMmgPbCanNotUseDynMode, "You have selected the Dynamic mode.\nBut __DYNAMIC_MALLOC_ALLOWED__ is not defined",
E_uwMmgPbBagMode, "Problem the Mmg_M_SetModeAlloc is not appropriate \nExample: you try to use Dynamic memory but Mmg_M_SetModeAlloc is set for the Static memory",
#endif /*__FATAL_DEBUG_ERR_MMG__*/
#ifdef D_CheckSystemForBlockWithoutFree
/* ----------------------------------*/
E_uwMmgPbAlignmentAllocationRequested, "The size of the allocation is not compatible with the alignment requested duing the initialization of the block",
E_uwMmgPbOverFlowBeforeOnTheRemainTag, "The last Allocation Overwrite the Remain check Key, just after the p_cMaxMen",
E_uwMmgPbNoAvailableFunctionForBlockWithoutFree,"You can NOT use this function with this kind of block: block without Free management",
#endif /*D_CheckSystemForBlockWithoutFree*/
#ifdef __WARNING1_ERR_MMG__
/* ----------------*/
#endif /*__WARNING1_ERR_MMG__*/
#ifdef __WARNING2_ERR_MMG__
/* ----------------*/
E_uwMmgPbDynamicFree, "Can not free the dynamic memory",
#endif /*__WARNING2_ERR_MMG__*/
#ifdef __WARNING3_ERR_MMG__
/* ----------------*/
E_uwMmgPbAllocateBlock, "Impossible to Allocate the block (in Mmg_fn_vInitblock),\nthe system function for allocation failed (return NULL)",
E_uwMmgPbDynAllacateMemory, "Can not allocate dynamic memory (in fn_p_vDynAlloc),\nthe system function for allocation failed (return NULL)",
E_uwMmgPbDynAddressNotValid, "The dynamic memory address is not valid (not referenced in the debug table)",
E_uwMmgPbStaAddressNotValid, "The Static memory address is not valid (not referenced in the debug table), or using a wrong static block",
E_uwMmgPbBLockFull, "Can not allocate (the block is full)",
E_uwMmgPbSpaceForDebugInformationIsFull, "The number of requested allocation are too high, the debug information memory is full",
E_uwMmgPbDeleteBlock, "Can not free the Block (in Mmg_fn_vDeleteblock)",
E_uwMmgPbSizeOfAllocIs0, "Strange, you have request an allocation of 0 Byte, the return value Will be NULL, please change",
E_uwMmgPbFreeofNULL, "Strange, you have request a free with a NULL pointer, please change that",
E_uwMmgPbBbFree, "Strange, the number of free was not valid.\nThe debug function TestMalloc has repaired this data.\nPlease warn the developper of Mmg to fix the Bug",
E_uwMmgPbDftChannelCannotBeFree,"You try to release the default channel (0), you not allow to do that !",
E_uwMmgPbInvalChannel, "Invalid number of channel",
E_uwMmgInvalidGroup,"You are not allow to use another group to the default",
#endif /*__WARNING3_ERR_MMG__*/
0xFFFF, "\0"/*fin*/
}
#endif /*__DeclareGlobalVariableErrMmg_h__ && CPA_WANTS_IMPORT*/
;
#endif /*__ERROR_STRINGS__*/
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__ERRMMG_H__*/