FileSystem.h
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:7k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- File: FileSystem.h
- content:
- History: Created by David Chiu 2004/3/30
- ==========================================================================*/
- #ifdef _FILE_SYSTEM_H_
- #define EXTERN
- #define _AT_(addr) _at_ addr
- #else
- #define EXTERN extern
- #define _AT_(addr)
- #endif
- //init file system struct "gstFsFileInf"
- #define INIT_FSFILEInf()
- {
- stFsFileInf.pbFileName=gxbFileName;
- stFsFileInf.pbLongFileName=gxbLongFileName;
- stFsFileInf.bPathDepth=0;
- stFsFileInf.dwDirStartSec=gxdwRoot;
- /*gpstFileIndex=&stFsFileInf;*/
- }
- //David 050318 , remodify file structure
- /*
- #if(_PM_INIT_|_PM_PLAY_|_PM_REC_|_PM_FM_|_PM_SYS_|_PM_MTP_)
- //add by tne 2005/01/19 #1
- EXTERN struct FILE_INF_DATA xdata stFsFileInf;
- EXTERN struct FILE_BRIEF xdata stPlayFileb,stLrcFileb; //Vicky050310
- //init file system struct
- #define FILE_SYSTEM_STRUCT_INIT() {
- stFsFileInf.pbFileName=gxbFileName;
- stFsFileInf.pbLongFileName=gxbLongFileName;
- stFsFileInf.bPathDepth=0;
- stFsFileInf.dwDirStartSec=gxdwRoot;
- }
- #endif
- #define gxdwDirSec stFsFileInf.dwDirSec
- #define gxwDirOffset stFsFileInf.wDirOffset
- #define gxbPathDepth stFsFileInf.bPathDepth
- #define gxdwFileSize stFsFileInf.dwFileSize
- #define gxdwFileTotalSector stFsFileInf.dwFileTotalSector
- #define gxdwFileStartClu stFsFileInf.dwFileStartClu
- #define gxdwDirStartSec stFsFileInf.dwDirStartSec
- */
- //add by tne 2005/05/11
- //Use Full Fomrat, the max capacity for FAT16
- //Storage sector less than this will use FAT16, otherwise use FAT32
- //#define FORMAT_FAT16_MAX_CAP 0x40000 //128 MB (include)
- //#define FORMAT_FAT16_MAX_CAP 0x80000 //256 MB (include)
- //#define FORMAT_FAT16_MAX_CAP 0x100000 //512 MB (include)
- #define FORMAT_FAT16_MAX_CAP 0x220000 //1024 MB (include)
- #define ATTR_NORMAL 0x00
- #define ATTR_READ_ONLY 0x01
- #define ATTR_HIDDEN 0x02
- #define ATTR_SYSTEM 0x04
- #define ATTR_LABEL 0x08
- #define ATTR_SUB_DIR 0x10
- #define ATTR_ARCHIVE 0x20
- #define ATTR_LONG_FILE_NAME 0x0f
- //move by tne 2005/01/07 #2
- #if(_PM_HST_|_PM_FM_|_PM_PHOTO_|_PM_MTP_) //Walace060918#1
- EXTERN API bit FsRead(DWORD, BYTE, BYTE) large;
- #else
- EXTERN API bit FsRead(DWORD, BYTE, BYTE) ;
- #endif
- //modify by tne 2005/02/15
- #if(_PM_INIT_|_PM_SYS_|_PM_MTP_INIT_|_PM_SAVE_|SETTING_FOR_ICE_START|_PM_INIT_CHK_|_PM_VIDEO_)
- EXTERN API bit FsInit(void) large;
- #endif
- EXTERN API bit FsRecInit(void); //David051014 //Walace060503#1
- EXTERN API bit FsInfoCheck(void) large; //David051014
- #if((_PM_INIT_|_PM_SYS_|_PM_REC_|_PM_MTP_|_PM_SAVE_|_PM_MTP_INIT_|_PM_INIT_CHK_))
- #if(_PM_MTP_|_PM_MTP_INIT_) //060728
- EXTERN API bit FsDirEntryInit(DWORD dwStartDirClu, DWORD dwParentDirClu, BYTE bDirAttr) large;
- EXTERN API bit FsFindDir(PBYTE pbDirName, BOOL fCreate, DWORD dwParentDirClu, BYTE bDirAttr) large; //allen050811
- #else
- EXTERN API bit FsFindDir(BYTE bDirIndex,PBYTE pbDirName, BOOL fCreate,BYTE bDirAttr) large;//vicky050118 remodify //tne 2006/12/07 #3
- #endif
- #endif
- //Chris add |_PM_PLAY_ for playcount 060721 #1
- //#if(_PM_MTP_|_PM_MTP_INIT_|_PM_SLS_|_PM_PHOTO_|_PM_VIDEO_|_PM_DIR_DEL_|_PM_PLAY_DEL_|_PM_SYS_|_PM_PLAY_)
- EXTERN API bit FsReadFileSectorNew(DWORD dwSector,BYTE bSrampath) large;
- //#endif
- //Chris061020 #3 add
- #if(_PM_MTP_|_PM_MTP_INIT_)
- EXTERN API bit FsSetFileCluPointToEnd ( void ) large; //Chris add 061020 #3
- EXTERN API bit FsReadDBFileSector(DWORD dwSector, BYTE bSrampath, BOOL fQuickDb, BYTE bSetSectorOnly) large; //Chris Test 061014 #2
- #endif
- #if(_PM_SLS_|_PM_PHOTO_|_PM_VIDEO_|_PM_PLAY_|_PM_SYS_|_PM_MTP_|_PM_MTP_INIT_|_PM_INIT_CHK_|_PM_PLAY_DEL_|_PM_DIR_DEL_)
- #if(!(_PM_MTP_|_PM_MTP_INIT_)) //060728
- EXTERN API bit FsReadFileSector(DWORD dwSector, BOOL fLrcfile , BYTE bSrampath) ; //Vicky050321
- #endif
- EXTERN API bit FsOpenFile(BYTE bOpenType) large;
- #if(!(_PM_SLS_|_PM_INIT_CHK_))
- EXTERN API BOOL FsChangeDir(BYTE bChangeType) ; //Walace060918#1
- #endif
- #endif
- #if(_PM_SYS_|_PM_MTP_|_PM_MTP_INIT_|_PM_REC_|_PM_PLAY_DEL_|_PM_DIR_DEL_)
- EXTERN API bit FsDeleteFile(void) large;
- EXTERN API bit FsDirSerachFile(void) large;
- #endif
- #if(_PM_SYS_|_PM_MTP_INIT_|(REC_TEST&_PM_REC_)) //Vicky
- EXTERN API bit FsQuickFormat(void) large;
- EXTERN API bit FsFATFormat(DWORD dwFAT,BYTE) large;
- EXTERN API bit FsFullFormat(void) large;
- #endif
- #if(_PM_INIT_|_PM_HST_|_PM_SYS_|_PM_REC_|_PM_MTP_|_PM_SAVE_|_PM_MTP_INIT_|_PM_INIT_CHK_|_PM_PLAY_DEL_|_PM_DIR_DEL_|(REC_TEST&_PM_REC_)) //Vicky Debug REC
- EXTERN DWORD FindEmptyClu(void);
- #if(!_PM_HST_)//allen050920
- EXTERN bit FatWrite(DWORD dwCluNumber, DWORD dwEntryValue);
- #endif
- EXTERN bit FsInfoUpdate(void); //tne 2005/05/10
- EXTERN API bit FsOpenNewFile(BYTE bDirIndex, bit fFindEmptyClu) large; //vicky050118 remodify
- #endif
- #if(_PM_REC_|_PM_INIT_CHK_)
- EXTERN API bit FsWriteFileHeader(void) large;
- EXTERN API bit FsWriteWmaHeader(void) large;
- #endif
- #if(_PM_REC_|_PM_MTP_|_PM_MTP_INIT_|_PM_INIT_|_PM_SYS_|_PM_SAVE_) //060728 060821
- EXTERN API bit FsWriteFileSector(DWORD dwSector, BOOL fSkipRW) large; //Chris061109#1
- EXTERN API bit FsWriteDirEntry(DWORD dwDirSec, WORD wDirOffset, DWORD dwFileSize, DWORD dwFileStartClu, BYTE bAttribute) large;
- //EXTERN API bit FsCloseFile(BYTE bDirIndex) large; //vicky050118 remodify //Chris061024 #5 modify
- #endif
- //Chris061024 #5 modify
- #if(_PM_REC_|_PM_INIT_|_PM_SYS_|_PM_SAVE_) //060728 060821
- EXTERN API bit FsCloseFile(BYTE bDirIndex) large; //vicky050118 remodify
- #endif
- //Walace060501#1
- #if(!_PM_HST_)
- EXTERN API bit FsWrite(DWORD, BYTE, BYTE) large;
- EXTERN DWORD FatRead(DWORD dwCluNumber) large;
- #endif
- //End
- //add by tne 2005/02/15
- #if(_PM_MTP_|_PM_MTP_INIT_)
- EXTERN API bit FOpenFile(IN PBYTE wpDirNameBuffer) large;
- EXTERN API bit FsMTPCloseFile(BYTE bDirIndex) large; //Chris061020 #1 add
- //EXTERN API bit FsForwardRead(DWORD, BOOL) large;//modify by tne 2005/04/13
- EXTERN XDWORD gxdwFileRecSector;
- EXTERN API BYTE SaveLongFileEntry(IN PBYTE pbUnicodeName, IN DWORD dwParentClu, IN PBYTE pbGeneralName) large;
- #define MTP_ROOT_CLUSTER 0 //add by tne 2005/03/28
- EXTERN bit fOpenWithLongName;
- EXTERN bit fForwardReadFileSec; //add by tne 2005/04/13
- EXTERN bit fDeleteContinuous; //060721
- #endif
- //EXTERN XDWORD gxdwLfnSector;
- //EXTERN XWORD gxwLfnOffset;
- #if(_PM_MTP_) //Allen060908: for MTP more code size
- API void FsWriteEndOfFatEntry(DWORD dwFatNum) large;
- #endif
- #if(_PM_INIT_CHK_)
- API BOOL FsEndOfFatEntry(DWORD dwFatNum) large;
- API void FsWriteEndOfFatEntry(DWORD dwFatNum) large;
- #endif
- #if(_PM_PHOTO_|_PM_VIDEO_|_PM_PLAY_|_PM_SYS_|_PM_PLAY_DEL_|_PM_HST_|_PM_DIR_DEL_|_PM_MTP_INIT_) //050803 host
- EXTERN BYTE FsGetAnEntryLongFileName(PBYTE pbLongFileName,PBYTE pbEntryPoint,BYTE bEnterArea) ; //Walace061228#CodeSize
- #endif
- //Walace060809#2 remove to common.c for the sake of open source code
- //EXTERN API bit StorageRead(void);
- //EXTERN API bit StorageWrite(void);
- #if(_PM_HST_) //allen050627: for HOST only 050714: to UsbHostFat
- EXTERN API bit FsCacheFree(BYTE bCacheIndex) large; //allen050629: from UsbHostFa
- EXTERN API bit FsCacheFreeAll(void) large;
- #endif
- API void FsWriteLabelName(void) large; //tne 2005/12/19 //Walace060725#1
- #undef EXTERN
- #undef _AT_