#define UDF_VRS_START_OFFSET ((UINT64)(16ULL << UDF_LOGICAL_SECTOR_SHIFT))\r
\r
typedef enum {\r
- UdfPrimaryVolumeDescriptor = 1,\r
- UdfAnchorVolumeDescriptorPointer = 2,\r
- UdfVolumeDescriptorPointer = 3,\r
+ UdfPrimaryVolumeDescriptor = 1,\r
+ UdfAnchorVolumeDescriptorPointer = 2,\r
+ UdfVolumeDescriptorPointer = 3,\r
UdfImplemenationUseVolumeDescriptor = 4,\r
- UdfPartitionDescriptor = 5,\r
- UdfLogicalVolumeDescriptor = 6,\r
- UdfUnallocatedSpaceDescriptor = 7,\r
- UdfTerminatingDescriptor = 8,\r
+ UdfPartitionDescriptor = 5,\r
+ UdfLogicalVolumeDescriptor = 6,\r
+ UdfUnallocatedSpaceDescriptor = 7,\r
+ UdfTerminatingDescriptor = 8,\r
UdfLogicalVolumeIntegrityDescriptor = 9,\r
- UdfFileSetDescriptor = 256,\r
- UdfFileIdentifierDescriptor = 257,\r
- UdfAllocationExtentDescriptor = 258,\r
- UdfFileEntry = 261,\r
- UdfExtendedFileEntry = 266,\r
+ UdfFileSetDescriptor = 256,\r
+ UdfFileIdentifierDescriptor = 257,\r
+ UdfAllocationExtentDescriptor = 258,\r
+ UdfFileEntry = 261,\r
+ UdfExtendedFileEntry = 266,\r
} UDF_VOLUME_DESCRIPTOR_ID;\r
\r
#pragma pack(1)\r
\r
typedef struct {\r
- UINT16 TagIdentifier;\r
- UINT16 DescriptorVersion;\r
- UINT8 TagChecksum;\r
- UINT8 Reserved;\r
- UINT16 TagSerialNumber;\r
- UINT16 DescriptorCRC;\r
- UINT16 DescriptorCRCLength;\r
- UINT32 TagLocation;\r
+ UINT16 TagIdentifier;\r
+ UINT16 DescriptorVersion;\r
+ UINT8 TagChecksum;\r
+ UINT8 Reserved;\r
+ UINT16 TagSerialNumber;\r
+ UINT16 DescriptorCRC;\r
+ UINT16 DescriptorCRCLength;\r
+ UINT32 TagLocation;\r
} UDF_DESCRIPTOR_TAG;\r
\r
typedef struct {\r
- UINT32 ExtentLength;\r
- UINT32 ExtentLocation;\r
+ UINT32 ExtentLength;\r
+ UINT32 ExtentLocation;\r
} UDF_EXTENT_AD;\r
\r
typedef struct {\r
- UINT8 CharacterSetType;\r
- UINT8 CharacterSetInfo[63];\r
+ UINT8 CharacterSetType;\r
+ UINT8 CharacterSetInfo[63];\r
} UDF_CHAR_SPEC;\r
\r
typedef struct {\r
- UINT8 Flags;\r
- UINT8 Identifier[23];\r
+ UINT8 Flags;\r
+ UINT8 Identifier[23];\r
union {\r
//\r
// Domain Entity Identifier\r
//\r
struct {\r
- UINT16 UdfRevision;\r
- UINT8 DomainFlags;\r
- UINT8 Reserved[5];\r
+ UINT16 UdfRevision;\r
+ UINT8 DomainFlags;\r
+ UINT8 Reserved[5];\r
} Domain;\r
//\r
// UDF Entity Identifier\r
//\r
struct {\r
- UINT16 UdfRevision;\r
- UINT8 OSClass;\r
- UINT8 OSIdentifier;\r
- UINT8 Reserved[4];\r
+ UINT16 UdfRevision;\r
+ UINT8 OSClass;\r
+ UINT8 OSIdentifier;\r
+ UINT8 Reserved[4];\r
} Entity;\r
//\r
// Implementation Entity Identifier\r
//\r
struct {\r
- UINT8 OSClass;\r
- UINT8 OSIdentifier;\r
- UINT8 ImplementationUseArea[6];\r
+ UINT8 OSClass;\r
+ UINT8 OSIdentifier;\r
+ UINT8 ImplementationUseArea[6];\r
} ImplementationEntity;\r
//\r
// Application Entity Identifier\r
//\r
struct {\r
- UINT8 ApplicationUseArea[8];\r
+ UINT8 ApplicationUseArea[8];\r
} ApplicationEntity;\r
//\r
// Raw Identifier Suffix\r
//\r
struct {\r
- UINT8 Data[8];\r
+ UINT8 Data[8];\r
} Raw;\r
} Suffix;\r
} UDF_ENTITY_ID;\r
\r
typedef struct {\r
- UINT32 LogicalBlockNumber;\r
- UINT16 PartitionReferenceNumber;\r
+ UINT32 LogicalBlockNumber;\r
+ UINT16 PartitionReferenceNumber;\r
} UDF_LB_ADDR;\r
\r
typedef struct {\r
- UINT32 ExtentLength;\r
- UDF_LB_ADDR ExtentLocation;\r
- UINT8 ImplementationUse[6];\r
+ UINT32 ExtentLength;\r
+ UDF_LB_ADDR ExtentLocation;\r
+ UINT8 ImplementationUse[6];\r
} UDF_LONG_ALLOCATION_DESCRIPTOR;\r
\r
typedef struct {\r
- UDF_DESCRIPTOR_TAG DescriptorTag;\r
- UDF_EXTENT_AD MainVolumeDescriptorSequenceExtent;\r
- UDF_EXTENT_AD ReserveVolumeDescriptorSequenceExtent;\r
- UINT8 Reserved[480];\r
+ UDF_DESCRIPTOR_TAG DescriptorTag;\r
+ UDF_EXTENT_AD MainVolumeDescriptorSequenceExtent;\r
+ UDF_EXTENT_AD ReserveVolumeDescriptorSequenceExtent;\r
+ UINT8 Reserved[480];\r
} UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER;\r
\r
typedef struct {\r
- UDF_DESCRIPTOR_TAG DescriptorTag;\r
- UINT32 VolumeDescriptorSequenceNumber;\r
- UDF_CHAR_SPEC DescriptorCharacterSet;\r
- UINT8 LogicalVolumeIdentifier[128];\r
- UINT32 LogicalBlockSize;\r
- UDF_ENTITY_ID DomainIdentifier;\r
- UDF_LONG_ALLOCATION_DESCRIPTOR LogicalVolumeContentsUse;\r
- UINT32 MapTableLength;\r
- UINT32 NumberOfPartitionMaps;\r
- UDF_ENTITY_ID ImplementationIdentifier;\r
- UINT8 ImplementationUse[128];\r
- UDF_EXTENT_AD IntegritySequenceExtent;\r
- UINT8 PartitionMaps[6];\r
+ UDF_DESCRIPTOR_TAG DescriptorTag;\r
+ UINT32 VolumeDescriptorSequenceNumber;\r
+ UDF_CHAR_SPEC DescriptorCharacterSet;\r
+ UINT8 LogicalVolumeIdentifier[128];\r
+ UINT32 LogicalBlockSize;\r
+ UDF_ENTITY_ID DomainIdentifier;\r
+ UDF_LONG_ALLOCATION_DESCRIPTOR LogicalVolumeContentsUse;\r
+ UINT32 MapTableLength;\r
+ UINT32 NumberOfPartitionMaps;\r
+ UDF_ENTITY_ID ImplementationIdentifier;\r
+ UINT8 ImplementationUse[128];\r
+ UDF_EXTENT_AD IntegritySequenceExtent;\r
+ UINT8 PartitionMaps[6];\r
} UDF_LOGICAL_VOLUME_DESCRIPTOR;\r
\r
#pragma pack()\r