--- trunk/reactos/drivers/storage/cdrom/cdrom.c 2005-06-18 20:55:09 UTC (rev 16060)
+++ trunk/reactos/drivers/storage/cdrom/cdrom.c 2005-06-18 21:02:59 UTC (rev 16061)
@@ -64,6 +64,26 @@
MODE_READ_RECOVERY_PAGE ReadRecoveryPage;
} ERROR_RECOVERY_DATA10, *PERROR_RECOVERY_DATA10;
+typedef struct _MODE_CAPABILITIES_PAGE2
+{
+ UCHAR PageCode:6;
+ UCHAR Reserved1:1;
+ UCHAR PSBit:1;
+ UCHAR PageLength;
+ UCHAR Reserved2[2];
+ UCHAR Capabilities[4];
+ UCHAR MaximumSpeedSupported[2];
+ UCHAR Reserved3;
+ UCHAR NumberVolumeLevels;
+ UCHAR BufferSize[2];
+ UCHAR CurrentSpeed[2];
+ UCHAR Reserved4;
+ UCHAR Reserved5:1;
+ UCHAR DigitalOutput:4;
+ UCHAR Reserved6:3;
+ UCHAR Reserved7[2];
+} MODE_CAPABILITIES_PAGE2, *PMODE_CAPABILITIES_PAGE2;
+
typedef struct _MODE_CAPABILITIES_DATA6
{
MODE_PARAMETER_HEADER Header;
--- trunk/reactos/w32api/include/ddk/scsi.h 2005-06-18 20:55:09 UTC (rev 16060)
+++ trunk/reactos/w32api/include/ddk/scsi.h 2005-06-18 21:02:59 UTC (rev 16061)
@@ -1285,13 +1285,16 @@
UCHAR BlockMinimumSize[2];
} READ_BLOCK_LIMITS_DATA, *PREAD_BLOCK_LIMITS_DATA;
+#define MODE_BLOCK_DESC_LENGTH 8
+#define MODE_HEADER_LENGTH 4
+#define MODE_HEADER_LENGTH10 8
typedef struct _MODE_PARAMETER_HEADER {
UCHAR ModeDataLength;
UCHAR MediumType;
UCHAR DeviceSpecificParameter;
UCHAR BlockDescriptorLength;
-}MODE_PARAMETER_HEADER, *PMODE_PARAMETER_HEADER;
+} MODE_PARAMETER_HEADER, *PMODE_PARAMETER_HEADER;
typedef struct _MODE_PARAMETER_HEADER10 {
UCHAR ModeDataLength[2];
@@ -1327,7 +1330,7 @@
UCHAR MaximumBurstSize[2];
UCHAR DataTransferDisconnect : 2;
UCHAR Reserved2[3];
-}MODE_DISCONNECT_PAGE, *PMODE_DISCONNECT_PAGE;
+} MODE_DISCONNECT_PAGE, *PMODE_DISCONNECT_PAGE;
typedef struct _MODE_CACHING_PAGE {
UCHAR PageCode : 6;
@@ -1344,7 +1347,7 @@
UCHAR MinimumPrefetch[2];
UCHAR MaximumPrefetch[2];
UCHAR MaximumPrefetchCeiling[2];
-}MODE_CACHING_PAGE, *PMODE_CACHING_PAGE;
+} MODE_CACHING_PAGE, *PMODE_CACHING_PAGE;
typedef struct _MODE_CDROM_WRITE_PARAMETERS_PAGE {
UCHAR PageLength;