⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udf_167.h

📁 这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,CD MP3...有很好的参考价值.
💻 H
📖 第 1 页 / 共 2 页
字号:
	Uint16 partitionReferenceNum;} lb_addr;/* Extent interpretation (ECMA 167 4/14.14.1.1) */#define EXTENT_RECORDED_ALLOCATED               0x00#define EXTENT_NOT_RECORDED_ALLOCATED           0x01#define EXTENT_NOT_RECORDED_NOT_ALLOCATED       0x02#define EXTENT_NEXT_EXTENT_ALLOCDECS            0x03/* Long Allocation Descriptor (ECMA 167 4/14.14.2) */typedef struct {	Uint32 extLength;	lb_addr extLocation;	Uint8 impUse[6];} long_ad;	/* upper 2 bits of extLength indicate type *//* File Set Descriptor (ECMA 167 4/14.1) */struct FileSetDesc {	tag descTag;	timestamp recordingDateAndTime;	Uint16 interchangeLvl;	Uint16 maxInterchangeLvl;	Uint32 charSetList;	Uint32 maxCharSetList;	Uint32 fileSetNum;	Uint32 fileSetDescNum;	charspec logicalVolIdentCharSet;	dstring logicalVolIdent[128];	charspec fileSetCharSet;	dstring fileSetIdent[32];	dstring copyrightFileIdent[32];	dstring abstractFileIdent[32];	long_ad rootDirectoryICB;	EntityID domainIdent;	long_ad nextExt;	long_ad streamDirectoryICB;	Uint8 reserved[32];};/* Short Allocation Descriptor (ECMA 167 4/14.14.1) */typedef struct {	Uint32 extLength;	Uint32 extPosition;} short_ad;/* Partition Header Descriptor (ECMA 167 4/14.3) */struct PartitionHeaderDesc {	short_ad unallocatedSpaceTable;	short_ad unallocatedSpaceBitmap;	short_ad partitionIntegrityTable;	short_ad freedSpaceTable;	short_ad freedSpaceBitmap;	Uint8 reserved[88];};/* File Identifier Descriptor (ECMA 167 4/14.4) */struct FileIdentDesc{	tag descTag;	Uint16 fileVersionNum; /* 1 */	Uint8 fileCharacteristics;	Uint8 lengthFileIdent;	long_ad icb;	Uint16 lengthOfImpUse;	Uint8 impUse[0];	Uint8 fileIdent[0];	Uint8 padding[0];};/* File Characteristics (ECMA 167 4/14.4.3) */#define FILE_HIDDEN	1#define FILE_DIRECTORY	2#define FILE_DELETED	4#define FILE_PARENT	8#define FILE_METADATA	0x10 /* UDF 2.0 *//* Allocation Ext Descriptor (ECMA 167 4/14.5) */struct AllocExtDesc{	tag descTag;	Uint32 previousAllocExtLocation;	Uint32 lengthAllocDescs;};/* ICB Tag (ECMA 167 4/14.6) */typedef struct {	Uint32 priorRecordedNumDirectEntries;	Uint16 strategyType;	Uint16 strategyParameter;	Uint16 numEntries;	Uint8 reserved;	Uint8 fileType;	lb_addr parentICBLocation;	Uint16 flags;} icbtag;/* ICB File Type (ECMA 167 4/14.6.6) */#define FILE_TYPE_NONE		0x00U#define FILE_TYPE_UNALLOC	0x01U#define FILE_TYPE_INTEGRITY	0x02U#define FILE_TYPE_INDIRECT	0x03U#define FILE_TYPE_DIRECTORY	0x04U#define FILE_TYPE_REGULAR	0x05U#define FILE_TYPE_BLOCK		0x06U#define FILE_TYPE_CHAR		0x07U#define FILE_TYPE_EXTENDED	0x08U#define FILE_TYPE_FIFO		0x09U#define FILE_TYPE_SOCKET	0x0aU#define FILE_TYPE_TERMINAL	0x0bU#define FILE_TYPE_SYMLINK	0x0cU#define FILE_TYPE_STREAMDIR	0x0dU /* ECMA 167 4/13 *//* ICB Flags (ECMA 167 4/14.6.8) */#define ICB_FLAG_ALLOC_MASK	0x0007U#define ICB_FLAG_SORTED		0x0008U#define ICB_FLAG_NONRELOCATABLE	0x0010U#define ICB_FLAG_ARCHIVE	0x0020U#define ICB_FLAG_SETUID		0x0040U#define ICB_FLAG_SETGID		0x0080U#define ICB_FLAG_STICKY		0x0100U#define ICB_FLAG_CONTIGUOUS	0x0200U#define ICB_FLAG_SYSTEM		0x0400U#define ICB_FLAG_TRANSFORMED	0x0800U#define ICB_FLAG_MULTIVERSIONS	0x1000U/* ICB Flags Allocation type(ECMA 167 4/14.6.8) */#define ICB_FLAG_AD_SHORT	0#define ICB_FLAG_AD_LONG	1#define ICB_FLAG_AD_EXTENDED	2#define ICB_FLAG_AD_IN_ICB	3/* Indirect Entry (ECMA 167 4/14.7) */struct IndirectEntry {	tag descTag;	icbtag icbTag;	long_ad indirectICB;};/* Terminal Entry (ECMA 167 4/14.8) */struct TerminalEntry {	tag descTag;	icbtag icbTag;};/* File Entry (ECMA 167 4/14.9) */struct FileEntry {	tag			descTag;	icbtag		icbTag;	Uint32		uid;	Uint32		gid;	Uint32		permissions;	Uint16		fileLinkCount;	Uint8		recordFormat;	Uint8		recordDisplayAttr;	Uint32		recordLength;	Uint64		informationLength;	Uint64		logicalBlocksRecorded;	timestamp	accessTime;	timestamp	modificationTime;	timestamp	attrTime;	Uint32		checkpoint;	long_ad		extendedAttrICB;	EntityID	impIdent;	Uint64		uniqueID; /* 0= root, 16- (2^32-1) */	Uint32		lengthExtendedAttr;	Uint32		lengthAllocDescs;	Uint8		extendedAttr[0];	Uint8		allocDescs[0];};/* File Permissions (ECMA 167 4/14.9.5) */#define PERM_O_EXEC	0x00000001U#define PERM_O_WRITE	0x00000002U#define PERM_O_READ	0x00000004U#define PERM_O_CHATTR	0x00000008U#define PERM_O_DELETE	0x00000010U#define PERM_G_EXEC	0x00000020U#define PERM_G_WRITE	0x00000040U#define PERM_G_READ	0x00000080U#define PERM_G_CHATTR	0x00000100U#define PERM_G_DELETE	0x00000200U#define PERM_U_EXEC	0x00000400U#define PERM_U_WRITE	0x00000800U#define PERM_U_READ	0x00001000U#define PERM_U_CHATTR	0x00002000U#define PERM_U_DELETE	0x00004000U/* File Record Format (ECMA 167 4/14.9.7) */#define RECORD_FMT_NONE			0#define RECORD_FMT_FIXED_PAD		1#define RECORD_FMT_FIXED		2#define RECORD_FMT_VARIABLE8		3#define RECORD_FMT_VARIABLE16		4#define RECORD_FMT_VARIABLE16_MSB	5#define RECORD_FMT_VARIABLE32		6#define RECORD_FMT_PRINT		7#define RECORD_FMT_LF			8#define RECORD_FMT_CR			9#define RECORD_FMT_CRLF			10#define RECORD_FMT_LFCR			10/* Extended Attribute Header Descriptor (ECMA 167 4/14.10.1) */struct ExtendedAttrHeaderDesc {	tag descTag;	Uint32 impAttrLocation;	Uint32 appAttrLocation;};/* Generic Attribute Format (ECMA 4/14.10.2) */struct GenericAttrFormat {	Uint32 attrType;	Uint8 attrSubtype;	Uint8 reserved[3];	Uint32 attrLength;	Uint8 attrData[0];};/* Character Set Attribute Format (ECMA 4/14.10.3) */struct CharSetAttrFormat {	Uint32 attrType;		/* 1 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint32 escapeSeqLength;	Uint8 charSetType;	Uint8 escapeSeq[0];};/* Alternate Permissions (ECMA 167 4/14.10.4) */struct AlternatePermissionsExtendedAttr {	Uint32 attrType;		/* 3 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint16 ownerIdent;	Uint16 groupIdent;	Uint16 permission;};/* File Times Extended Attribute (ECMA 167 4/14.10.5) */struct FileTimesExtendedAttr {	Uint32 attrType;		/* 5 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint32 dataLength;	Uint32 fileTimeExistence;	Uint8 fileTimes;};/* FileTimeExistence (ECMA 167 4/14.10.5.6) */#define FTE_CREATION	0#define FTE_DELETION	2#define FTE_EFFECTIVE	3#define FTE_BACKUP	5/* Information Times Extended Attribute (ECMA 167 4/14.10.6) */struct InfoTimesExtendedAttr {	Uint32 attrType;		/* 6 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint32 dataLength;	Uint32 infoTimeExistence;	Uint8 infoTimes[0];};/* Device Specification Extended Attribute (ECMA 167 4/14.10.7) */struct DeviceSpecificationExtendedAttr {	Uint32 attrType;		/* 12 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint32 impUseLength;	Uint32 majorDeviceIdent;	Uint32 minorDeviceIdent;	Uint8 impUse[0];};/* Implementation Use Extended Attr (ECMA 167 4/14.10.8) */struct ImpUseExtendedAttr {	Uint32 attrType;		/* 2048 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint32 impUseLength;	EntityID impIdent;	Uint8 impUse[0];};/* Application Use Extended Attribute (ECMA 167 4/14.10.9) */struct AppUseExtendedAttr {	Uint32 attrType;		/* 65536 */	Uint8 attrSubtype;		/* 1 */	Uint8 reserved[3];	Uint32 attrLength;	Uint32 appUseLength;	EntityID appIdent;	Uint8 appUse[0];};#define EXTATTR_CHAR_SET	1#define EXTATTR_ALT_PERMS	3#define EXTATTR_FILE_TIMES	5#define EXTATTR_INFO_TIMES	6#define EXTATTR_DEV_SPEC	12#define EXTATTR_IMP_USE		2048#define EXTATTR_APP_USE		65536/* Unallocated Space Entry (ECMA 167 4/14.11) */struct UnallocatedSpaceEntry {	tag descTag;	icbtag icbTag;	Uint32 lengthAllocDescs;	Uint8 allocDescs[0];};/* Space Bitmap Descriptor (ECMA 167 4/14.12) */struct SpaceBitmapDesc {	tag descTag;	Uint32 numOfBits;	Uint32 numOfBytes;	Uint8 bitmap[0];};/* Partition Integrity Entry (ECMA 167 4/14.13) */struct PartitionIntegrityEntry {	tag descTag;	icbtag icbTag;	timestamp recordingDateAndTime;	Uint8 integrityType;	Uint8 reserved[175];	EntityID impIdent;	Uint8 impUse[256];};/* Extended Allocation Descriptor (ECMA 167 4/14.14.3) */typedef struct { /* ECMA 167 4/14.14.3 */	Uint32 extLength;	Uint32 recordedLength;	Uint32 informationLength;	lb_addr extLocation;} ext_ad;/* Logical Volume Header Descriptor (ECMA 167 4/14.5) */struct LogicalVolHeaderDesc {	Uint64 uniqueID;	Uint8 reserved[24];};/* Path Component (ECMA 167 4/14.16.1) */struct PathComponent {	Uint8 componentType;	Uint8 lengthComponentIdent;	Uint16 componentFileVersionNum;	dstring componentIdent[0];};/* File Entry (ECMA 167 4/14.17) */struct ExtendedFileEntry {	tag			descTag;	icbtag		icbTag;	Uint32		uid;	Uint32		gid;	Uint32		permissions;	Uint16		fileLinkCount;	Uint8		recordFormat;	Uint8		recordDisplayAttr;	Uint32		recordLength;	Uint64		informationLength;	Uint64		objectSize;	Uint64		logicalBlocksRecorded;	timestamp	accessTime;	timestamp	modificationTime;	timestamp	createTime;	timestamp	attrTime;	Uint32		checkpoint;	Uint32		reserved;	long_ad		extendedAttrICB;	long_ad		streamDirectoryICB;	EntityID	impIdent;	Uint64		uniqueID;	Uint32		lengthExtendedAttr;	Uint32		lengthAllocDescs;	Uint8		extendedAttr[0];	Uint8		allocDescs[0];};#pragma pack()#endif /* !defined(_LINUX_UDF_167_H) */

⌨️ 快捷键说明

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