#define SCSI_MS_PAGE_CDAUDIO 0x0e // CD-ROM audio (CDROM)
#define SCSI_MS_PAGE_COMPRESS 0x0f // data compression (TAPE)
#define SCSI_MS_PAGE_CONFIG 0x10 // device configuration (TAPE)
+#define SCSI_MS_PAGE_POWER 0x1a // power condition (CDROM)
#define SCSI_MS_PAGE_EXCEPT 0x1c // informal exception (ALL:SCSI-3)
#define SCSI_MS_PAGE_CDCAPS 0x2a // CD-ROM capabilities and mechanical status (CDROM)
// more defined...
uint8 port3Volume;
} SCSICDROMAudioPage;
+typedef struct {
+ uint8 page :6, // page code: 0x1a
+ :1,
+ ps :1;
+ uint8 len; // page length 0x0a
+ uint8 reserved;
+ uint8 standby :1, // standby timer enabled
+ idle :1, // idle timer enabled
+ :6;
+ uint32 idleTimer; // inactivity time until idle (100 ms)
+ uint32 standbyTimer; // inactivity time until standby (100 ms)
+} SCSICDROMPowerPage;
+
typedef struct {
uint8 page :6, // page code: 0x2a
:1,
#define SCSI_FEAT_CODE_REMOVABLEMEDIUM 0x3
#define SCSI_FEAT_CODE_RANDOMREADABLE 0x10
#define SCSI_FEAT_CODE_DVDREAD 0x1F
+#define SCSI_FEAT_CODE_POWERMANAGEMENT 0x100
#define SCSI_FEAT_CODE_VMWARE_LAST 0xFF80
uint16 code;
uint8 featureCurrent:1,