33#ifndef __CDRW_DEVICE_H__
34#define __CDRW_DEVICE_H__
57 struct _REQUEST_SENSE {
69 struct _CDB6READWRITE {
114#define FormatUnit_Code_Mask 0x07
115#define FormatUnit_Cmp 0x08
116#define FormatUnit_Fmt 0x10
158#define PauseResume_Pause 0x00
159#define PauseResume_Resume 0x01
161 struct _PAUSE_RESUME {
172#define ReadTOC_Format_Mask 0x0f
173#define ReadTOC_Format_TOC 0x00
174#define ReadTOC_Format_SesInfo 0x01
175#define ReadTOC_Format_FullTOC 0x02
176#define ReadTOC_Format_PMA 0x03
177#define ReadTOC_Format_ATIP 0x04
178#define ReadTOC_Format_CdText 0x05
203 struct _PLAY_AUDIO_MSF {
215#define SubChannel_SubQ_Header 0x00
216#define SubChannel_SubQ_Block 0x01
236#define ReadCD_SecType_Mask 0x1c
237#define ReadCD_SecType_Any 0x00
238#define ReadCD_SecType_CDDA 0x04
239#define ReadCD_SecType_M1 0x08
240#define ReadCD_SecType_M2 0x0c
241#define ReadCD_SecType_M2F1 0x10
242#define ReadCD_SecType_M2F2 0x14
244 struct _READ_CD_MSF {
291#define WriteCd_RELADR 0x01
292#define WriteCd_FUA 0x08
293#define WriteCd_DPO 0x10
327 struct _MODE_SENSE10 {
341 struct _MODE_SELECT {
352 struct _MODE_SELECT10 {
387#define StartStop_Start 0x01
388#define StartStop_Load 0x02
406#define StartStop_Power_NoChg 0x00
407#define StartStop_Power_Idle 0x02
408#define StartStop_Power_Standby 0x03
409#define StartStop_Power_Sleep 0x05
411 struct _MEDIA_REMOVAL {
420 struct _READ_FORMAT_CAPACITIES {
435#define LoadUnload_Start 0x01
436#define LoadUnload_Load 0x02
438 struct _LOAD_UNLOAD {
451 struct _MECH_STATUS {
463#define EventStat_Immed 0x01
465#define EventStat_Class_OpChange 0x02
466#define EventStat_Class_PM 0x04
467#define EventStat_Class_ExternalReq 0x08
468#define EventStat_Class_Media 0x10
469#define EventStat_Class_MultiInit 0x20
470#define EventStat_Class_DevBusy 0x40
472 struct _GET_EVENT_STATUS {
488 struct _READ_DISC_INFO {
495#define ReadTrackInfo_Type_Mask 0x01
496#define ReadTrackInfo_Type_LBA 0x00
497#define ReadTrackInfo_Type_Track 0x01
499#define ReadTrackInfo_LastTrk 0xff
501 struct _READ_TRACK_INFO {
511#define ReadTrackInfo3_Type_Mask 0x03
512#define ReadTrackInfo3_Type_LBA ReadTrackInfo_Type_LBA
513#define ReadTrackInfo3_Type_Track ReadTrackInfo_Type_Track
514#define ReadTrackInfo3_Type_Ses 0x02
516#define ReadTrackInfo3_LastTrk ReadTrackInfo_LastTrk
517#define ReadTrackInfo3_DiscLeadIn 0x00
519 struct _READ_TRACK_INFO_3 {
529 struct _RESERVE_TRACK {
536#define CloseTrkSes_Immed 0x01
538#define CloseTrkSes_Trk 0x01
539#define CloseTrkSes_Ses 0x02
541#define CloseTrkSes_LastTrkSes 0xff
543#define CloseTrkSes_Delay DEF_I64(3100000000)
545 struct _CLOSE_TRACK_SESSION {
568 struct _SET_CD_SPEED {
576#define SyncCache_RELADR 0x01
577#define SyncCache_Immed 0x02
579 struct _SYNCHRONIZE_CACHE {
597#define BlankMedia_Mask 0x07
598#define BlankMedia_Complete 0x00
599#define BlankMedia_Minimal 0x01
600#define BlankMedia_Track 0x02
601#define BlankMedia_UnreserveTrack 0x03
602#define BlankMedia_TrackTail 0x04
603#define BlankMedia_UncloseLastSes 0x05
604#define BlankMedia_EraseSes 0x06
605#define BlankMedia_Immed 0x10
607 struct _BLANK_MEDIA {
622#define SendKey_ReportAGID 0x00
623#define SendKey_ChallengeKey 0x01
624#define SendKey_Key1 0x02
625#define SendKey_Key2 0x03
626#define SendKey_TitleKey 0x04
627#define SendKey_ReportASF 0x05
628#define SendKey_InvalidateAGID 0x3F
653 struct _READ_DVD_STRUCTURE {
673 struct _GET_CONFIGURATION {
688 struct _SET_READ_AHEAD {
705#define SendOpc_DoOpc 0x01
707 struct _SEND_OPC_INFO {
722 struct _SEND_CUE_SHEET {
734 struct _CDB12READWRITE {
772 struct _PLXTR_READ_CDDA {
783 struct _NEC_READ_CDDA {
796#define CDB6GENERIC_LENGTH 6
797#define CDB10GENERIC_LENGTH 10
798#define CDB12GENERIC_LENGTH 12
800#define MAXIMUM_NUMBER_OF_TRACKS 100
801#define MAXIMUM_NUMBER_OF_SESSIONS 1024
808#define MODE_PAGE_ERROR_RECOVERY 0x01
809#define MODE_PAGE_WRITE_PARAMS 0x05
810#define MODE_PAGE_VERIFY_ERROR 0x07
811#define MODE_PAGE_CACHING 0x08
812#define MODE_PAGE_MEDIUM_TYPES 0x0B
813#define MODE_PAGE_CD_DEVICE_PARAMS 0x0D
814#define MODE_PAGE_CD_AUDIO_CONTROL 0x0E
815#define MODE_PAGE_POWER_CONDITION 0x1A
816#define MODE_PAGE_FAIL_REPORT 0x1C
817#define MODE_PAGE_TIMEOUT_AND_PROTECT 0x1D
818#define MODE_PAGE_PHILIPS_SECTOR_TYPE 0x21
819#define MODE_PAGE_CAPABILITIES 0x2A
821#define MODE_SENSE_RETURN_ALL 0x3f
823#define MODE_SENSE_CURRENT_VALUES 0x00
824#define MODE_SENSE_CHANGEABLE_VALUES 0x40
825#define MODE_SENSE_DEFAULT_VAULES 0x80
826#define MODE_SENSE_SAVED_VALUES 0xc0
830#define SCSIOP_TEST_UNIT_READY 0x00
831#define SCSIOP_REZERO_UNIT 0x01
832#define SCSIOP_REWIND 0x01
833#define SCSIOP_REQUEST_BLOCK_ADDR 0x02
834#define SCSIOP_REQUEST_SENSE 0x03
835#define SCSIOP_FORMAT_UNIT 0x04
836#define SCSIOP_READ_BLOCK_LIMITS 0x05
837#define SCSIOP_REASSIGN_BLOCKS 0x07
838#define SCSIOP_READ6 0x08
839#define SCSIOP_RECEIVE 0x08
840#define SCSIOP_WRITE6 0x0A
841#define SCSIOP_PRINT 0x0A
842#define SCSIOP_SEND 0x0A
843#define SCSIOP_SEEK6 0x0B
844#define SCSIOP_TRACK_SELECT 0x0B
845#define SCSIOP_SLEW_PRINT 0x0B
846#define SCSIOP_SEEK_BLOCK 0x0C
847#define SCSIOP_PARTITION 0x0D
848#define SCSIOP_READ_REVERSE 0x0F
849#define SCSIOP_WRITE_FILEMARKS 0x10
850#define SCSIOP_FLUSH_BUFFER 0x10
851#define SCSIOP_SPACE 0x11
852#define SCSIOP_INQUIRY 0x12
853#define SCSIOP_VERIFY6 0x13
854#define SCSIOP_RECOVER_BUF_DATA 0x14
855#define SCSIOP_MODE_SELECT 0x15
856#define SCSIOP_RESERVE_UNIT 0x16
857#define SCSIOP_RELEASE_UNIT 0x17
858#define SCSIOP_COPY 0x18
859#define SCSIOP_ERASE 0x19
860#define SCSIOP_MODE_SENSE 0x1A
861#define SCSIOP_START_STOP_UNIT 0x1B
862#define SCSIOP_STOP_PRINT 0x1B
863#define SCSIOP_LOAD_UNLOAD 0x1B
864#define SCSIOP_RECEIVE_DIAGNOSTIC 0x1C
865#define SCSIOP_SEND_DIAGNOSTIC 0x1D
866#define SCSIOP_MEDIUM_REMOVAL 0x1E
867#define SCSIOP_READ_FORMAT_CAPACITY 0x23
868#define SCSIOP_READ_CAPACITY 0x25
869#define SCSIOP_READ 0x28
870#define SCSIOP_WRITE 0x2A
871#define SCSIOP_WRITE_CD 0x2A
872#define SCSIOP_SEEK 0x2B
873#define SCSIOP_LOCATE 0x2B
874#define SCSIOP_ERASE10 0x2C
875#define SCSIOP_WRITE_VERIFY 0x2E
876#define SCSIOP_VERIFY 0x2F
877#define SCSIOP_SEARCH_DATA_HIGH 0x30
878#define SCSIOP_SEARCH_DATA_EQUAL 0x31
879#define SCSIOP_SEARCH_DATA_LOW 0x32
880#define SCSIOP_SET_LIMITS 0x33
881#define SCSIOP_READ_POSITION 0x34
882#define SCSIOP_SYNCHRONIZE_CACHE 0x35
883#define SCSIOP_COMPARE 0x39
884#define SCSIOP_COPY_COMPARE 0x3A
885#define SCSIOP_COPY_VERIFY 0x3A
886#define SCSIOP_WRITE_DATA_BUFF 0x3B
887#define SCSIOP_READ_DATA_BUFF 0x3C
888#define SCSIOP_CHANGE_DEFINITION 0x40
889#define SCSIOP_PLAY_AUDIO10 0x41
890#define SCSIOP_READ_SUB_CHANNEL 0x42
891#define SCSIOP_READ_TOC 0x43
892#define SCSIOP_READ_HEADER 0x44
893#define SCSIOP_PLAY_AUDIO 0x45
894#define SCSIOP_GET_CONFIGURATION 0x46
895#define SCSIOP_PLAY_AUDIO_MSF 0x47
896#define SCSIOP_PLAY_TRACK_INDEX 0x48
897#define SCSIOP_PLAY_TRACK_RELATIVE 0x49
898#define SCSIOP_GET_EVENT_STATUS 0x4A
899#define SCSIOP_PAUSE_RESUME 0x4B
900#define SCSIOP_LOG_SELECT 0x4C
901#define SCSIOP_LOG_SENSE 0x4D
902#define SCSIOP_STOP_PLAY_SCAN 0x4E
903#define SCSIOP_READ_DISC_INFO 0x51
904#define SCSIOP_READ_TRACK_INFO 0x52
905#define SCSIOP_RESERVE_TRACK 0x53
906#define SCSIOP_SEND_OPC_INFO 0x54
907#define SCSIOP_MODE_SELECT10 0x55
908#define SCSIOP_REPAIR_TRACK 0x58
909#define SCSIOP_READ_MASTER_CUE 0x59
910#define SCSIOP_MODE_SENSE10 0x5A
911#define SCSIOP_CLOSE_TRACK_SESSION 0x5B
912#define SCSIOP_READ_BUFFER_CAPACITY 0x5C
913#define SCSIOP_SEND_CUE_SHEET 0x5D
914#define SCSIOP_READ16 0x88
915#define SCSIOP_WRITE16 0x8A
916#define SCSIOP_VERIFY16 0x8F
917#define SCSIOP_SERVICE_ACTION16 0x9E
919 #define SCSIOP_SA_READ_CAPACITY16 0x10
921#define SCSIOP_REPORT_LUNS 0xA0
922#define SCSIOP_BLANK 0xA1
923#define SCSIOP_SEND_KEY 0xA3
924#define SCSIOP_REPORT_KEY 0xA4
925#define SCSIOP_PLAY_AUDIO12 0xA5
926#define SCSIOP_LOAD_UNLOAD_SLOT 0xA6
927#define SCSIOP_SET_READ_AHEAD 0xA7
928#define SCSIOP_READ12 0xA8
929#define SCSIOP_WRITE12 0xAA
930#define SCSIOP_VERIFY12 0xAF
931#define SCSIOP_SEEK12 0xAB
932#define SCSIOP_GET_PERFORMANCE 0xAC
933#define SCSIOP_READ_DVD_STRUCTURE 0xAD
934#define SCSIOP_WRITE_VERIFY12 0xAE
935#define SCSIOP_VERIFY12 0xAF
936#define SCSIOP_SET_STREAMING 0xB6
937#define SCSIOP_READ_CD_MSF 0xB9
938#define SCSIOP_SET_CD_SPEED 0xBB
939#define SCSIOP_MECHANISM_STATUS 0xBD
940#define SCSIOP_READ_CD 0xBE
941#define SCSIOP_SEND_DVD_STRUCTURE 0xBF
942#define SCSIOP_DOORLOCK 0xDE
943#define SCSIOP_DOORUNLOCK 0xDF
950#define CDB_RETURN_ON_COMPLETION 0
951#define CDB_RETURN_IMMEDIATE 1
957#define CDB_FORCE_MEDIA_ACCESS 0x08
961#define SCSIOP_DENON_EJECT_DISC 0xE6
962#define SCSIOP_DENON_STOP_AUDIO 0xE7
963#define SCSIOP_DENON_PLAY_AUDIO 0xE8
964#define SCSIOP_DENON_READ_TOC 0xE9
965#define SCSIOP_DENON_READ_SUBCODE 0xEB
969#define SCSIOP_PHILIPS_GET_NWA 0xE2
970#define SCSIOP_PHILIPS_RESERVE_TRACK 0xE4
971#define SCSIOP_PHILIPS_WRITE_TRACK 0xE6
972#define SCSIOP_PHILIPS_LOAD_UNLOAD 0xE7
973#define SCSIOP_PHILIPS_CLOSE_TRACK_SESSION 0xE9
974#define SCSIOP_PHILIPS_RECOVER_BUF_DATA 0xEC
975#define SCSIOP_PHILIPS_READ_SESSION_INFO 0xEE
979#define SCSIOP_PLEXTOR_READ_CDDA 0xD8
983#define SCSIOP_NEC_READ_CDDA 0xD4
987#define SCSIMESS_ABORT 0x06
988#define SCSIMESS_ABORT_WITH_TAG 0x0D
989#define SCSIMESS_BUS_DEVICE_RESET 0X0C
990#define SCSIMESS_CLEAR_QUEUE 0X0E
991#define SCSIMESS_COMMAND_COMPLETE 0X00
992#define SCSIMESS_DISCONNECT 0X04
993#define SCSIMESS_EXTENDED_MESSAGE 0X01
994#define SCSIMESS_IDENTIFY 0X80
995#define SCSIMESS_IDENTIFY_WITH_DISCON 0XC0
996#define SCSIMESS_IGNORE_WIDE_RESIDUE 0X23
997#define SCSIMESS_INITIATE_RECOVERY 0X0F
998#define SCSIMESS_INIT_DETECTED_ERROR 0X05
999#define SCSIMESS_LINK_CMD_COMP 0X0A
1000#define SCSIMESS_LINK_CMD_COMP_W_FLAG 0X0B
1001#define SCSIMESS_MESS_PARITY_ERROR 0X09
1002#define SCSIMESS_MESSAGE_REJECT 0X07
1003#define SCSIMESS_NO_OPERATION 0X08
1004#define SCSIMESS_HEAD_OF_QUEUE_TAG 0X21
1005#define SCSIMESS_ORDERED_QUEUE_TAG 0X22
1006#define SCSIMESS_SIMPLE_QUEUE_TAG 0X20
1007#define SCSIMESS_RELEASE_RECOVERY 0X10
1008#define SCSIMESS_RESTORE_POINTERS 0X03
1009#define SCSIMESS_SAVE_DATA_POINTER 0X02
1010#define SCSIMESS_TERMINATE_IO_PROCESS 0X11
1014#define SCSIMESS_MODIFY_DATA_POINTER 0X00
1015#define SCSIMESS_SYNCHRONOUS_DATA_REQ 0X01
1016#define SCSIMESS_WIDE_DATA_REQUEST 0X03
1020#define SCSIMESS_MODIFY_DATA_LENGTH 5
1021#define SCSIMESS_SYNCH_DATA_LENGTH 3
1022#define SCSIMESS_WIDE_DATA_LENGTH 2
1030 union _EXTENDED_ARGUMENTS {
1049#define SCSISTAT_GOOD 0x00
1050#define SCSISTAT_CHECK_CONDITION 0x02
1051#define SCSISTAT_CONDITION_MET 0x04
1052#define SCSISTAT_BUSY 0x08
1053#define SCSISTAT_INTERMEDIATE 0x10
1054#define SCSISTAT_INTERMEDIATE_COND_MET 0x14
1055#define SCSISTAT_RESERVATION_CONFLICT 0x18
1056#define SCSISTAT_COMMAND_TERMINATED 0x22
1057#define SCSISTAT_QUEUE_FULL 0x28
1062#define CDB_INQUIRY_EVPD 0x01
1065#define NOT_READY_RETRY_INTERVAL 20
1068#define LUN0_FORMAT_SAVING_DEFECT_LIST 0
1069#define USE_DEFAULTMSB 0
1070#define USE_DEFAULTLSB 0
1072#define START_UNIT_CODE 0x01
1073#define STOP_UNIT_CODE 0x00
1084#define INQUIRYDATABUFFERSIZE 36
1120#define DIRECT_ACCESS_DEVICE 0x00
1121#define SEQUENTIAL_ACCESS_DEVICE 0x01
1122#define PRINTER_DEVICE 0x02
1123#define PROCESSOR_DEVICE 0x03
1124#define WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04
1125#define READ_ONLY_DIRECT_ACCESS_DEVICE 0x05
1126#define SCANNER_DEVICE 0x06
1127#define OPTICAL_DEVICE 0x07
1128#define MEDIUM_CHANGER 0x08
1129#define COMMUNICATION_DEVICE 0x09
1130#define LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F
1131#define DEVICE_QUALIFIER_NOT_SUPPORTED 0x03
1135#define DEVICE_CONNECTED 0x00
1159#define SENSE_BUFFER_SIZE 18
1163#define SCSI_SENSE_NO_SENSE 0x00
1164#define SCSI_SENSE_RECOVERED_ERROR 0x01
1165#define SCSI_SENSE_NOT_READY 0x02
1166#define SCSI_SENSE_MEDIUM_ERROR 0x03
1167#define SCSI_SENSE_HARDWARE_ERROR 0x04
1168#define SCSI_SENSE_ILLEGAL_REQUEST 0x05
1169#define SCSI_SENSE_UNIT_ATTENTION 0x06
1170#define SCSI_SENSE_DATA_PROTECT 0x07
1171#define SCSI_SENSE_BLANK_CHECK 0x08
1172#define SCSI_SENSE_UNIQUE 0x09
1173#define SCSI_SENSE_COPY_ABORTED 0x0A
1174#define SCSI_SENSE_ABORTED_COMMAND 0x0B
1175#define SCSI_SENSE_EQUAL 0x0C
1176#define SCSI_SENSE_VOL_OVERFLOW 0x0D
1177#define SCSI_SENSE_MISCOMPARE 0x0E
1178#define SCSI_SENSE_RESERVED 0x0F
1183#define SCSI_ADSENSE_NO_SENSE 0x00
1186#define SCSI_ADSENSE_WARNING 0x0B
1187#define SCSI_ADSENSE_REC_DATA_NOECC 0x17
1188#define SCSI_ADSENSE_REC_DATA_ECC 0x18
1189#define SCSI_ADSENSE_ROUNDED_PARAM 0x37
1190#define SCSI_ADSENSE_FAILURE_PREDICTED 0x5D
1191#define SCSI_ADSENSE_CD_CONTROL_ERR 0x73
1194#define SCSI_ADSENSE_LUN_NOT_READY 0x04
1195#define SCSI_ADSENSE_INCOMPATIBLE_MEDIA 0x30
1196#define SCSI_ADSENSE_INVALID_MEDIA SCSI_ADSENSE_INCOMPATIBLE_MEDIA
1197#define SCSI_ADSENSE_NO_MEDIA_IN_DEVICE 0x3A
1198#define SCSI_ADSENSE_POSITION_ERROR 0x3B
1199#define SCSI_ADSENSE_NOT_SELF_CONFIGURED 0x3E
1203#define SCSI_ADSENSE_NO_SEEK 0x02
1204#define SCSI_ADSENSE_NO_REFERENCE 0x06
1205#define SCSI_ADSENSE_CD_WRITE_ERROR 0x0C
1206#define SCSI_ADSENSE_CD_READ_ERROR 0x11
1207#define SCSI_ADSENSE_TRACK_ERROR 0x14
1208#define SCSI_ADSENSE_SEEK_ERROR 0x15
1209#define SCSI_ADSENSE_FORMAT_CORRUPTED 0x31
1210#define SCSI_ADSENSE_ENCLOSURE_FAILURE 0x34
1211#define SCSI_ADSENSE_ENCLOSURE_SERVICE 0x35
1212#define SCSI_ADSENSE_ERASE_ERROR 0x51
1213#define SCSI_ADSENSE_UNRECOVERED_TOC 0x57
1214#define SCSI_ADSENSE_SESSION_FIXATION 0x71
1218#define SCSI_ADSENSE_CLEAN_REQUEST 0x00
1219#define SCSI_ADSENSE_SELECT 0x04
1220#define SCSI_ADSENSE_COMMUNICATION 0x08
1221#define SCSI_ADSENSE_LOST_STREAMING 0x09
1222#define SCSI_ADSENSE_SYNC_ERROR 0x1B
1223#define SCSI_ADSENSE_MECH_ERROR 0x3B
1224#define SCSI_ADSENSE_LUN_ERROR 0x3E
1225#define SCSI_ADSENSE_DIAGNOSTIC 0x40
1226#define SCSI_ADSENSE_INTERNAL 0x44
1227#define SCSI_ADSENSE_SOFT_RESET 0x46
1228#define SCSI_ADSENSE_SCSI_PARITY 0x47
1229#define SCSI_ADSENSE_CMD_PHASE 0x4A
1230#define SCSI_ADSENSE_DATA_PHASE 0x4B
1231#define SCSI_ADSENSE_SELF_CONFIG 0x4C
1232#define SCSI_ADSENSE_MEDIUM_REMOVAL 0x53
1233#define SCSI_ADSENSE_VOLTAGE 0x65
1236#define SCSI_ADSENSE_AUDIO_PLAY 0x00
1237#define SCSI_ADSENSE_MULTISELECT 0x07
1238#define SCSI_ADSENSE_INVALID_PARAM_LENGTH 0x1A
1239#define SCSI_ADSENSE_ILLEGAL_COMMAND 0x20
1240#define SCSI_ADSENSE_ILLEGAL_BLOCK 0x21
1241#define SCSI_ADSENSE_INVALID_CDB 0x24
1242#define SCSI_ADSENSE_INVALID_LUN 0x25
1243#define SCSI_ADSENSE_INVALID_VALUE 0x26
1244#define SCSI_ADSENSE_WRITE_PROTECT 0x27
1245#define SCSI_ADSENSE_CANT_DISCONNECT 0x2B
1246#define SCSI_ADSENSE_INVALID_CMD_SEQUENCE 0x2C
1247#define SCSI_ADSENSE_INVALID_SESSION_MODE 0x30
1248#define SCSI_ADSENSE_SAVE_NOT_SUPPORTED 0x35
1249#define SCSI_ADSENSE_INVALID_BITS_IN_IDENT_MSG 0x3D
1250#define SCSI_ADSENSE_MSG_ERROR 0x43
1252#define SCSI_ADSENSE_SYS_RESOURCE_FAILURE 0x55
1253#define SCSI_ADSENSE_OUT_OF_SPACE 0x63
1254#define SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK 0x64
1255#define SCSI_ADSENSE_CD_COPY_ERROR 0x6F
1256#define SCSI_ADSENSE_INCOMPLETE_DATA 0x72
1257#define SCSI_ADSENSE_VENDOR_UNIQUE 0x80
1258#define SCSI_ADSENSE_MUSIC_AREA 0xA0
1259#define SCSI_ADSENSE_DATA_AREA 0xA1
1260#define SCSI_ADSENSE_VOLUME_OVERFLOW 0xA7
1263#define SCSI_ADSENSE_LOG_OVERFLOW 0x0A
1264#define SCSI_ADSENSE_MEDIUM_CHANGED 0x28
1265#define SCSI_ADSENSE_BUS_RESET 0x29
1266#define SCSI_ADSENSE_PARAM_CHANGE 0x2A
1267#define SCSI_ADSENSE_CMD_CLEARED_BY_ANOTHER 0x2F
1268#define SCSI_ADSENSE_MEDIA_STATE 0x3B
1269#define SCSI_ADSENSE_FUNCTIONALTY_CHANGE 0x3F
1270#define SCSI_ADSENSE_OPERATOR 0x5A
1271#define SCSI_ADSENSE_MAX_LOG 0x5B
1272#define SCSI_ADSENSE_POWER 0x5E
1275#define SCSI_ADSENSE_READ_LOST_STREAMING 0x11
1276#define SCSI_ADSENSE_RESELECT_FAILURE 0x45
1277#define SCSI_ADSENSE_ERR_MSG_DETECTED 0x48
1278#define SCSI_ADSENSE_INVALID_ERR_MSG 0x49
1279#define SCSI_ADSENSE_TEGGED_OVERLAPPED 0x4D
1280#define SCSI_ADSENSE_OVERLAPPED_ATTEMPT 0x4E
1284#define SCSI_SENSEQ_NO_SENSE 0x00
1288#define SCSI_SENSEQ_CAUSE_NOT_REPORTABLE 0x00
1289#define SCSI_SENSEQ_BECOMING_READY 0x01
1290#define SCSI_SENSEQ_INIT_COMMAND_REQUIRED 0x02
1291#define SCSI_SENSEQ_MANUAL_INTERVENTION_REQUIRED 0x03
1292#define SCSI_SENSEQ_FORMAT_IN_PROGRESS 0x04
1293#define SCSI_SENSEQ_OPERATION_IN_PROGRESS 0x07
1294#define SCSI_SENSEQ_LONG_WRITE_IN_PROGRESS 0x08
1297#define SCSI_SENSEQ_INCOMPATIBLE_MEDIA_INSTALLED 0x00
1298#define SCSI_SENSEQ_UNKNOWN_FORMAT 0x01
1299#define SCSI_SENSEQ_INCOMPATIBLE_FORMAT 0x02
1300#define SCSI_SENSEQ_CLEANING_CARTRIDGE_INSTALLED 0x03
1301#define SCSI_SENSEQ_WRITE_UNKNOWN_FORMAT 0x04
1302#define SCSI_SENSEQ_WRITE_INCOMPATIBLE_FORMAT 0x05
1303#define SCSI_SENSEQ_FORMAT_INCOMPATIBLE_MEDIUM 0x06
1304#define SCSI_SENSEQ_CLEANING_FAILURE 0x07
1307#define SCSI_SENSEQ_TRAY_CLOSED 0x01
1308#define SCSI_SENSEQ_TRAY_OPEN 0x02
1311#define SENSEQ_W_RECOVERY_NEEDED 0x07
1312#define SENSEQ_W_RECOVERY_FAILED 0x08
1313#define SENSEQ_LOST_STREAMING 0x09
1314#define SENSEQ_PADDING_BLOCKS_ADDED 0x0A
1318#define SCSI_SENSEQ_LEAD_IN_ERROR 0x01
1319#define SCSI_SENSEQ_LEAD_OUT_ERRROR 0x02
1320#define SCSI_SENSEQ_INCOMPLETE_TRACK 0x03
1321#define SCSI_SENSEQ_INCOMPLETE_RESERVED_TRACK 0x04
1322#define SCSI_SENSEQ_NO_MORE_RESERVATION 0x05
1325#define SCSI_SENSEQ_PARAM_NOT_SUPPORTED 0x01
1326#define SCSI_SENSEQ_PARAM_INVALID_VALUE 0x02
1327#define SCSI_SENSEQ_THRESHOLD_PARAM_NOT_SUPPORTED 0x03
1328#define SCSI_SENSEQ_INVALID_RELEASE_OF_PERSISTENT_RESERVATION 0x04
1331#define SCSI_SENSEQ_HW_PROTECTION 0x01
1332#define SCSI_SENSEQ_LUN_SOFT_PROTECTION 0x02
1333#define SCSI_SENSEQ_ASSOCIATED_PROTECTION 0x03
1334#define SCSI_SENSEQ_PERSIST_PROTECTION 0x04
1335#define SCSI_SENSEQ_PERMANENT_PROTECTION 0x05
1338#define SCSI_SENSEQ_PROGRAMM_AREA_NOT_EMPTY 0x03
1339#define SCSI_SENSEQ_PROGRAMM_AREA_EMPTY 0x04
1342#define SCSI_SENSEQ_APP_CODE_MISSMATCH 0x08
1343#define SCSI_SENSEQ_NOT_FIXED_FOR_APPEND 0x09
1346#define SCSI_SENSEQ_AUTHENTICATION_FAILURE 0x00
1347#define SCSI_SENSEQ_KEY_NOT_PRESENT 0x01
1348#define SCSI_SENSEQ_KEY_NOT_ESTABLISHED 0x02
1349#define SCSI_SENSEQ_READ_OF_SCRAMBLED_SECTOR_WITHOUT_AUTHENTICATION 0x03
1350#define SCSI_SENSEQ_MEDIA_CODE_MISMATCHED_TO_LOGICAL_UNIT 0x04
1351#define SCSI_SENSEQ_LOGICAL_UNIT_RESET_COUNT_ERROR 0x05
1354#define SCSI_SENSEQ_IMPORT_OR_EXPERT_ELEMENT_ACCESS 0x01
1357#define SCSI_SENSEQ_POWER_ON 0x01
1358#define SCSI_SENSEQ_SCSI_BUS 0x02
1359#define SCSI_SENSEQ_BUS_DEVICE_FUNCTION 0x03
1360#define SCSI_SENSEQ_DEVICE_INTERNAL 0x04
1363#define SCSI_SENSEQ_MODE_PARAMETERS 0x01
1364#define SCSI_SENSEQ_LOG_PARAMETERS 0x02
1365#define SCSI_SENSEQ_RESERVATIONS_PREEMPTED 0x03
1368#define SCSI_SENSEQ_DESTINATION_ELEMENT_FULL 0x0D
1369#define SCSI_SENSEQ_SOURCE_ELEMENT_EMPTY 0x0E
1370#define SCSI_SENSEQ_END_OF_MEDIUM 0x0F
1371#define SCSI_SENSEQ_MAGAZINE_NOT_ACCESSIBLE 0x11
1372#define SCSI_SENSEQ_MAGAZINE_REMOVED 0x12
1373#define SCSI_SENSEQ_MAGAZINE_INSERTED 0x13
1374#define SCSI_SENSEQ_MAGAZINE_LOCKED 0x14
1375#define SCSI_SENSEQ_MAGAZINE_UNLOCKED 0x15
1378#define SCSI_SENSEQ_MICROCODE 0x01
1379#define SCSI_SENSEQ_OPERATION_DEFINITION 0x02
1380#define SCSI_SENSEQ_INQUIRY_DATA 0x03
1383#define SCSI_SENSEQ_MEDIUM_CHANGE_REQ 0x01
1384#define SCSI_SENSEQ_W_PROTECT_SELECTED 0x02
1385#define SCSI_SENSEQ_W_PROTECT_PERMITED 0x03
1388#define SCSI_SENSEQ_LOW_POWER_COND 0x00
1389#define SCSI_SENSEQ_IDLE_BY_TIMER 0x01
1390#define SCSI_SENSEQ_STANDBY_BY_TIMER 0x02
1391#define SCSI_SENSEQ_IDLE_BY_CMD 0x03
1392#define SCSI_SENSEQ_STANDBY_BY_CMD 0x04
1394#define SCSI_SENSEQ_FILEMARK_DETECTED 0x01
1395#define SCSI_SENSEQ_SETMARK_DETECTED 0x03
1396#define SCSI_SENSEQ_END_OF_MEDIA_DETECTED 0x02
1397#define SCSI_SENSEQ_BEGINNING_OF_MEDIA_DETECTED 0x04
1401#define FILE_DEVICE_SCSI 0x0000001b
1403#define IOCTL_SCSI_EXECUTE_IN ((FILE_DEVICE_SCSI << 16) + 0x0011)
1404#define IOCTL_SCSI_EXECUTE_OUT ((FILE_DEVICE_SCSI << 16) + 0x0012)
1405#define IOCTL_SCSI_EXECUTE_NONE ((FILE_DEVICE_SCSI << 16) + 0x0013)
1409#define IOCTL_SCSI_MINIPORT_SMART_VERSION ((FILE_DEVICE_SCSI << 16) + 0x0500)
1410#define IOCTL_SCSI_MINIPORT_IDENTIFY ((FILE_DEVICE_SCSI << 16) + 0x0501)
1411#define IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS ((FILE_DEVICE_SCSI << 16) + 0x0502)
1412#define IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS ((FILE_DEVICE_SCSI << 16) + 0x0503)
1413#define IOCTL_SCSI_MINIPORT_ENABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0504)
1414#define IOCTL_SCSI_MINIPORT_DISABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0505)
1415#define IOCTL_SCSI_MINIPORT_RETURN_STATUS ((FILE_DEVICE_SCSI << 16) + 0x0506)
1416#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE ((FILE_DEVICE_SCSI << 16) + 0x0507)
1417#define IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES ((FILE_DEVICE_SCSI << 16) + 0x0508)
1418#define IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS ((FILE_DEVICE_SCSI << 16) + 0x0509)
1419#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE ((FILE_DEVICE_SCSI << 16) + 0x050a)
1420#define IOCTL_SCSI_MINIPORT_READ_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050b)
1421#define IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050c)
1442#define TocControl_TrkMode_Mask WParam_TrkMode_Mask
1443#define TocControl_TrkMode_Audio WParam_TrkMode_Audio
1444#define TocControl_TrkMode_Audio_PreEmph WParam_TrkMode_Audio_PreEmph
1445#define TocControl_TrkMode_Data WParam_TrkMode_Data
1446#define TocControl_TrkMode_IncrData WParam_TrkMode_IncrData
1447#define TocControl_TrkMode_QAudio_PreEmph WParam_TrkMode_QAudio_PreEmph
1448#define TocControl_TrkMode_AllowCpy WParam_TrkMode_AllowCpy
1465#define TOC_LastTrack_ID 0xAA
1482#define POINT_StartPositionOfTrack_Min 0x01
1483#define POINT_StartPositionOfTrack_Max 0x63
1484#define POINT_FirstTrackNum 0xA0
1485#define POINT_LastTrackNum 0xA1
1486#define POINT_StartPositionOfLeadOut 0xA2
1488#define POINT_SkipInterval_Min 0x01
1489#define POINT_SkipInterval_Max 0x40
1490#define POINT_StartPositionOfNextProgramArea 0xB0
1491#define POINT_NumOfSkips 0xB1
1492#define POINT_SkipTrackAssignmet_Min 0xB2
1493#define POINT_SkipTrackAssignmet_Max 0xB4
1494#define POINT_StartPositionOfFirstLeadIn 0xC0
1495#define POINT_CopyOfAdditionalAreaInATIP 0xC1
1522#define FullTOC_DiscType_CDDA_or_M1 WParam_SesFmt_CdRom
1523#define FullTOC_DiscType_CDI WParam_SesFmt_CdI
1524#define FullTOC_DiscType_CDXA_M2 WParam_SesFmt_CdRomXa
1607#define ATIP_SpeedRef_Mask 0x07
1608#define ATIP_SpeedRef_2X 0x01
1609#define ATIP_WritingPower_Mask 0x07
1621#define ATIP_URU 0x40
1635#define ATIP_SubType_Mask 0x38
1636#define ATIP_Type_Mask 0x40
1637#define ATIP_Type_CDR 0x00
1638#define ATIP_Type_CDRW 0x40
1658#define ATIP_MinSpeedCVL_Mask 0x70
1659#define ATIP_MinSpeedCVL_2X 0x10
1660#define ATIP_MaxSpeedCVL_Mask 0x0f
1661#define ATIP_MaxSpeedCVL_2X 0x01
1662#define ATIP_MaxSpeedCVL_4X 0x02
1663#define ATIP_MaxSpeedCVL_6X 0x03
1664#define ATIP_MaxSpeedCVL_8X 0x04
1675#define ATIP_Power_Y_Mask 0x0e
1676#define ATIP_Power_P_Mask 0x70
1688#define ATIP_PW_ratio_Mask 0x70
1712#define CdText_ID1_Title 0x80
1713#define CdText_ID1_Performer 0x81
1714#define CdText_ID1_Songwriter 0x82
1715#define CdText_ID1_Composer 0x83
1716#define CdText_ID1_Arranger 0x84
1717#define CdText_ID1_Message 0x85
1718#define CdText_ID1_DiscID 0x86
1719#define CdText_ID1_GenreInfo 0x87
1720#define CdText_ID1_TOC 0x88
1721#define CdText_ID1_TOC2 0x89
1722#define CdText_ID1_Special 0x8D
1723#define CdText_ID1_UPC_EAN_ISRC 0x8E
1724#define CdText_ID1_BlockSizeInfo 0x8F
1730#define CdText_CharPos_Mask 0x0f
1731#define CdText_BlkNum_Mask 0x70
1773#define FormatHeader_VS 0x01
1774#define FormatHeader_Immed 0x02
1775#define FormatHeader_DSP 0x04
1776#define FormatHeader_IP 0x08
1777#define FormatHeader_STPF 0x10
1778#define FormatHeader_DCRT 0x20
1779#define FormatHeader_DPRY 0x40
1780#define FormatHeader_FOV 0x80
1800#define FormatDesc_Grow 0x40
1801#define FormatDesc_Ses 0x80
1849#define EventRetStat_Class_Mask 0x07
1850#define EventRetStat_Class_OpChange 0x01
1851#define EventRetStat_Class_PM 0x02
1852#define EventRetStat_Class_Media 0x04
1853#define EventRetStat_Class_DevBusy 0x06
1854#define EventRetStat_NEA 0x80
1873#define EventStat_OpEvent_Mask 0x0f
1883#define EventStat_OpStat_Mask 0x0f
1884#define EventStat_OpStat_Ready 0x00
1885#define EventStat_OpStat_TempBusy 0x01
1886#define EventStat_OpStat_Busy 0x02
1897#define EventStat_OpReport_NoChg 0x00
1898#define EventStat_OpReport_Change 0x01
1899#define EventStat_OpReport_AddChg 0x02
1900#define EventStat_OpReport_Reset 0x03
1901#define EventStat_OpReport_FirmwareChg 0x04
1902#define EventStat_OpReport_InquaryChg 0x05
1903#define EventStat_OpReport_CtrlReq 0x06
1904#define EventStat_OpReport_CtrlRelease 0x07
1914#define EventStat_PowerEvent_Mask 0x0f
1915#define EventStat_PowerEvent_NoChg 0x00
1916#define EventStat_PowerEvent_ChgOK 0x01
1917#define EventStat_PowerEvent_ChgFail 0x02
1927#define EventStat_PowerStat_Mask 0x0f
1928#define EventStat_PowerStat_Active 0x01
1929#define EventStat_PowerStat_Idle 0x02
1930#define EventStat_PowerStat_Standby 0x03
1931#define EventStat_PowerStat_Sleep 0x04
1949#define EventStat_MediaEvent_Mask 0x0f
1950#define EventStat_MediaEvent_None 0x00
1951#define EventStat_MediaEvent_EjectReq 0x01
1952#define EventStat_MediaEvent_New 0x02
1953#define EventStat_MediaEvent_Removal 0x03
1954#define EventStat_MediaEvent_Chg 0x04
1964#define EventStat_MediaStat_DoorOpen 0x01
1965#define EventStat_MediaStat_Present 0x02
1985#define EventStat_BusyEvent_Mask 0x0f
1986#define EventStat_BusyEvent_None 0x00
1987#define EventStat_BusyEvent_Busy 0x01
1997#define EventStat_BusyStat_Mask 0x0f
1998#define EventStat_BusyStat_NoEvent 0x00
1999#define EventStat_BusyStat_Power 0x01
2000#define EventStat_BusyStat_Immed 0x02
2001#define EventStat_BusyStat_Deferred 0x03
2020#define DiscInfo_Disk_Mask 0x03
2021#define DiscInfo_Disk_Empty 0x00
2022#define DiscInfo_Disk_Appendable 0x01
2023#define DiscInfo_Disk_Complete 0x02
2025#define DiscInfo_Ses_Mask 0x0C
2026#define DiscInfo_Ses_Empty 0x00
2027#define DiscInfo_Ses_Incomplete 0x04
2028#define DiscInfo_Ses_Complete 0x0C
2030#define DiscInfo_Disk_Erasable 0x10
2047#define DiscInfo_URU 0x20
2048#define DiscInfo_DBC_V 0x40
2049#define DiscInfo_DID_V 0x80
2061#define DiscInfo_Type_cdrom 0x00
2062#define DiscInfo_Type_cdi 0x10
2063#define DiscInfo_Type_cdromxa 0x20
2064#define DiscInfo_Type_unknown 0xFF
2086#define TrkInfo_Trk_Mask 0x0F
2087#define TrkInfo_Trk_Mode1 0x01
2088#define TrkInfo_Trk_Mode2 0x02
2089#define TrkInfo_Trk_XA 0x02
2090#define TrkInfo_Trk_DDCD 0x04
2091#define TrkInfo_Trk_NonCD 0x04
2092#define TrkInfo_Trk_Inc 0x05
2093#define TrkInfo_Trk_unknown 0x0F
2094#define TrkInfo_Copy 0x10
2095#define TrkInfo_Damage 0x20
2103#define TrkInfo_Dat_Mask 0x0F
2104#define TrkInfo_Dat_Mode1 0x01
2105#define TrkInfo_Dat_Mode2 0x02
2106#define TrkInfo_Dat_XA 0x02
2107#define TrkInfo_Dat_DDCD 0x02
2108#define TrkInfo_Dat_unknown 0x0F
2109#define TrkInfo_FP 0x10
2110#define TrkInfo_Packet 0x20
2111#define TrkInfo_Blank 0x40
2112#define TrkInfo_RT 0x80
2121#define TrkInfo_NWA_V 0x01
2122#define TrkInfo_LRA_V 0x02
2148#define MediaType_Unknown 0x00
2149#define MediaType_120mm_CDROM_DataOnly 0x01
2150#define MediaType_120mm_CDROM_AudioOnly 0x02
2151#define MediaType_120mm_CDROM_DataAudioCombined 0x03
2152#define MediaType_120mm_CDROM_Hybrid_PhotoCD 0x04
2153#define MediaType_80mm_CDROM_DataOnly 0x05
2154#define MediaType_80mm_CDROM_AudioOnly 0x06
2155#define MediaType_80mm_CDROM_DataAudioCombined 0x07
2156#define MediaType_80mm_CDROM_Hybrid_PhotoCD 0x08
2158#define MediaType_UnknownSize_CDR 0x10
2159#define MediaType_120mm_CDR_DataOnly 0x11
2160#define MediaType_120mm_CDR_AudioOnly 0x12
2161#define MediaType_120mm_CDR_DataAudioCombined 0x13
2162#define MediaType_120mm_CDR_Hybrid_PhotoCD 0x14
2163#define MediaType_80mm_CDR_DataOnly 0x15
2164#define MediaType_80mm_CDR_AudioOnly 0x16
2165#define MediaType_80mm_CDR_DataAudioCombined 0x17
2166#define MediaType_80mm_CDR_Hybrid_Photo_CD 0x18
2168#define MediaType_UnknownSize_CDRW 0x20
2169#define MediaType_120mm_CDRW_DataOnly 0x21
2170#define MediaType_120mm_CDRW_AudioOnly 0x22
2171#define MediaType_120mm_CDRW_DataAudioCombined 0x23
2172#define MediaType_120mm_CDRW_Hybrid 0x24
2173#define MediaType_80mm_CDRW_DataOnly 0x25
2174#define MediaType_80mm_CDRW_AudioOnly 0x26
2175#define MediaType_80mm_CDRW_DataAudioCombined 0x27
2176#define MediaType_80mm_CDRW_Hybrid 0x28
2178#define MediaType_NoDiscPresent 0x70
2179#define MediaType_DoorOpen 0x71
2198#define MODE_FD_SINGLE_SIDE 0x01
2199#define MODE_FD_DOUBLE_SIDE 0x02
2200#define MODE_FD_MAXIMUM_TYPE 0x1E
2201#define MODE_DSP_FUA_SUPPORTED 0x10
2202#define MODE_DSP_WRITE_PROTECT 0x80
2283#define WParam_WType_Mask 0x0f
2284#define WParam_WType_Packet 0x00
2285#define WParam_WType_TAO 0x01
2286#define WParam_WType_Ses 0x02
2287#define WParam_WType_Raw 0x03
2288#define WParam_TestWrite 0x10
2289#define WParam_LS_V 0x20
2290#define WParam_BUFF 0x40
2303#define WParam_TrkMode_Mask 0x0d
2304#define WParam_TrkMode_None 0x00
2305#define WParam_TrkMode_Audio 0x00
2306#define WParam_TrkMode_Audio_PreEmph 0x01
2307#define WParam_TrkMode_Data 0x04
2308#define WParam_TrkMode_IncrData 0x05
2309#define WParam_TrkMode_QAudio_PreEmph 0x08
2310#define WParam_TrkMode_AllowCpy 0x02
2311#define WParam_Copy 0x10
2312#define WParam_FP 0x20
2313#define WParam_MultiSes_Mask 0xc0
2314#define WParam_Multises_None 0x00
2315#define WParam_Multises_Final 0x80
2316#define WParam_Multises_Multi 0xc0
2328#define WParam_BlkType_Mask 0x0f
2329#define WParam_BlkType_Raw_2352 0x00
2330#define WParam_BlkType_RawPQ_2368 0x01
2331#define WParam_BlkType_RawPW_2448 0x02
2332#define WParam_BlkType_RawPW_R_2448 0x03
2333#define WParam_BlkType_VendorSpec1 0x07
2334#define WParam_BlkType_M1_2048 0x08
2335#define WParam_BlkType_M2_2336 0x09
2336#define WParam_BlkType_M2XAF1_2048 0x0a
2337#define WParam_BlkType_M2XAF1SH_2056 0x0b
2338#define WParam_BlkType_M2XAF2_2324 0x0c
2339#define WParam_BlkType_M2XAFXSH_2332 0x0d
2340#define WParam_BlkType_VendorSpec2 0x0f
2361#define WParam_SesFmt_CdRom 0x00
2362#define WParam_SesFmt_CdI 0x10
2363#define WParam_SesFmt_CdRomXa 0x20
2388 struct _SubHdrParams1 {
2392#define WParam_SubHdr_SubMode0 0x00
2393#define WParam_SubHdr_SubMode1 0x08
2399#define WParam_SubHdr_Mode_Mask 0x03
2400#define WParam_SubHdr_Mode0 0x00
2401#define WParam_SubHdr_Mode1 0x01
2402#define WParam_SubHdr_Mode2 0x02
2403#define WParam_SubHdr_Format_Mask 0xe0
2404#define WParam_SubHdr_Format_UserData 0x00
2405#define WParam_SubHdr_Format_RunIn4 0x20
2406#define WParam_SubHdr_Format_RunIn3 0x40
2407#define WParam_SubHdr_Format_RunIn2 0x60
2408#define WParam_SubHdr_Format_RunIn1 0x80
2409#define WParam_SubHdr_Format_Link 0xa0
2410#define WParam_SubHdr_Format_RunOut2 0xc0
2411#define WParam_SubHdr_Format_RunOut1 0xe0
2461#define CdParams_InactvityTime_Mask 0x0f
2480#define CddaPort_Channel_Mask 0x0f
2481#define CddaPort_Channel_Mute 0x00
2482#define CddaPort_Channel_0 0x01
2483#define CddaPort_Channel_1 0x02
2484#define CddaPort_Channel_0_1 0x03
2485#define CddaPort_Channel_2 0x04
2486#define CddaPort_Channel_3 0x08
2499#define CdAudio_SOTC 0x02
2500#define CdAudio_Immed 0x04
2529#define PowerCond_Standby 0x01
2530#define PowerCond_Idle 0x02
2555#define FailReport_LogErr 0x01
2556#define FailReport_Test 0x04
2557#define FailReport_DExcept 0x08
2558#define FailReport_Perf 0x80
2596#define Timeout_SW 0x01
2597#define Timeout_DISP 0x02
2598#define Timeout_TMOE 0x04
2636#define WParams_Philips_CreateNewTrack 0
2654#define DevCap_read_cd_r 0x01
2655#define DevCap_read_cd_rw 0x02
2656#define DevCap_method2 0x04
2657#define DevCap_read_dvd_rom 0x08
2658#define DevCap_read_dvd_r 0x10
2659#define DevCap_read_dvd_ram 0x20
2670#define DevCap_write_cd_r 0x01
2671#define DevCap_write_cd_rw 0x02
2672#define DevCap_test_write 0x04
2673#define DevCap_write_dvd_r 0x10
2674#define DevCap_write_dvd_ram 0x20
2685#define DevCap_audio_play 0x01
2686#define DevCap_composite 0x02
2687#define DevCap_digport1 0x04
2688#define DevCap_digport2 0x08
2689#define DevCap_mode2_form1 0x10
2690#define DevCap_mode2_form2 0x20
2691#define DevCap_multisession 0x40
2703#define DevCap_cdda 0x01
2704#define DevCap_cdda_accurate 0x02
2705#define DevCap_rw_supported 0x04
2706#define DevCap_rw_corr 0x08
2707#define DevCap_c2_pointers 0x10
2708#define DevCap_isrc 0x20
2709#define DevCap_upc 0x40
2710#define DevCap_read_bar_code 0x80
2722#define DevCap_lock 0x01
2723#define DevCap_lock_state 0x02
2724#define DevCap_prevent_jumper 0x04
2725#define DevCap_eject 0x08
2726#define DevCap_mechtype_mask 0xE0
2727#define DevCap_mechtype_caddy 0x00
2728#define DevCap_mechtype_tray (0x01<<5)
2729#define DevCap_mechtype_popup (0x02<<5)
2730#define DevCap_mechtype_individual_changer (0x04<<5)
2731#define DevCap_mechtype_cartridge_changer (0x05<<5)
2741#define DevCap_separate_volume 0x01
2742#define DevCap_separate_mute 0x02
2743#define DevCap_disc_present 0x04
2744#define DevCap_sw_slot_select 0x08
2745#define DevCap_change_side_cap 0x10
2746#define DevCap_rw_leadin_read 0x20
2793#define LunWPerf_RotCtrl_Mask 0x07
2794#define LunWPerf_RotCtrl_CLV 0x00
2795#define LunWPerf_RotCtrl_CAV 0x01
2805#define MODE_BLOCK_DESC_LENGTH 8
2806#define MODE_HEADER_LENGTH 4
2807#define MODE_HEADER_LENGTH10 8
2809#define CDB_USE_MSF 0x01
struct _DVD_DESCRIPTOR_HEADER DVD_DESCRIPTOR_HEADER
struct _DVD_DESCRIPTOR_HEADER * PDVD_DESCRIPTOR_HEADER
struct _READ_TOC_FULL_TOC READ_TOC_FULL_TOC
struct _DVD_COPYRIGHT_INFORMATION * PDVD_COPYRIGHT_INFORMATION
struct _READ_TOC_CD_TEXT READ_TOC_CD_TEXT
struct _CDVD_REPORT_ASF_DATA CDVD_REPORT_ASF_DATA
struct _MODE_TIMEOUT_AND_PROTECT_PAGE MODE_TIMEOUT_AND_PROTECT_PAGE
struct _LUN_WRITE_PERF_DESC * PLUN_WRITE_PERF_DESC
struct _EVENT_STAT_PM_BLOCK EVENT_STAT_PM_BLOCK
struct _READ_TOC_CD_TEXT * PREAD_TOC_CD_TEXT
struct _MODE_CD_PARAMS_PAGE MODE_CD_PARAMS_PAGE
struct _INQUIRYDATA * PINQUIRYDATA
struct _EVENT_STAT_HEADER EVENT_STAT_HEADER
struct _MODE_CAPABILITIES_PAGE2 * PMODE_CAPABILITIES_PAGE2
struct _READ_TOC_TOC * PREAD_TOC_TOC
struct _FORMAT_UNIT_PARAMETER_LIST * PFORMAT_UNIT_PARAMETER_LIST
struct _MODE_PHILIPS_SECTOR_TYPE_PAGE * PMODE_PHILIPS_SECTOR_TYPE_PAGE
struct _TOC_SES_INFO TOC_SES_INFO
struct _READ_CAPACITY_DATA * PREAD_CAPACITY_DATA
struct _EVENT_STAT_OPERATIONAL_BLOCK EVENT_STAT_OPERATIONAL_BLOCK
struct _MODE_POWER_CONDITION_PAGE * PMODE_POWER_CONDITION_PAGE
struct _MODE_CD_AUDIO_CONTROL_PAGE MODE_CD_AUDIO_CONTROL_PAGE
struct _SLOT_TABLE_INFORMATION SLOT_TABLE_INFORMATION
struct _MODE_FAIL_REPORT_PAGE * PMODE_FAIL_REPORT_PAGE
struct _EVENT_STAT_MEDIA_BLOCK EVENT_STAT_MEDIA_BLOCK
struct _TRACK_INFO_BLOCK TRACK_INFO_BLOCK
struct _CDVD_KEY_HEADER * PCDVD_KEY_HEADER
struct _MODE_CACHING_PAGE * PMODE_CACHING_PAGE
struct _READ_TOC_HEADER READ_TOC_HEADER
struct _MODE_WRITE_PARAMS_PAGE MODE_WRITE_PARAMS_PAGE
struct _EVENT_STAT_PM_BLOCK * PEVENT_STAT_PM_BLOCK
struct _READ_TOC_SES * PREAD_TOC_SES
struct _MODE_PARM_READ_WRITE * PMODE_PARM_READ_WRITE_DATA
struct _CD_TEXT_PACK_DATA CD_TEXT_PACK_DATA
struct _EVENT_STAT_DEV_BUSY_BLOCK * PEVENT_STAT_DEV_BUSY_BLOCK
struct _READ_CAPACITY_DATA READ_CAPACITY_DATA
struct _SLOT_TABLE_INFORMATION * PSLOT_TABLE_INFORMATION
struct _TOC_TRACK_INFO TOC_TRACK_INFO
struct _MODE_WRITE_PARAMS_PAGE_3 * PMODE_WRITE_PARAMS_PAGE_3
struct _DISC_INFO_BLOCK * PDISC_INFO_BLOCK
struct _MODE_READ_RECOVERY_PAGE * PMODE_READ_RECOVERY_PAGE
struct _MODE_READ_WRITE_RECOVERY_PAGE * PMODE_READ_WRITE_RECOVERY_PAGE
READ_TOC_FULL_TOC READ_TOC_PMA
struct _READ_TOC_SES READ_TOC_SES
struct _MODE_CD_PARAMS_PAGE * PMODE_CD_PARAMS_PAGE
struct _FORMAT_LIST_HEADER * PFORMAT_LIST_HEADER
struct _MODE_READ_RECOVERY_PAGE MODE_READ_RECOVERY_PAGE
struct _MODE_POWER_CONDITION_PAGE MODE_POWER_CONDITION_PAGE
struct _MECHANICAL_STATUS * PMECHANICAL_STATUS
struct _DISC_INFO_BLOCK DISC_INFO_BLOCK
struct _CDVD_KEY_DATA * PCDVD_KEY_DATA
struct _MODE_PHILIPS_SECTOR_TYPE_PAGE MODE_PHILIPS_SECTOR_TYPE_PAGE
struct _READ_TOC_ATIP * PREAD_TOC_ATIP
struct _CDRW_FORMAT_DESCRIPTOR * PCDRW_FORMAT_DESCRIPTOR
struct _MODE_PARAMETER_HEADER10 MODE_PARAMETER_HEADER10
struct _CDVD_TITLE_KEY_HEADER CDVD_TITLE_KEY_HEADER
struct _EVENT_STAT_HEADER * PEVENT_STAT_HEADER
struct _DVD_LAYER_DESCRIPTOR DVD_LAYER_DESCRIPTOR
struct _SENSE_DATA * PSENSE_DATA
struct _CD_TEXT_PACK_DATA * PCD_TEXT_PACK_DATA
struct _FORMAT_UNIT_PARAMETER_LIST FORMAT_UNIT_PARAMETER_LIST
struct _MODE_CAPABILITIES_PAGE2 MODE_CAPABILITIES_PAGE2
struct _FORMAT_CAPACITIES_DATA FORMAT_CAPACITIES_DATA
struct _CDDA_PORT_CONTROL CDDA_PORT_CONTROL
struct _FORMAT_CAPACITIES_DATA * PFORMAT_CAPACITIES_DATA
struct _MODE_CACHING_PAGE MODE_CACHING_PAGE
struct _EVENT_STAT_MEDIA_BLOCK * PEVENT_STAT_MEDIA_BLOCK
struct _MODE_PARAMETER_HEADER MODE_PARAMETER_HEADER
struct _MODE_WRITE_PARAMS_PAGE_3 MODE_WRITE_PARAMS_PAGE_3
struct _CDVD_CHALLENGE_KEY_DATA CDVD_CHALLENGE_KEY_DATA
struct _TOC_TRACK_INFO * PTOC_TRACK_INFO
struct _CDVD_REPORT_ASF_DATA * PCDVD_REPORT_ASF_DATA
struct _MECHANICAL_STATUS_INFORMATION_HEADER MECHANICAL_STATUS_INFORMATION_HEADER
struct _SCSI_EXTENDED_MESSAGE * PSCSI_EXTENDED_MESSAGE
struct _READ_TOC_FULL_TOC * PREAD_TOC_FULL_TOC
struct _READ_TOC_HEADER * PREAD_TOC_HEADER
struct _MODE_PARAMETER_HEADER10 * PMODE_PARAMETER_HEADER10
struct _FORMATTABLE_CAPACITY_DESCRIPTOR FORMATTABLE_CAPACITY_DESCRIPTOR
struct _OPC_INFO_BLOCK OPC_INFO_BLOCK
struct _BUFFER_CAPACITY_BLOCK * PBUFFER_CAPACITY_BLOCK
struct _MODE_CD_AUDIO_CONTROL_PAGE * PMODE_CD_AUDIO_CONTROL_PAGE
struct _DVD_COPYRIGHT_DESCRIPTOR DVD_COPYRIGHT_DESCRIPTOR
struct _SENSE_DATA SENSE_DATA
struct _DVD_COPYRIGHT_INFORMATION DVD_COPYRIGHT_INFORMATION
struct _BUFFER_CAPACITY_BLOCK BUFFER_CAPACITY_BLOCK
struct _CDVD_REPORT_AGID_DATA * PCDVD_REPORT_AGID_DATA
struct _EVENT_STAT_DEV_BUSY_BLOCK EVENT_STAT_DEV_BUSY_BLOCK
struct _FORMAT_LIST_HEADER FORMAT_LIST_HEADER
struct _MODE_PARM_READ_WRITE MODE_PARM_READ_WRITE_DATA
struct _DVD_RPC_KEY * PDVD_RPC_KEY
struct _CDVD_CHALLENGE_KEY_DATA * PCDVD_CHALLENGE_KEY_DATA
struct _REPORT_LUNS_INFO_HDR * PREPORT_LUNS_INFO_HDR
struct _CDRW_FORMAT_DESCRIPTOR CDRW_FORMAT_DESCRIPTOR
struct _DVD_DISK_KEY_STRUCTURES * PDVD_DISK_KEY_STRUCTURES
struct _MODE_WRITE_PARAMS_PAGE * PMODE_WRITE_PARAMS_PAGE
struct _OPC_INFO_BLOCK * POPC_INFO_BLOCK
struct _FORMATTABLE_CAPACITY_DESCRIPTOR * PFORMATTABLE_CAPACITY_DESCRIPTOR
struct _DVD_DISK_KEY_STRUCTURES DVD_DISK_KEY_STRUCTURES
struct _MECHANICAL_STATUS MECHANICAL_STATUS
struct _CDDA_PORT_CONTROL * PCDDA_PORT_CONTROL
struct _READ_CAPACITY16_DATA READ_CAPACITY16_DATA
struct _EVENT_STAT_OPERATIONAL_BLOCK * PEVENT_STAT_OPERATIONAL_BLOCK
struct _CDVD_TITLE_KEY_HEADER * PCDVD_TITLE_KEY_HEADER
struct _REPORT_LUNS_INFO_HDR REPORT_LUNS_INFO_HDR
struct _SCSI_EXTENDED_MESSAGE SCSI_EXTENDED_MESSAGE
struct _MODE_READ_WRITE_RECOVERY_PAGE MODE_READ_WRITE_RECOVERY_PAGE
struct _DVD_RPC_KEY DVD_RPC_KEY
struct _INQUIRYDATA INQUIRYDATA
struct _READ_CAPACITY16_DATA * PREAD_CAPACITY16_DATA
struct _MODE_PARAMETER_BLOCK * PMODE_PARAMETER_BLOCK
struct _TRACK_INFO_BLOCK * PTRACK_INFO_BLOCK
struct _READ_TOC_ATIP READ_TOC_ATIP
struct _CDVD_KEY_DATA CDVD_KEY_DATA
#define MAXIMUM_NUMBER_OF_TRACKS
struct _TOC_SES_INFO * PTOC_SES_INFO
struct _DVD_LAYER_DESCRIPTOR * PDVD_LAYER_DESCRIPTOR
struct _CAPACITY_LIST_HEADER * PCAPACITY_LIST_HEADER
struct _CDVD_REPORT_AGID_DATA CDVD_REPORT_AGID_DATA
struct _MODE_PARAMETER_BLOCK MODE_PARAMETER_BLOCK
struct _READ_TOC_TOC READ_TOC_TOC
struct _MODE_FAIL_REPORT_PAGE MODE_FAIL_REPORT_PAGE
struct _MODE_PARAMETER_HEADER * PMODE_PARAMETER_HEADER
struct _CAPACITY_LIST_HEADER CAPACITY_LIST_HEADER
#define MAXIMUM_NUMBER_OF_SESSIONS
struct _MECHANICAL_STATUS_INFORMATION_HEADER * PMECHANICAL_STATUS_INFORMATION_HEADER
struct _DVD_COPYRIGHT_DESCRIPTOR * PDVD_COPYRIGHT_DESCRIPTOR
struct _MODE_TIMEOUT_AND_PROTECT_PAGE * PMODE_TIMEOUT_AND_PROTECT_PAGE
struct _CDVD_KEY_HEADER CDVD_KEY_HEADER
PREAD_TOC_FULL_TOC PREAD_TOC_PMA
struct _LUN_WRITE_PERF_DESC LUN_WRITE_PERF_DESC
_In_ ULONG _In_ ULONG _In_ ULONG Length
UCHAR BlankBufferLength[4]
struct _CDB::_CDB12READWRITE::@803::@804 Fields
union _CDB::_CDB12READWRITE::@803 Byte1
struct _CDB::_CDB16READWRITE::@1218::@1219 Fields
union _CDB::_CDB16READWRITE::@1218 Byte1
UCHAR CommandUniqueBytes[3]
struct _CDB::_CLOSE_TRACK_SESSION::@789::@791 Fields
union _CDB::_CLOSE_TRACK_SESSION::@790 Byte2
union _CDB::_CLOSE_TRACK_SESSION::@789 Byte1
struct _CDB::_GET_CONFIGURATION::@797::@798 Fields
union _CDB::_GET_CONFIGURATION::@797 Byte1
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
struct _CDB::_GET_EVENT_STATUS::@783::@784 Fields
union _CDB::_GET_EVENT_STATUS::@783 Byte1
UCHAR ParameterPointer[2]
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
UCHAR ParameterListLength[2]
UCHAR ParameterListLength
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
UCHAR SubChannelSelection
UCHAR SubChannelSelection
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
struct _CDB::_READ_TOC::@777::@778 Fields
UCHAR AllocationLength[2]
union _CDB::_READ_TOC::@777 Byte2
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
UCHAR AllocationLength[4]
UCHAR AllocationLength[3]
UCHAR ParameterListLength[2]
union _CDB::_SEND_OPC_INFO::@799 Byte1
struct _CDB::_SEND_OPC_INFO::@799::@801 Fields
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
struct _CDB::_SYNCHRONIZE_CACHE::@793::@794 Fields
union _CDB::_SYNCHRONIZE_CACHE::@793 Byte1
union _CDB::_WRITE_CD::@779 Byte1
struct _CDB::_WRITE_CD::@779::@780 Fields
UCHAR ChallengeKeyValue[10]
struct _CD_TEXT_PACK_DATA::@834::@835 Fields
union _CD_TEXT_PACK_DATA::@834 BlkNum_CharPos
struct _DISC_INFO_BLOCK::@875::@877 Fields
UCHAR LastSesLeadInTime[4]
UCHAR LastTrackNumLastSes
UCHAR FirstTrackNumLastSes
UCHAR LastSesLeadOutTime[4]
UCHAR LastTrackNumLastSes2
UCHAR FirstTrackNumLastSes2
UCHAR CopyrightProtectionType
UCHAR RegionManagementInformation