UDF_API.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:3k
源码类别:

DVD

开发平台:

Others

  1. /****************************************************************************************
  2.  *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
  3.  *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
  4.  *
  5.  *  File: $Workfile: UDF_API.h $             
  6.  *
  7.  * Description:
  8.  * ============
  9.  * 
  10.  * 
  11.  * Log:
  12.  * ====
  13.  * $Revision: 2 $
  14.  * Last Modified by $Author: Leslie $ at $Modtime: 03-01-06 17:15 $ 
  15.  ****************************************************************************************
  16.  * Updates:
  17.  ****************************************************************************************
  18.  * $Log: /SourceCode/I64_Common/I64_Reference/Playcore/FileSys/UDF/UDF_API.h $
  19.  * 
  20.  * 2     03-01-10 12:20 Leslie
  21.  * Add builtin unicode support
  22.  * 
  23.  * 3     9/05/02 16:16 Nirm
  24.  * - Expanded UDF_getDVDFileInfo() functionality, to increase efficiency.
  25.  * 
  26.  * 2     23/04/02 9:30 Nirm
  27.  * - Added dependency in "Config.h".
  28.  * 
  29.  * 1     30/01/02 18:12 Nirm
  30.  ****************************************************************************************/
  31. /////////////////////////////////////////////////////////////////////////////
  32. // UDF_API.h - Abstract Programming Interface for a UDF-2.00 File-System
  33. //
  34. // Author: Nir Milstein
  35. #include "Config.h" // Global Configuration - do not remove!
  36. #ifndef __UDF_API_H_
  37. #define __UDF_API_H_
  38. #include "IncludeSysDefs.h"
  39. #include "PlaycoreFileSysFileSystem.h"
  40. /////////////////////////////////////////////////////////////////////////////
  41. // Detection
  42. BOOL UDF_isResident(DWORD dwCandidateLBN, UINT16 *o_pUDFRevision);
  43. /////////////////////////////////////////////////////////////////////////////
  44. // Construction / Destruction
  45. void UDF_construct(DWORD dwSessionStartLBN, UINT16 uRevision);
  46. void UDF_destruct(void);
  47. /////////////////////////////////////////////////////////////////////////////
  48. // Initialization
  49. BOOL UDF_initialize(BOOL bLongFilenameSupport);
  50. /////////////////////////////////////////////////////////////////////////////
  51. // Navigation
  52. BOOL UDF_goToRootDir(void);
  53. BOOL UDF_changeDir(LPCWSTR i_pszDestDirName);
  54. BOOL UDF_goUp(void);
  55. void UDF_storeWorkingDirectory(void);
  56. void UDF_recallWorkingDirectory(void);
  57. /////////////////////////////////////////////////////////////////////////////
  58. // Queries
  59. void UDF_getVolumeName(LPCWSTR volumeName);
  60. BOOL UDF_fileExists(LPCWSTR i_pszFilename);
  61. BOOL UDF_fileLocation(LPCWSTR i_pszFilename, DWORD *o_pFileLocation);
  62. BOOL UDF_getDVDFileInfo(LPCWSTR i_pszFilename, enDVD_FileInfoType eType, 
  63. DVDFileInfo *o_pFileInfo, FindData *o_pFindData);
  64. UINT16 UDF_findFirstFile(LPCWSTR i_pszPattern, FindData *o_pFindData);
  65. BOOL UDF_findNextFile(UINT16 hFindFile, FindData *o_pFindData);
  66. BOOL UDF_findClose(UINT16 hFileFind);
  67. #ifdef DVD_VR_SUPPORT
  68. #define MAX_PLAY_EXTENT_IN_FE 1
  69. #define ALLOCATION_EXTENT_INTERPRETATION 0xc0000000UL
  70. BOOL UDF_getDVDVRFileExtent(LPCWSTR i_pszFilename, DWORD* o_pFileExtentList);
  71. BOOL UDF_ReadFile(DWORD pFileHandle, DWORD dwOffset, DWORD dwSize, BYTE* o_pBuffer);
  72. BOOL UDF_PlayExtents(DWORD pFileHandle, DWORD dwOffset, DWORD dwSize);
  73. BOOL UDF_TransferExtentToFE();
  74. #endif
  75. #endif //__UDF_API_H_