- /****************************************************************************************
- * Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
- * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
- *
- * File: $Workfile: UDF_102.h $
- *
- * Description:
- * ============
- *
- *
- * Log:
- * ====
- * $Revision: 2 $
- * Last Modified by $Author: Nirm $ at $Modtime: 23/04/02 9:06 $
- ****************************************************************************************
- * Updates:
- ****************************************************************************************
- * $Log: /I49/H49V/Playcore/FileSys/UDF/UDF_102.h $
- *
- * 2 23/04/02 9:30 Nirm
- * - Added dependency in "Config.h".
- *
- * 1 30/01/02 18:12 Nirm
- ****************************************************************************************/
- /////////////////////////////////////////////////////////////////////////////
- // UDF_102.h - Definitions and Data-Structures described in UDF-1.02
- //
- // Author: Nir Milstein
- #include "Config.h" // Global Configuration - do not remove!
- #ifndef __UDF_102_H_
- #define __UDF_102_H_
- #include "PlaycoreFileSysUDFECMA167.h"
- // NOTE: All of the structures MUST be packed, since they represent
- // data-structures resident on the Medium!
- #pragma pack(1)
- /////////////////////////////////////////////////////////////////////////////
- // Basic Restrictions and Requirements (UDF-1.02 2)
- #define LOGICAL_BLOCK_SIZE 2048 // DVD-Specific (UDF-1.02 6.9.2.3)
- #define MAX_FILENAME_LEN 255
- #define MAX_PATH_LEN 1023
- #define ICB_STRATEGY_TYPE 4 // DVD-Specific (UDF-1.02 6.9.1)
- /////////////////////////////////////////////////////////////////////////////
- // General (UDF-1.02 2.1)
- // Character-Sets (UDF-1.02 2.1.1)
- #define UNICODE_COMPRESSIONID_SINGLE_BYTE 8
- #define UNICODE_COMPRESSIONID_DOUBLE_BYTE 16
- // OSTA CS0 CharSpec (UDF-1.02 2.1.2)
- #define UDF_CHAR_SET_INFO "OSTA Compressed Unicode"
- // Entity Identifer (UDF-1.02 2.1.5)
- #define EntityID RegID
- // Identifer Suffix (UDF-1.02 2.1.5.3)
- struct Domain_IdentifierSuffix {
- UINT16 uUDFRevision;
- UINT8 uDomainFlags;
- BYTE aReserved[5];
- };
- #define IDSUFFIX_FLAGS_HARD_PROTECT 0x01
- #define IDSUFFIX_FLAGS_SOFT_PROTECT 0x02
- struct UDF_IdentifierSuffix {
- UINT16 uUDFRevision;
- UINT8 uOSClass;
- UINT8 uOSIdentifier;
- BYTE aReserved[4];
- };
- struct Impl_IdentifierSuffix {
- UINT8 uOSClass;
- UINT8 uOSIdentifer;
- BYTE aReserved[6];
- };
- // Implementation-Use for a Logical Volume Integrity Descriptor (UDF-1.02 2.2.6.4)
- struct LogicalVolumeIntegrityDescImplUse {
- EntityID eidImplID;
- UINT32 uNumberOfFiles;
- UINT32 uNumberOfDirs;
- UINT16 uMinimumUDFReadRevision;
- UINT16 uMinimumUDFWriteRevision;
- UINT16 uMaximumUDFWriteRevision;
- BYTE aImplUse[];
- };
- // Implementation-Use for Implementation-Use Volume Descriptor (UDF-1.02 2.2.7.2)
- struct LVInfo {
- CharSpec csLVICharset;
- DString sLogicalVolumeID[128];
- DString sLVInfo1[36];
- DString sLVInfo2[36];
- DString sLVInfo3[36];
- EntityID eidImplID;
- BYTE aImplUse[128];
- };
- // Implementation-Use for Long Allocation Descriptor (UDF-1.02 2.3.10.1)
- struct Long_ad_ImplUse {
- UINT16 wFlags;
- BYTE aImplUse[4];
- };
- #define LONGAD_IMPLUSE_FLAGS_EXTENT_ERASED 0x01
- // DVD Copyright Management Information (UDF-1.02 3.3.4.5.1.2)
- #define UDF_ID_DVD_FREE_EA "*UDF FreeEASpace"
- #define UDF_ID_DVD_IMPL "*UDF DVD CGMS Info"
- struct ExtendedAttrImplUse_DVD_FreeEASpace {
- UINT16 uHeaderChecksum;
- UINT16 uFreeEASpace;
- };
- struct ExtendedAttrImplUse_DVD_CGMS {
- UINT16 uHeaderChecksum;
- BYTE ucCGMSInfo;
- UINT8 uDataStructureType;
- BYTE aProtectionSystemInfo[4];
- };
- #pragma pack()
- #endif //__UDF_102_H_