udf_102.h

来自「ZORAN 962/966 SOURCE CODE,DVD chip」· C头文件 代码 · 共 141 行

H
141
字号

/****************************************************************************************
 *  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 "Playcore\FileSys\UDF\ECMA167.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_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?