www.pudn.com > MP3+JPEG.rar > ucBSExt_GV.h


//========================================================================= 
//  The information contained herein is the exclusive property of Sunplus  
//  Technology Co. And shall not be distributed, reproduced, or disclosed  
//  in whole in part without prior written permission. 
//  (C) Copyright 2003 Sunplus Technology Co. All rights reserved. 
//  The entire notice above must be reproduced on all authorized copies 
//========================================================================= 
 
//========================================================================= 
//  project  name:  	 Buddy System  
//  Project Description: Buddy SystemGlobal Variable declare 
//  Environment: 	 
//				 
//  Library Dependency: 
//                       
//  Author: 	xiaoping 
//  Date:		2005/04/15 
//  E-mail:      
//  Revision history: 
//  ------------------------------------------------------------------------ 
//  YYYY-MM-DD        Modified By               Description                   
//  ------------------------------------------------------------------------ 
//========================================================================== 
 
#ifndef	_UCBSEXT_GV_H_ 
#define	_UCBSEXT_GV_H_ 
 
#include  "ucBS_CPU.h" 
#include 	"ucBSExt_CFG.h" 
 
typedef	struct stExtFreeArea 
{ 
	unsigned long m_Next; 
	unsigned long m_Prev; 
	INT16U	m_ListNum; 
}STExtFreeArea; 
 
typedef  struct stExtListHead 
{ 
	unsigned long m_First; 
	 
} STExtListHead; 
typedef struct stExtRecord 
{ 
    unsigned long m_RamEnd; 
    unsigned long m_Start; 
    unsigned long m_MemStart; 
    unsigned long m_End; 
}STExtRecord; 
 
 
 
#ifdef CREATE_BSEXT_VAR 
const BSINTU ucBSExt_RecordMask[] =  
{ 
	0xfff0,0xff0f,0xf0ff,0x0fff 
}; 
const BSINTU ucBSExt_unMask[] =  
{ 
	0x000f,0x00f0,0x0f00,0xf000 
}; 
 
    #define BSEXT_EXT 
	const BSINTU ucBSEXT_NUM		 		= BSEXT_NUM; 
	const BSINTU ucBSEXT_MIN_BLOCK 	 	= BSEXT_MIN_BLOCK; 
	const BSINTU	ucBSEXT_MAX_BLOCK		 	= BSEXT_MAX_BLOCK; 
	const BSINTU ucBSEXT_LIST_MERGE_SIZE		= BSEXT_LIST_MERGE_SIZE; 
	const BSINTU ucBSEXT_SECTION				= BSEXT_SECTION; 
#else 
 
extern const BSINTU ucBSExt_unMask[]; 
extern const BSINTU ucBSExt_RecordMask[]; 
 
    #define BSEXT_EXT  extern 
	extern const BSINTU ucBSEXT_SECTION; 
	extern const BSINTU ucBSEXT_NUM; 
	extern const BSINTU ucBSEXT_MIN_BLOCK; 
	extern const BSINTU ucBSEXT_MAX_BLOCK; 
	extern const BSINTU ucBSEXT_LIST_MERGE_SIZE; 
#endif 
 
#if BSEXT_NUM > 0 
 
	BSEXT_EXT STExtListHead      	BSExt_ListHead [BSEXT_NUM ]; 
	BSEXT_EXT STExtRecord   		BSExt_Record[BSEXT_SECTION]; 
	 
	#if BS_STAT_MEM_EN > 0 
		BSEXT_EXT BSINT32U gExtMaxMemUsed; 
		BSEXT_EXT BSINT32U gExtRealMemUsed; 	 
		BSEXT_EXT BSINTU	BSExt_BlockMaxUsed[BSEXT_NUM];//Block ·åÖµ¼Ç¼ 
		BSEXT_EXT BSINTU	BSExt_BlockRealUsed[BSEXT_NUM];//Block ·åÖµ¼Ç¼ 
	#endif 
	 
#endif 
 
typedef STExtListHead  ucExtSTListHead; 
typedef unsigned long ucExtSTListHeadPtr; 
 
typedef STExtFreeArea ucExtSTFreeArea; 
typedef unsigned long ucExtSTFreeAreaPtr; 
 
#endif