- /****************************************************************************************
- * Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
- * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
- *
- * File: $Workfile: UDF_200.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_200.h $
- *
- * 2 23/04/02 9:30 Nirm
- * - Added dependency in "Config.h".
- *
- * 1 30/01/02 18:12 Nirm
- ****************************************************************************************/
- /////////////////////////////////////////////////////////////////////////////
- // UDF_200.h - Definitions and Data-Structures described in UDF-2.00
- //
- // Author: Nir Milstein
- #include "Config.h" // Global Configuration - do not remove!
- #ifndef __UDF_200_H_
- #define __UDF_200_H_
- #include "PlaycoreFileSysUDFECMA167.h"
- #include "PlaycoreFileSysUDFUDF_102.h"
- // NOTE: All of the structures MUST be packed, since they represent
- // data-structures resident on the Medium!
- #pragma pack(1)
- /////////////////////////////////////////////////////////////////////////////
- // General (UDF-2.00 2.1)
- // Character-Sets (UDF-2.00 2.1.1)
- #define UNICODE_COMPRESSIONID_UNIQUE_WORD 254
- #define UNICODE_COMPRESSIONID_UNIQUE_DWORD 255
- // Type2 PartitionMap for Virtual-Partition (UDF-2.00 2.2.8)
- #define ENTITYID_VAT "*UDF Virtual Alloc Tbl"
- struct PartitionMapType2_VirtualPartition {
- UINT8 uPartitionMapType;
- UINT8 cbPartitionMapLength;
- BYTE aReserved1[2];
- EntityID eidPartitionTypeID;
- UINT16 uVolumeSequenceNumber;
- UINT16 uPartitionNumber;
- BYTE aReserved2[24];
- };
- // Type2 PartitionMap for Sparable Partition Map (UDF-2.00 2.2.9)
- #define ENTITYID_SPARABLE_PARTITION "*UDF Sparable Partition"
- struct PartitionMapType2_SparablePartition {
- UINT8 uPartitionMapType;
- UINT8 cbPartitionMapLength;
- BYTE aReserved1[2];
- EntityID eidPartitionTypeID;
- UINT16 uVolumeSequenceNumber;
- UINT16 uPartitionNumber;
- UINT16 uPacketLength;
- UINT8 uNumberOfSparingTables;
- BYTE ucReserved2;
- UINT32 cbSparingTableSize;
- UINT32 aLocationsOfSparingTables[];
- BYTE aPadding[];
- };
- // Virtual Allocation Table (UDF-2.00 2.2.10)
- #define ICB_FILETYPE_VAT 248
- #define ICB_FILETYPE_REALTIME 249
- struct VirtualAllocationTable {
- UINT16 cbLengthOfHeader;
- UINT16 cbLengthOfImplUse;
- DString sLogicalVolumeID[128];
- UINT32 dwPrevVAT_ICB_Location;
- UINT32 uFilesCnt;
- UINT32 uDirsCnt;
- UINT16 uMinUDFRead;
- UINT16 uMinUDFWrite;
- UINT16 uMaxUDFWrite;
- BYTE aReserved[2];
- BYTE aVATEntries[];
- };
- // Sparing Table (UDF-2.00 2.2.11)
- #define STME_AVAILABLE_FOR_SPARING 0xFFFFFFFF
- #define STME_DEFECTIVE_PACKET 0xFFFFFFF0
- struct SparingTableMapEntry {
- UINT32 dwOriginalLocation;
- UINT32 dwMappedLocation;
- };
- #define ENTITYID_SPARING_TABLE "*UDF Sparing Table"
- struct SparingTable {
- Tag tgDescTag;
- EntityID eidSparingID;
- UINT16 uReallocationTableLength;
- BYTE aReserved[2];
- UINT32 uSequenceNumber;
- struct SparingTableMapEntry aMapEntries[];
- };
- #pragma pack()
- #endif //__UDF_200_H_