?? mem_admin.h
字號:
/****************************************Copyright (c)**************************************************
**--------------File Info-------------------------------------------------------------------------------
** File name: mem_adminh
** Last modified Date: 2007-01-18
** Last Version: 1.0
** Descriptions: 通用的內(nèi)存管理
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "Mem_Conf.h"
#ifdef __cplusplus
#include "mem_define.h"
#endif
#define XU_SIM
//#undef XU_SIM
#ifdef __cplusplus
extern "C"
{
extern int32 Fun_MemInit(void *StartAdmin_Sp, void *EndAdmin_Sp);
extern void *Fun_Malloc(uint32 size);
extern void *Fun_Free(void *free_sp);
extern int Fun_RetBusyList(void); //返回忙鏈表中表項的個數(shù)
extern int Fun_RetIdleList(void); //返回閑鏈表中表項的個數(shù)
extern int Fun_RetList(PLISTHEADER DestListHeader); //返回指定鏈表的個數(shù)
extern int Fun_RetPhyList(void); //返回物理鏈表中表項的個數(shù)
extern int Fun_RetBusyListItemInfo(int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
extern int Fun_RetIDLEListItemInfo(int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
extern int Fun_RetPhyItemInfo(int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
}
#endif
#ifdef __cplusplus
int Fun_RetBusyList(void); //返回忙鏈表中表項的個數(shù)
int Fun_RetIdleList(void); //返回閑鏈表中表項的個數(shù)
int Fun_RetList(PLISTHEADER DestListHeader); //返回指定鏈表的個數(shù)
int Fun_RetPhyList(void); //返回物理鏈表中表項的個數(shù)
int Fun_RetListItemInfo(PLISTHEADER DestListHeader, int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
int Fun_RetBusyListItemInfo(int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
int Fun_RetIDLEListItemInfo(int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
int Fun_RetPhyItemInfo(int i, int *Next, int *Prev, int *Addr, int *Space, int *LB, int *RB, int *SelfAddr, int *BusyFlag);
#endif
/*******************************************************************************************************
**函 數(shù):Fun_MemInit
**功 能:初始化內(nèi)存管理程序
**輸 入:*StartAdmin_Sp需要開始管理的內(nèi)存地址
** *EndAdmin_Sp結(jié)束管理的內(nèi)存地址
**輸 出:1成功啟動的內(nèi)存管理
** -1無法啟動內(nèi)存管理
**受影響的全局變量:G_StartAddr,G_EndAddr
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int32 Fun_MemInit(void *StartAdmin_Sp, void *EndAdmin_Sp);
/*******************************************************************************************************
**函 數(shù):Fun_Malloc
**功 能:分配一塊指定大小的內(nèi)存給用戶用
**輸 入:size 用戶要的大小
**輸 出:成功返回該塊內(nèi)存的啟始地址
** 失敗返回NULL
**受影響的全局變量:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void *Fun_Malloc(uint32 size);
/*******************************************************************************************************
**函 數(shù):Fun_Free
**功 能:釋放一塊已經(jīng)分配出去的內(nèi)存塊,并與相鄰的空閑塊合并
**輸 入:free_sp 要釋放的內(nèi)存地址
**輸 出:NULL 不管失敗還是成功
**受影響的全局變量:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void *Fun_Free(void *free_sp);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -