- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
MtpDataBase.h
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:8k
源码类别:
压缩解压
开发平台:
C++ Builder
- /***********************************************************************************
- *
- * Copyright (C) 2006 ALi Corporation. All Rights Reserved.
- *
- * File: MtpDataBase.h
- *
- * Contents:
- *
- * History:
- * Date By Reason
- * =========== =========== ===========
- * 2006/1/05 Allen Hsu development
- *
- ************************************************************************************/
- #define _MDB_COMMON_ 0
- #define _MDB_INIT_ 0
- #define _MTP_PLAYLIST_ 0
- #if(_PM_MTP_|_PM_MTP_INIT_)
- #undef _MDB_COMMON_
- #define _MDB_COMMON_ 1
- #endif
- #if(_PM_MTP_INIT_)
- #undef _MDB_INIT_
- #define _MDB_INIT_ 1
- #endif
- #if(_PM_MTP_)
- #undef _MTP_PLAYLIST_
- #define _MTP_PLAYLIST_ 1
- #endif
- /* //Chris move to Const.h for UiCommon.c to use 060731 #1
- //051227 start
- typedef struct
- {
- BYTE bStatus;
- BYTE bRoundTripStatus;
- WORD wFormatCode;
- WORD wCurPoint;
- WORD wNextPoint; //0x0000: last object
- WORD wPrePoint; //0x0000: first object
- WORD wBackPoint; //0x0000: root
- WORD wEnterPoint; //0x0000: Folder but no file, 0xFFFF: file
- WORD wEnterLastPoint;
- }MTP_DB_NODE;
- // 0 ~ 42 : Property: mapping to variable.
- // 43 ~ 95 : Parameter
- // 96 ~ 191 : wPropEntry
- // 192 ~ : Property: Date
- typedef struct MDB_OBJLIST//_OBJECT_PROPERTY
- {
- //
- // Seq must be the same with cwObjectPropertyEntry
- //
- BYTE bPersusrentGUID[12]; // 0
- DWORD dwObjectHandle; // 12
- DWORD dwObjectParentID; // 16
- DWORD dwObjectSize; // 20
- WORD wFormatCode; // 24
- WORD wProtectionStatus; // 26
- DWORD dwStorageID; // 28
- WORD wAssociationType; // 32 050506
- DWORD dwAssociationDesc; // 34 050506
- DWORD dwAUDIOWAVECODEC; // 38 050506
- DWORD dwSAMPLERATE; // 42 050506
- DWORD dwAUDIOBITRATE; // 46 050506
- WORD wNUMBEROFCHANNELS; // 50 050506
- WORD wTRACK; // 52 050506
- BYTE bNonConsumable; // 54 050507
- DWORD dwUseCount; // 55 //add by chris 06/05/02
- WORD wUserRating; // 59 //Chris 060503
- DWORD dwDuration; // 61 //add by chris 060717 #3
- // WORD wFreePointer; // 65 point to free
- BYTE bPathDepth; // 65 => Fs Allen060123
- DWORD dwObjectFileEntrySec; // 66 => Fs
- WORD wObjectFileEntrySecOffset; // 70 => Fs
- DWORD dwObjectFileFirstClu; // 72 => Fs
- DWORD dwObjectDirStartSec; // 76 => Fs //add by tne 2005/04/22
- //060119start Chris modify 060717 #3
- XBYTE pShortFileName[11]; // 80 - 11
- BYTE bFileContinuous; // 91 - 1 //Allen060728
- BYTE bReserved1[9]; // 92 - 9
- XBYTE bDateCreated[49]; // 101 - 49 ENTRY_DATE_START
- XBYTE bDateModified[49]; // 150 - 49
- //060119end
- }MDB_OBJLIST;
- */
- #ifdef _MTP_DATA_BASE_
- CBYTE cbObjectFilePath[3][25]={ "\\ObjProp\ObjList.prp", //050506
- "\\ObjProp\ObjName.prp",
- "\\ObjProp\ObjStat.prp"};
- CBYTE cbObjectFileName[3][12]={ "OBJLIST PRP", //050506
- "OBJNAME PRP",
- "OBJSTAT PRP"};
- #else
- extern CBYTE cbObjectFilePath;
- extern CBYTE cbObjectFileName;
- #endif
- #ifdef _MTP_DATA_BASE_
- #define EXTERN
- #define _AT_(addr) _at_ addr
- #else
- #define EXTERN extern
- #define _AT_(addr)
- #endif
- //EXTERN xdata MTP_DB_NODE stMdbNodeParent; //051227 060803 del
- //EXTERN xdata MTP_DB_NODE stMdbNode; //051227 060803 del
- //EXTERN xdata MTP_DB_NODE stMdbNodePre; //051227 060803 del
- EXTERN xdata MTP_DB_NODE* gpMdbNode; //051227
- EXTERN xdata MDB_OBJLIST* gpObjList;
- EXTERN xdata XBYTE* gpPtyFile; //060123
- EXTERN XBYTE gxbMoveBlind; //060109
- //060802
- //1 MTP Performance Increase Part
- #define NODECH_CURRENT 0x00
- #define NODECH_PARENT 0x01
- #define NODECH_PREVIOUS 0x02
- #define NODECH_NEXT 0x03
- EXTERN XBYTE gxbNodeCacheModify[4];
- EXTERN xdata MTP_DB_NODE gstMdbNode[4];// _AT_ ((0x9700));
- EXTERN XBYTE gxbMdbNodeCacheModify;
- EXTERN xdata MTP_DB_NODE gstMdbNodeCache; //060803
- EXTERN XBYTE gxbMdbNameFileInit;
- #define stMdbNode gstMdbNodeCache //060803
- //2 End of Performance Increase
- #if(_MDB_COMMON_)
- EXTERN API void MtpFinishJob(void);
- EXTERN API void SaveFsInfo(OUT FS_INF_DATA* pFs) large;
- EXTERN API void LoadFsInfo(IN FS_INF_DATA* pFs) large;
- EXTERN void MtpVariableInit(void) large;
- #endif
- #if(_MDB_COMMON_)
- EXTERN API void MdbFreeCache(void) large; //060801
- EXTERN void ConvertHandle2Index(IN DWORD dwObjectHandle, OUT BYTE* pbStorLun, OUT WORD* pwObjectIndex);
- EXTERN void ConvertIndex2Handle(IN BYTE bStorLun, IN WORD wObjectIndex, OUT DWORD* pdwObjectHandle);
- EXTERN API void MdbLoadFileStruct(WORD wObjectIndex) large; //Allen060124
- EXTERN API BOOL MdbMovePoint(BYTE bMoveType) large;
- EXTERN API void MdbBackupNode(MTP_DB_NODE* pNode) large;
- EXTERN API void MdbGetPropFile(WORD wObjectIndex, BYTE bFileIndex) large;
- //EXTERN API void MdbUpdateCreateObject(BYTE) large; 060803 del
- EXTERN API MdbNodeCacheInit(void) large; //060802
- EXTERN API MdbFreeNodeCache(void) large;//060802
- EXTERN API void MdbUpdateDeleteObject(WORD wDeleteIndex) large;
- EXTERN API bit MdbFindFreeObject(OUT WORD* pwObjectIndex) large;
- EXTERN API bit CheckWriteProtect(void);
- EXTERN API void DeleteObjectProcess(WORD wDeleteIndex, bit fDirectSet) large; //060804
- EXTERN API void MdbNameFileInit(void) large; //060804
- #endif
- #if(_MDB_INIT_)
- EXTERN API void MdbInit(BYTE,BYTE) large;
- #endif
- #if(_MTP_PLAYLIST_)
- EXTERN API void MtpGetObjectReferences(void) large;
- EXTERN API void MtpSetObjectReferences() large;
- #if MTP_SUPPORT_ROUNDTRIP
- EXTERN API void MtpGetRoundTrip(void) large; //Chris 060728 #1
- #endif
- #endif
- #if(_MTP_PLAYLIST_|_MTP_KERNEL_)
- EXTERN API void PldbTitleHeaderInit() large;
- #endif
- #if(_MTP_SPECIAL_CMD_)
- EXTERN API bit MtpSpecialCommand(BYTE bState) large;
- #endif
- #undef EXTERN
- #undef _AT_
- //Define
- #define MTPDATA_VISUAL_ROOT_DIR_NAME "MTPDATA "
- #define MTPMEDIA_VISUAL_ROOT_DIR_NAME "MTPMEDIA "
- #define FILE_STRING_FOLDER_FORBUILD "OBJPROP "
- //060103
- //2 Note: if NAME number have change need to change MASK_OBJECT_NAME
- #define OBJ_LIST 0x00
- #define OBJ_NAME 0x01
- #define OBJ_STAT 0x02
- #define OBJ_NAME_2ND (OBJ_NAME|0x10)
- #define OBJ_NAME_ARIST (OBJ_NAME|0x20) //chris add 060427 for longfilename
- #define OBJ_NAME_GENRE (OBJ_NAME|0x30)
- #define OBJ_NAME_ALBUMNAME (OBJ_NAME|0x40)
- #define OBJ_NAME_ALBUMARIST (OBJ_NAME|0x50) //Chris 060728 #4
- #define BY_PASS_LIST (OBJ_LIST|0x10) //Chris add for load gpstFileIndex 060728 #1
- #define BY_PASS_STAT (OBJ_STAT|0x10)
- #define OBJ_REFERENCE 0x08 //Chris add 061016 #3 for support Reference
- #define MASK_OBJECT_NAME 0x7F //060809: for gxbMdbNameFileInit //Chris add Reference 061016 #3
- #define DB_NO_CACHE 0x80 //060724
- #define USE_FAT 0x04 //Chris Test 061013 #2
- //050530
- /*#define STORAGE_NOT_AVAILABLE 0x00
- #define STORAGE_INIT_DONE 0x01 //060108
- #define STORAGE_FSINIT_DONE 0x02 //0x01 060108
- #define STORAGE_DBINIT_DONE 0x03 //0x02 060108
- #define STORAGE_AVAILABLE 0x04 //0x03 060108
- */
- //050530
- #define MTPINIT_NORMAL 0x00
- #define MTPINIT_CARDINIT 0x01
- #define MTPINIT_CHECK_MSC 0x20 //MTP_CLASS_CHECK 060105
- #define MTPINIT_NEED_USBINIT 0x40
- #define MTPINIT_FULLFORMAT 0x80
- //050505
- #define OBJECT_FREE 0x00
- #define OBJECT_CREATE 0x01 //MTP_INIT => Delete non-complete Object
- #define OBJECT_VALID 0x02
- #define OBJECT_NEED_UPGRADE 0x80 //051227
- #define OBJECT_INIT_FLAG 0x40 //060104
- #define NODE_ENTER 0x01
- #define NODE_BACK 0x02
- #define NODE_NEXT 0x04
- #define NODE_PRE 0x08
- #define NODE_MOVE_FORWARD 0x80
- #define NODE_MOVE_BACKWARD 0x40
- #define NODE_FIRST_OBJECT 0x0000
- #define NODE_LAST_OBJECT 0x0000
- #define NODE_FOLDER_EMPTY 0x0000
- #define NODE_FILE 0xFFFF
- #define OBJINDEX_ROOT 0x0000
- #define OBJINDEX_NOSPACE 0xFFFF //060105
- #define STORAGEID_NANDFLASH 0x01000100 // logical partition ID(0x0001), physical storage ID(0x0001),
- #define STORAGEID_CARD 0x01000200 // logical partition ID(0x0001), physical storage ID(0x0002),
- #define MTP_ROOT_HANDLE 0xFFFFFFFF //Allen060210
- //Chris move to Common.h for UiCommon.h to use 060731 #1
- //RoundTripStatusType
- //#define DELETED 0x01
- //#define ADDED 0x02
- //#define MODIFIED 0x04