FileSystemDef.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:8k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *  FileSystemGProt.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *  MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *  This file defines type, data structure, constant of File System Simulation.
  48.  *
  49.  * Author:
  50.  * -------
  51.  * -------
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * removed!
  58.  *
  59.  * removed!
  60.  * removed!
  61.  * removed!
  62.  *
  63.  * removed!
  64.  * removed!
  65.  * removed!
  66.  *
  67.  *------------------------------------------------------------------------------
  68.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  69.  *============================================================================
  70.  ****************************************************************************/
  71. #ifndef _MMI_FILESYSTEMDEF_H
  72. #define _MMI_FILESYSTEMDEF_H
  73. #include "L4Dr.h"
  74. #include "FileManagerGProt.h"
  75. #include "MMI_features.h"
  76. /***************************************************************************** 
  77. * Define
  78. *****************************************************************************/
  79. #define  MAX_BUFF_SIZE        512
  80. #define  MAX_FILE_NAME        200
  81. extern S32 CreateDir(U8 *pPath);
  82. #ifndef MMI_ON_WIN32
  83. /* Opens for reading. If the file does not exist or cannot be found.Fails Returned To Call */
  84. #define FILE_HANDLE        FS_HANDLE
  85. extern FILE_HANDLE OpenCache(U8 *pFileName, S32 nType);
  86. #define PFS_READ           FS_READ_ONLY
  87. #define PFS_READ_BINARY    PFS_READ
  88. /* Opens an empty file for writing. If the given file exists, its contents are destroyed. */
  89. #define PFS_WRITE          FS_READ_WRITE|FS_CREATE_ALWAYS
  90. /* Opens for writing and Reading; creates the file first if it doesn抰 exist. */
  91. #define PFS_WRITE_READ     FS_READ_WRITE|FS_CREATE
  92. #define pfopen(x,y)        FS_Open((U16 *)x,y)
  93. #define pfclose(x)         { FS_Commit(x); FS_Close(x); }
  94. #define pfwrite(x1,x2,x3,x4,x5) FS_Write(x4,x1,x3,(U32 *)x5)
  95. #define pfread(x1,x2,x3,x4,x5)  FS_Read(x4,x1,x3,(U32 *)x5)
  96. #define pfseek             FS_Seek
  97. #define pfdelete(x)        FS_Delete((U16 *)x)
  98. #define pfrename(x,y)      FS_Rename((U16 *)x,(U16 *)y)
  99. #define pcreateDir(x)      CreateDir((U8*)x)
  100. #define pfindfirst(x1, x2, x3, x4, x5, x6)      FS_FindFirst((PU16)x1, (U8)x2, (U8)x3, (FS_DOSDirEntry*)x4, (PU16)x5, (U32)x6 )
  101. #define pfindnext(x1, x2, x3, x4)               FS_FindNext((FILE_HANDLE)x1, (FS_DOSDirEntry*)x2, (PU16)x3, (U32)x4 )
  102. #else /* MMI_ON_WIN32 */ 
  103.    /*
  104.     * NoteXX: i have change some definitions and declarations here
  105.     *         for integration of File System Simulation.
  106.     *         (Originally most functions are connected to C Run-time
  107.     *         library.)
  108.     */
  109. #define FILE_HANDLE int
  110. extern FILE_HANDLE OpenCache(U8 *pFileName, U8 *pType);
  111. extern FILE_HANDLE OpenFileFS(U8 *pFileName, U8 *pType);
  112. extern FILE_HANDLE pFindFirstEx(const PS8 x1, U8 x2, U8 x3, void *x4, PS8 x5, U32 x6);
  113. extern U8 pFindNextEx(FILE_HANDLE x1, void *x2, PS8 x3, U32 x4);
  114. extern void CloseFileFS(FILE_HANDLE f);
  115. extern size_t ReadFileFS(void *buffer, size_t size, size_t count, FILE_HANDLE f, size_t *read);
  116. extern size_t WriteFileFS(const void *buffer, size_t size, size_t count, FILE_HANDLE f);
  117. /* Opens for reading. If the file does not exist or cannot be found.Fails Returned To Call */
  118. #define PFS_READ _T("r")
  119. /* Opens an empty file for writing. If the given file exists, its contents are destroyed. */
  120. #define PFS_WRITE _T("w")
  121. /* Opens for writing and Reading; File Pointer at EOF.creates the file first if it doesn抰 exist. */
  122. #define PFS_WRITE_READ _T("a+")
  123. #define PFS_READ_BINARY _T("rb")
  124. #define pfopen(x,y)  OpenFileFS(x,y)
  125. #define pfclose CloseFileFS
  126. #define pfwrite(x1,x2,x3,x4,x5) WriteFileFS(x1, x2, x3, x4)
  127. #define pfread(x1,x2,x3,x4,x5) ReadFileFS(x1, x2, x3, x4, x5)
  128. #define pfseek SeekFileFS
  129. #define pfdelete fdelete
  130. #define pfrename frename
  131. #define pcreateDir(x) CreateDir(x)
  132. #define pfindfirst(x1, x2, x3, x4, x5, x6) pFindFirstEx((const PS8)x1, (U8)x2, (U8)x3, (void*)x4, (PS8)x5, (U32)x6 )
  133. #define pfindnext(x1, x2, x3, x4) pFindNextEx((FILE_HANDLE)x1, (void*)x2, (PS8)x3, (U32)x4 )
  134. #endif /* MMI_ON_WIN32 */ 
  135. #define PFS_READ_WRITE PFS_WRITE_READ
  136. #define  pfOpenCache OpenCache
  137. /***************************************************************************** 
  138. * Typedef 
  139. *****************************************************************************/
  140. /***************************************************************************** 
  141. * Extern Global Variable
  142. *****************************************************************************/
  143. /***************************************************************************** 
  144. * Extern Global Function
  145. *****************************************************************************/
  146. /* Leo add for DLT */
  147. extern S32 Searchfile(FILE_HANDLE);
  148. /* Leo end */
  149. extern S32 GetFSFileSize(FILE_HANDLE handle);
  150. extern S32 StartFileRead(FILE_HANDLE handle, U32 nIndex);
  151. extern S32 pfgetc(FILE_HANDLE handle);
  152. extern pBOOL IsEndOfCurrentFile(void);
  153. extern S32 pCacheFileRead(FILE_HANDLE handle, S32 nBufferSize, S32 *nRead, U8 *pBuffer);
  154. extern S32 pCacheFileSeek(FILE_HANDLE handle, S32 nBytes, S32 nType);
  155. extern S32 pCopyFile(PU8 pSourceFile, PU8 pDestFile, pBOOL bFailIfExists);
  156. #ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
  157. extern S32 pCopyFileFromOffset(FILE_HANDLE fSourceFile, PU8 pDestFile, U32 offset, U32 size);
  158. #endif 
  159. #endif /* _MMI_FILESYSTEMDEF_H */