⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 davpagerecl.h

📁 FDI Intel开发的FLASH文件系统,功能很强大
💻 H
字号:
/* Copyright (c) 1995-2004 Intel Corporation */
/* Intel Confidential                        */

/* ###########################################################################
###  DAV - Direct Access Volume Enhancement to FDI
###
###  Module: davrshdr.h - DAV Reserved Header Types & Macros Include File
###
###  $Workfile: DavPageRecl.h $
###  $Revision: 12 $
###  $NoKeywords: $
########################################################################### */

/*                                                               
 *****************************************************************
 * NOTICE OF LICENSE AGREEMENT                                    
 *                                                                
 * This code is provided by Intel Corp., and the use is governed  
 * under the terms of a license agreement. See license agreement  
 * for complete terms of license.                                 
 *                                                                
 * YOU MAY ONLY USE THE SOFTWARE WITH INTEL FLASH PRODUCTS.  YOUR 
 * USE OF THE SOFTWARE WITH ANY OTHER FLASH PRODUCTS IS EXPRESSLY 
 * PROHIBITED UNLESS AND UNTIL YOU APPLY FOR, AND ARE GRANTED IN  
 * INTEL'S SOLE DISCRETION, A SEPARATE WRITTEN SOFTWARE LICENSE   
 * FROM INTEL LICENSING ANY SUCH USE.                             
 *****************************************************************
 */
#ifndef __DAV_PAGE_RECLAIM_H__  /* sentry header */
#define __DAV_PAGE_RECLAIM_H__

#if (DIRECT_ACCESS_VOLUME == TRUE)

#include "DavOttTbl.h"
#include "DavCfgTbl.h"
#include "DavRatTbl.h"
#include "DavPin.h"
#include "davext.h"
#include "davmem.h"

/*### Global Declarations
#########################*/
#define DAV_SRAM_OTT_SIZE (DAV_MAX_BLOCKS + OTTTBL_MaxEntries) /* Two Bytes Max */

/*########################################################################*/
/*### Reserved Header                                                     */
typedef enum
{
   enStartOfPageReclaim,
   enInitializeOttRtTables,
   enMoveUserObjects,
   enRelocateHeaders,
   enInitializeRatTable,
   enModifyUserObjects,
   enPageReclaimOperationComplete,
   enAbortPageReclaim
} EnPageReclaimOperation;

typedef enum
{
   enPageReclaimFull,
   enPageReclaimPartial,
   enPageReallocate,
   enPageReclaimInPlace
} EnPageReclaimType;

typedef struct
{
   EnPageReclaimType      reclaimType;
   EnPageReclaimOperation startOperation;
   UINT32*                sramPinEntriesListPtr;
   UINT16                 sramPinEntries;
   OTTTBL_Entry           sramOttEntriesList[DAV_SRAM_OTT_SIZE];
   UINT16                 sramOttEntries;
   FDI_Handle             relocObjHandle;  /* Realloc Operation */
   FDI_Handle             bkupObjHandle;   /* Realloc Operation */
   UINT32                 desiredPageSize; /* Partal Defrag Operation */
   BOOLEAN                plrRestart;      /* PLR */
} PAGE_RECLAIM_Address;

/* ====================== PUBLIC FUNCTIONS ==================*/

ERR_CODE RECLAIM_PAGE_StartReclaim(PAGE_RECLAIM_Address* aRefPtr);
/*Fix Start:SCR964 */
ERR_CODE RECLAIM_PAGE_CalcBackupGroupParms(UINT16*        aTopBlockPtr,
                                           FDI_HandlePtr aTopObjectHandlePtr,
                                           UINT32*       aTopObjectSizeInPagesPtr,
                                           UINT32*       aGroupSizeInPagesPtr,
                                           UINT16*        aBottomBlockPtr,
                                           FDI_HandlePtr aBottomObjectHandlePtr,
                                           BOOLEAN    restart);
/*Fix End:SCR964 */

ERR_CODE RECLAIM_PAGE_SetBackupGroupAbsorbStatus(HDR_AbsorbStatusEnum aAbsorbStatus,
                                                 BOOLEAN restart);

ERR_CODE RECLAIM_PAGE_RestartEraseBackupGroup(FDI_Handle      aRatEntryHandle,
                                              RATTBL_EntryPtr aRatEntryPtr,
                                              UINT16           aTopBlock, 
                                              FDI_Handle      aTopObjectHandle, 
                                              UINT32          aTopObjectSizeInPages,
                                              UINT32          aGroupSizeInPages,
                                              UINT16           aBottomBlock,
                                              FDI_Handle      aBottomObjectHandle,
                                              BOOLEAN         restart);

ERR_CODE RECLAIM_PAGE_RestartInvalidateOrigObject(FDI_Handle  aOrigObjectHandle,
                                                  BOOLEAN     restart);


ERR_CODE RECLAIM_PAGE_CleanUpBackupAllocation(FDI_Handle aBottomObjectHandle,
                                              UINT32     aGroupSizeInPages,
                                              BOOLEAN    restart);

void RECLAIM_PAGE_CalcBackupAllocation(RATTBL_LeaderPtr aRatLeaderPtr,
                                           FDI_HandlePtr    aBkupHandlePtr,
                                           UINT32*          aBkupSizeInPagesPtr,
                                           BOOLEAN          restart);

#endif /* DIRECT_ACCESS_VOLUME */

#endif /* sentrydif */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -