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