|
发表于 2019-7-15 11:30:39
|
显示全部楼层
/*********************************************************************
*
* Dynamic memory management
*/
typedef struct {
U32 TotalBytes;
U32 FreeBytes;
U32 UsedBytes;
U32 AllocSize;
U32 NumFixedBytes;
U32 MaxUsedBytes;
} GUI_ALLOC_INFO;
GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumFreeBlocks(void);
GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumFreeBytes (void);
GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumUsedBlocks(void);
GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumUsedBytes (void);
GUI_ALLOC_DATATYPE GUI_ALLOC_GetMaxUsedBytes (void);
void GUI_ALLOC_GetMemInfo (GUI_ALLOC_INFO * pInfo);
void GUI_ALLOC_SuppressPeak(int OnOff);
GUI_HMEM GUI_ALLOC_AllocInit (const void * pInitData, GUI_ALLOC_DATATYPE Size);
GUI_HMEM GUI_ALLOC_AllocNoInit (GUI_ALLOC_DATATYPE size);
GUI_HMEM GUI_ALLOC_AllocZero (GUI_ALLOC_DATATYPE size);
void GUI_ALLOC_AssignMemory (void * p, U32 NumBytes);
void GUI_ALLOC_Free (GUI_HMEM hMem);
void GUI_ALLOC_FreeFixedBlock (void * p);
void GUI_ALLOC_FreePtrArray (GUI_HMEM * pArray, int NumElems);
void GUI_ALLOC_FreePtr (GUI_HMEM * phMem);
void * GUI_ALLOC_GetFixedBlock (GUI_ALLOC_DATATYPE Size);
GUI_ALLOC_DATATYPE GUI_ALLOC_GetMaxSize (void);
GUI_ALLOC_DATATYPE GUI_ALLOC_GetSize (GUI_HMEM hMem);
void * GUI_ALLOC_h2p (GUI_HMEM hMem);
GUI_HMEM GUI_ALLOC_p2h (void * p);
void GUI_ALLOC_Init (void);
void GUI_ALLOC_Lock (void);
void * GUI_ALLOC_LockH (GUI_HMEM hMem);
GUI_HMEM GUI_ALLOC_Realloc (GUI_HMEM hOld, int NewSize);
GUI_ALLOC_DATATYPE GUI_ALLOC_RequestSize (void);
void GUI_ALLOC_SetAvBlockSize (U32 BlockSize);
void GUI_ALLOC_Unlock (void);
void * GUI_ALLOC_UnlockH (void ** pp);
int GUI_ALLOC_SetMaxPercentage(int MaxPercentage);
void GUI_ALLOC_Exit (void); |
|