#include <IOKit/storage/IODVDTypes.h>
IOKit/storage/IODVDTypes.h
(enable 8-bit struct packing)
enum(anonymous)
| kDVDMediaTypeUnknown | 512 | |
| kDVDMediaTypeROM | 514 | DVD-ROM |
| kDVDMediaTypeRAM | 515 | DVD-RAM |
| kDVDMediaTypeR | 516 | DVD-R |
| kDVDMediaTypeRW | 517 | DVD-RW |
| kDVDMediaTypePlusRW | 518 | DVD+RW |
| kDVDMediaTypePlusR | 519 | DVD+R |
| kDVDMediaTypeHDROM | 530 | HD DVD-ROM |
| kDVDMediaTypeHDRAM | 531 | HD DVD-RAM |
| kDVDMediaTypeHDR | 532 | HD DVD-R |
| kDVDMediaTypeHDRW | 533 | HD DVD-RW |
| kDVDMediaTypeMin | 512 | |
| kDVDMediaTypeMax | 767 |
typedefDVDMediaType
typedef UInt32 DVDMediaType
macrokDVDSpeedMin
#define kDVDSpeedMin 0x0546
macrokDVDSpeedMax
#define kDVDSpeedMax 0xFFFF
typedefDVDCPRMRegionCode
typedef UInt8 DVDCPRMRegionCode
enum(anonymous)
| kDVDCPRMRegion1 | 254 | |
| kDVDCPRMRegion2 | 253 | |
| kDVDCPRMRegion3 | 251 | |
| kDVDCPRMRegion4 | 247 | |
| kDVDCPRMRegion5 | 239 | |
| kDVDCPRMRegion6 | 223 |
typedefDVDRegionalPlaybackControlScheme
typedef UInt8 DVDRegionalPlaybackControlScheme
enum(anonymous)
| kDVDRegionalPlaybackControlSchemePhase1 | 0 | |
| kDVDRegionalPlaybackControlSchemePhase2 | 1 |
typedefDVDBookType
typedef UInt8 DVDBookType
enum(anonymous)
| kDVDBookTypeROM | 0 | |
| kDVDBookTypeRAM | 1 | |
| kDVDBookTypeR | 2 | |
| kDVDBookTypeRW | 3 | |
| kDVDBookTypeHDROM | 4 | |
| kDVDBookTypeHDRAM | 5 | |
| kDVDBookTypeHDR | 6 | |
| kDVDBookTypeHDRW | 7 | |
| kDVDBookTypePlusRW | 9 | |
| kDVDBookTypePlusR | 10 | |
| kDVDBookTypePlusRWDoubleLayer | 13 | |
| kDVDBookTypePlusRDoubleLayer | 14 |
typedefDVDKeyClass
typedef UInt8 DVDKeyClass
enum(anonymous)
| kDVDKeyClassCSS_CPPM_CPRM | 0 | |
| kDVDKeyClassRSSA | 1 |
typedefDVDKeyFormat
typedef UInt8 DVDKeyFormat
enum(anonymous)
| kDVDKeyFormatAGID_CSS | 0 | |
| kDVDKeyFormatChallengeKey | 1 | |
| kDVDKeyFormatKey1 | 2 | |
| kDVDKeyFormatKey2 | 3 | |
| kDVDKeyFormatTitleKey | 4 | |
| kDVDKeyFormatASF | 5 | |
| kDVDKeyFormatSetRegion | 6 | |
| kDVDKeyFormatRegionState | 8 | |
| kDVDKeyFormatAGID_CSS2 | 16 | |
| kDVDKeyFormatAGID_CPRM | 17 | |
| kDVDKeyFormatAGID_Invalidate | 63 |
typedefDVDStructureFormat
typedef UInt8 DVDStructureFormat
enum(anonymous)
| kDVDStructureFormatPhysicalFormatInfo | 0 | |
| kDVDStructureFormatCopyrightInfo | 1 | |
| kDVDStructureFormatDiscKeyInfo | 2 | |
| kDVDStructureFormatManufacturingInfo | 4 | skip BCA |
structDVDPhysicalFormatInfo
Read DVD Structures Format 0x00
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8:4 | partVersion | Byte 0 |
| UInt8:4 | bookType | |
| UInt8:4 | minimumRate | Byte 1 |
| UInt8:4 | discSize | |
| UInt8:4 | layerType | Byte 2 |
| UInt8:1 | trackPath | |
| UInt8:2 | numberOfLayers | |
| UInt8:1 | reserved2 | |
| UInt8:4 | trackDensity | Byte 3 |
| UInt8:4 | linearDensity | |
| UInt8 | zero1 | Bytes 4-15 always 0x00 |
| UInt8[3] | startingPhysicalSectorNumberOfDataArea | |
| UInt8 | zero2 | always 0x00 |
| UInt8[3] | endPhysicalSectorNumberOfDataArea | |
| UInt8 | zero3 | always 0x00 |
| UInt8[3] | endSectorNumberInLayerZero | |
| UInt8:7 | reserved1 | Byte 16 |
| UInt8:1 | bcaFlag | |
| UInt8[2031] | mediaSpecific | Bytes 17-2047 |
typedefDVDPhysicalFormatInfo
typedef struct DVDPhysicalFormatInfo DVDPhysicalFormatInfo
structDVDCopyrightInfo
Read DVD Structures Format 0x01
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8 | copyrightProtectionSystemType | |
| DVDCPRMRegionCode | regionMask | |
| UInt8[2] | reserved2 |
typedefDVDCopyrightInfo
typedef struct DVDCopyrightInfo DVDCopyrightInfo
structDVDDiscKeyInfo
Read DVD Structures Format 0x02
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[2048] | discKeyStructures |
typedefDVDDiscKeyInfo
typedef struct DVDDiscKeyInfo DVDDiscKeyInfo
structDVDManufacturingInfo
Read DVD Structures Format 0x04
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[2048] | discManufacturingInfo |
typedefDVDManufacturingInfo
typedef struct DVDManufacturingInfo DVDManufacturingInfo
structDVDAuthenticationGrantIDInfo
ReportKey Format 0x00
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[3] | reserved2 | |
| UInt8:6 | reservedBits | |
| UInt8:2 | grantID |
typedefDVDAuthenticationGrantIDInfo
typedef struct DVDAuthenticationGrantIDInfo DVDAuthenticationGrantIDInfo
structDVDChallengeKeyInfo
ReportKey and SendKey Format 0x01
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[10] | challengeKeyValue | |
| UInt8[2] | reserved2 |
typedefDVDChallengeKeyInfo
typedef struct DVDChallengeKeyInfo DVDChallengeKeyInfo
structDVDKey1Info
ReportKey Format 0x02
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[5] | key1Value | |
| UInt8[3] | reserved2 |
typedefDVDKey1Info
typedef struct DVDKey1Info DVDKey1Info
structDVDKey2Info
SendKey Format 0x03
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[5] | key2Value | |
| UInt8[3] | reserved2 |
typedefDVDKey2Info
typedef struct DVDKey2Info DVDKey2Info
structDVDTitleKeyInfo
ReportKey Format 0x04
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8:4 | CP_MOD | |
| UInt8:2 | CGMS | |
| UInt8:1 | CP_SEC | |
| UInt8:1 | CPM | |
| UInt8[5] | titleKeyValue | |
| UInt8[2] | reserved2 |
typedefDVDTitleKeyInfo
typedef struct DVDTitleKeyInfo DVDTitleKeyInfo
structDVDAuthenticationSuccessFlagInfo
ReportKey Format 0x05
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8[3] | reserved2 | |
| UInt8:1 | successFlag | |
| UInt8:7 | reservedBits |
typedefDVDAuthenticationSuccessFlagInfo
typedef struct DVDAuthenticationSuccessFlagInfo DVDAuthenticationSuccessFlagInfo
structDVDRegionPlaybackControlInfo
ReportKey Format 0x08
| UInt8[2] | dataLength | |
| UInt8[2] | reserved | |
| UInt8:3 | numberUserResets | |
| UInt8:3 | numberVendorResets | |
| UInt8:2 | typeCode | |
| DVDCPRMRegionCode | driveRegion | |
| DVDRegionalPlaybackControlScheme | rpcScheme | |
| UInt8 | reserved2 |
typedefDVDRegionPlaybackControlInfo
typedef struct DVDRegionPlaybackControlInfo DVDRegionPlaybackControlInfo
structDVDDiscInfo
Read Disc Information Format
| UInt16 | dataLength | |
| UInt8:2 | discStatus | |
| UInt8:2 | stateOfLastBorder | |
| UInt8:1 | erasable | |
| UInt8:3 | reserved | |
| UInt8 | reserved2 | |
| UInt8 | numberOfBordersLSB | |
| UInt8 | firstRZoneNumberInLastBorderLSB | |
| UInt8 | lastRZoneNumberInLastBorderLSB | |
| UInt8:5 | reserved3 | |
| UInt8:1 | unrestrictedUse | |
| UInt8:1 | discBarCodeValid | |
| UInt8:1 | reserved4 | |
| UInt8 | reserved5 | |
| UInt8 | numberOfBordersMSB | |
| UInt8 | firstRZoneNumberInLastBorderMSB | |
| UInt8 | lastRZoneNumberInLastBorderMSB | |
| UInt8[4] | reserved6 | |
| UInt8[4] | reserved7 | |
| UInt8[4] | reserved8 | |
| UInt8[8] | discBarCode | |
| UInt8 | reserved9 | |
| UInt8 | numberOfOPCTableEntries | |
| UInt8[0] | opcTableEntries |
typedefDVDDiscInfo
typedef struct DVDDiscInfo DVDDiscInfo
typedefDVDRZoneInfoAddressType
Read RZone Information Address Types
typedef UInt8 DVDRZoneInfoAddressType
enum(anonymous)
| kDVDRZoneInfoAddressTypeLBA | 0 | |
| kDVDRZoneInfoAddressTypeRZoneNumber | 1 | |
| kDVDRZoneInfoAddressTypeBorderNumber | 2 |
structDVDRZoneInfo
Read RZone Information Format
| UInt16 | dataLength | |
| UInt8 | rzoneNumberLSB | |
| UInt8 | borderNumberLSB | |
| UInt8 | reserved | |
| UInt8:4 | reserved2 | |
| UInt8:1 | copy | |
| UInt8:1 | damage | |
| UInt8:2 | reserved3 | |
| UInt8:4 | reserved4 | |
| UInt8:1 | restrictedOverwrite | |
| UInt8:1 | incremental | |
| UInt8:1 | blank | |
| UInt8:1 | reservedRZone | |
| UInt8:1 | nextWritableAddressValid | |
| UInt8:1 | lastRecordedAddressValid | |
| UInt8:6 | reserved5 | |
| UInt32 | rzoneStartAddress | |
| UInt32 | nextWritableAddress | |
| UInt32 | freeBlocks | |
| UInt32 | blockingFactor | |
| UInt32 | rzoneSize | |
| UInt32 | lastRecordedAddress | |
| UInt8 | rzoneNumberMSB | |
| UInt8 | borderNumberMSB | |
| UInt8 | reserved6 | |
| UInt8 | reserved7 |
typedefDVDRZoneInfo
typedef struct DVDRZoneInfo DVDRZoneInfo