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

📄 clipdbmgr.h

📁 ZORAN 962/966 SOURCE CODE,DVD chip
💻 H
字号:
/****************************************************************************************
 *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
 *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
 *
 *  File: $Workfile: ClipDBMgr.c $             
 *
 * Description:
 * ============
 * 
 * 
 * Log:
 * ====
 * $Revision: 1 $
 * Last Modified by $Author: MikeX $ at $Modtime: 04-03-19 15:28 $ 
 ****************************************************************************************
 * Updates:
 ****************************************************************************************/

/////////////////////////////////////////////////////////////////////////////
// ClipDBMgr.c - Manage clip database.
//
// Author:	Mike Xia
#ifndef _CLIPDBMGR_H
#define _CLIPDBMGR_H

#include "Config.h"		// Global Configuration - do not remove!
#include "Include\SysDefs.h"
#include "Playcore\filesys\filesystem.h"
#include "Playcore\ScPad\ScPadAlloc.h"

//#define NO_ERCHK     /* disable error check */
//#define __CM_SC_ARRAY_          // read/write SDRAM via Array_getAt()/Array_setAt()

#define FILE_BLOCK_POOL                            1
#define DIR_BLOCK_POOL                              2
#define BOTH_POOL                                       3

#define UNCACHED_DIR					0xffff 
#define REACH_MAX_FILE_NUM                     0xFFFE
#define NOT_ENOUGH_BLOCK_FOR_CURRENT_DIR   0xFFFD
#define NOT_SUPPORT_MEDIA_TYPE		0xFFFC
#define PROGM_NULL                                     NULL_INDEX
#define FILE_NULL                                         NULL_INDEX
#define DIR_NULL                                          NULL_INDEX

#define SC_CLIPS_LIST_SZ_IN_BYTES				((UINT32)sizeof(FileBlock)*CLIPS_MAX_FILE_ENRTY_NUM) //sizeof(Clip) is 110, mandatory conversion needed
#define SC_CLIPSDIR1_LIST_SZ_IN_BYTES			((UINT32)(CLIPS_MAX_DIR_NUM+CLIPS_MAX_PROGRAM_LIST_NUM)*sizeof(DirBlock))//now support 150 items with each have 66 characters(each 2 bytes) for 64M SDRAM
#define TOTAL_CLIPS_LIST_SIZE_IN_BYTES			(SC_CLIPS_LIST_SZ_IN_BYTES+SC_CLIPSDIR1_LIST_SZ_IN_BYTES)

#ifdef D_CACHE_CLIPSDB_ONLY_ONCE
#define MAX_CACHED_FILE_COUNT        (CLIPS_MAX_FILE_ENRTY_NUM-CLIPS_MAX_PROGRAM_LIST_SIZE*CLIPS_MAX_PROGRAM_LIST_NUM)
#else
#define MAX_CACHED_FILE_COUNT        ((CLIPS_MAX_FILE_ENRTY_NUM - CLIPS_MAX_PROGRAM_LIST_SIZE*CLIPS_MAX_PROGRAM_LIST_NUM)/OPEN_DIR_MAX_NUM)
#endif

extern CONST WORD g_wProgramListIndex[CLIPS_MAX_PROGRAM_LIST_NUM];

#ifdef D_CACHE_CLIPSDB_ONLY_ONCE
extern UINT16 gwTotalFileNum;
#endif

// clip database manager API
BOOL cm_initPool (void);
BOOL cm_getDirInfo (WORD wDirBlockIndex, DirBlock* o_pDirBlock );
BOOL cm_getFileInfo (WORD wFileBlockIndex, FileBlock* o_pFileBlock );
WORD cm_addDir (WORD wDeviceID, WORD wParentDirIndex, DirBlock* pDirBlock);
WORD cm_addFile (WORD wDeviceID, WORD wParentDirIndex, FileBlock* pFileBlock ,BOOL bAllowUncacheFile );
BOOL cm_deleteDevice(WORD wDeviceID);
BOOL cm_deleteDir (WORD wDirIndex);
BOOL cm_deleteFile (WORD wParentDirIndex,WORD wFileIndex);
BOOL cm_renameDir (WORD wDirIndex, WCHAR* cNewName);
BOOL cm_setFileInfo (WORD wFileBlockIndex, FileBlock* pFileBlock );

BOOL cm_MoveFile2AppointedPosition (WORD wParentDirIndex, WORD wFileIndex, WORD wDesticationNumInDir);
WORD cm_getParrentDirIndex(WORD wCurrDirIndex);
WORD cm_getNextDirIndex(WORD wCurrDirIndex);
WORD cm_getFirstSubDirIndex(WORD wCurrDirIndex);
BOOL cm_openDir(WORD wDirIndex);
BOOL cm_closeDir(WORD wDirIndex);
WORD cm_getDirDeviceId(WORD wDirIndex);
//WORD cm_getDeviceRootDir(WORD wDeviceID);

BYTE cm_checkClipsDB(void);
BOOL cm_cacheDir(WORD wCurrDirIndex);
BOOL cm_UnCacheDir(WORD wDirIndex);
BOOL cm_isDirCached(WORD wDirIndex);
BYTE cm_applyProgramListEntry(void);
void cm_freeProgramListEntry(BYTE entryID);
// <<< Ram.wang_1020_2005 for Loading time for clips disc is very long.
BOOL _cm_Cache_Device_Is_Dir_File_Full(WORD wCurrDeviceID);
//>>> Ram.wang_1020_2005
#endif // _CLIPDBMGR_H

⌨️ 快捷键说明

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