source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ntddmmc.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 18.8 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the ReactOS PSDK package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6
7#pragma once
8
9#define __NTDDMMC__
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#define SCSI_GET_CONFIGURATION_REQUEST_TYPE_ALL 0x0
16#define SCSI_GET_CONFIGURATION_REQUEST_TYPE_CURRENT 0x1
17#define SCSI_GET_CONFIGURATION_REQUEST_TYPE_ONE 0x2
18
19typedef struct _GET_CONFIGURATION_HEADER {
20 UCHAR DataLength[4];
21 UCHAR Reserved[2];
22 UCHAR CurrentProfile[2];
23#if !defined(__midl) && !defined(__WIDL__)
24 UCHAR Data[0];
25#endif
26} GET_CONFIGURATION_HEADER, *PGET_CONFIGURATION_HEADER;
27
28typedef struct _FEATURE_HEADER {
29 UCHAR FeatureCode[2];
30 UCHAR Current:1;
31 UCHAR Persistent:1;
32 UCHAR Version:4;
33 UCHAR Reserved0:2;
34 UCHAR AdditionalLength;
35} FEATURE_HEADER, *PFEATURE_HEADER;
36
37typedef enum _FEATURE_PROFILE_TYPE {
38 ProfileInvalid = 0x0000,
39 ProfileNonRemovableDisk = 0x0001,
40 ProfileRemovableDisk = 0x0002,
41 ProfileMOErasable = 0x0003,
42 ProfileMOWriteOnce = 0x0004,
43 ProfileAS_MO = 0x0005,
44 ProfileCdrom = 0x0008,
45 ProfileCdRecordable = 0x0009,
46 ProfileCdRewritable = 0x000a,
47 ProfileDvdRom = 0x0010,
48 ProfileDvdRecordable = 0x0011,
49 ProfileDvdRam = 0x0012,
50 ProfileDvdRewritable = 0x0013,
51 ProfileDvdRWSequential = 0x0014,
52 ProfileDvdDashRDualLayer = 0x0015,
53 ProfileDvdDashRLayerJump = 0x0016,
54 ProfileDvdPlusRW = 0x001A,
55 ProfileDvdPlusR = 0x001B,
56 ProfileDDCdrom = 0x0020,
57 ProfileDDCdRecordable = 0x0021,
58 ProfileDDCdRewritable = 0x0022,
59 ProfileDvdPlusRWDualLayer = 0x002A,
60 ProfileDvdPlusRDualLayer = 0x002B,
61 ProfileBDRom = 0x0040,
62 ProfileBDRSequentialWritable = 0x0041,
63 ProfileBDRRandomWritable = 0x0042,
64 ProfileBDRewritable = 0x0043,
65 ProfileHDDVDRom = 0x0050,
66 ProfileHDDVDRecordable = 0x0051,
67 ProfileHDDVDRam = 0x0052,
68 ProfileHDDVDRewritable = 0x0053,
69 ProfileHDDVDRDualLayer = 0x0058,
70 ProfileHDDVDRWDualLayer = 0x005A,
71 ProfileNonStandard = 0xffff
72} FEATURE_PROFILE_TYPE, *PFEATURE_PROFILE_TYPE;
73
74typedef enum _FEATURE_NUMBER {
75 FeatureProfileList = 0x0000,
76 FeatureCore = 0x0001,
77 FeatureMorphing = 0x0002,
78 FeatureRemovableMedium = 0x0003,
79 FeatureWriteProtect = 0x0004,
80 FeatureRandomReadable = 0x0010,
81 FeatureMultiRead = 0x001D,
82 FeatureCdRead = 0x001E,
83 FeatureDvdRead = 0x001F,
84 FeatureRandomWritable = 0x0020,
85 FeatureIncrementalStreamingWritable = 0x0021,
86 FeatureSectorErasable = 0x0022,
87 FeatureFormattable = 0x0023,
88 FeatureDefectManagement = 0x0024,
89 FeatureWriteOnce = 0x0025,
90 FeatureRestrictedOverwrite = 0x0026,
91 FeatureCdrwCAVWrite = 0x0027,
92 FeatureMrw = 0x0028,
93 FeatureEnhancedDefectReporting = 0x0029,
94 FeatureDvdPlusRW = 0x002A,
95 FeatureDvdPlusR = 0x002B,
96 FeatureRigidRestrictedOverwrite = 0x002C,
97 FeatureCdTrackAtOnce = 0x002D,
98 FeatureCdMastering = 0x002E,
99 FeatureDvdRecordableWrite = 0x002F,
100 FeatureDDCDRead = 0x0030,
101 FeatureDDCDRWrite = 0x0031,
102 FeatureDDCDRWWrite = 0x0032,
103 FeatureLayerJumpRecording = 0x0033,
104 FeatureCDRWMediaWriteSupport = 0x0037,
105 FeatureBDRPseudoOverwrite = 0x0038,
106 FeatureDvdPlusRWDualLayer = 0x003A,
107 FeatureDvdPlusRDualLayer = 0x003B,
108 FeatureBDRead = 0x0040,
109 FeatureBDWrite = 0x0041,
110 FeatureTSR = 0x0042,
111 FeatureHDDVDRead = 0x0050,
112 FeatureHDDVDWrite = 0x0051,
113 FeatureHybridDisc = 0x0080,
114 FeaturePowerManagement = 0x0100,
115 FeatureSMART = 0x0101,
116 FeatureEmbeddedChanger = 0x0102,
117 FeatureCDAudioAnalogPlay = 0x0103,
118 FeatureMicrocodeUpgrade = 0x0104,
119 FeatureTimeout = 0x0105,
120 FeatureDvdCSS = 0x0106,
121 FeatureRealTimeStreaming = 0x0107,
122 FeatureLogicalUnitSerialNumber = 0x0108,
123 FeatureMediaSerialNumber = 0x0109,
124 FeatureDiscControlBlocks = 0x010A,
125 FeatureDvdCPRM = 0x010B,
126 FeatureFirmwareDate = 0x010C,
127 FeatureAACS = 0x010D,
128 FeatureVCPS = 0x0110,
129} FEATURE_NUMBER, *PFEATURE_NUMBER;
130
131typedef struct _FEATURE_DATA_PROFILE_LIST_EX {
132 UCHAR ProfileNumber[2];
133 UCHAR Current:1;
134 UCHAR Reserved1:7;
135 UCHAR Reserved2;
136} FEATURE_DATA_PROFILE_LIST_EX, *PFEATURE_DATA_PROFILE_LIST_EX;
137
138typedef struct _FEATURE_DATA_PROFILE_LIST {
139 FEATURE_HEADER Header;
140#if !defined(__midl) && !defined(__WIDL__)
141 FEATURE_DATA_PROFILE_LIST_EX Profiles[0];
142#endif
143} FEATURE_DATA_PROFILE_LIST, *PFEATURE_DATA_PROFILE_LIST;
144
145typedef struct _FEATURE_DATA_CORE {
146 FEATURE_HEADER Header;
147 UCHAR PhysicalInterface[4];
148 UCHAR DeviceBusyEvent:1;
149 UCHAR INQUIRY2:1;
150 UCHAR Reserved1:6;
151 UCHAR Reserved2[3];
152} FEATURE_DATA_CORE, *PFEATURE_DATA_CORE;
153
154typedef struct _FEATURE_DATA_MORPHING {
155 FEATURE_HEADER Header;
156 UCHAR Asynchronous:1;
157 UCHAR OCEvent:1;
158 UCHAR Reserved01:6;
159 UCHAR Reserved2[3];
160} FEATURE_DATA_MORPHING, *PFEATURE_DATA_MORPHING;
161
162typedef struct _FEATURE_DATA_REMOVABLE_MEDIUM {
163 FEATURE_HEADER Header;
164 UCHAR Lockable:1;
165 UCHAR Reserved1:1;
166 UCHAR DefaultToPrevent:1;
167 UCHAR Eject:1;
168 UCHAR Reserved2:1;
169 UCHAR LoadingMechanism:3;
170 UCHAR Reserved3[3];
171} FEATURE_DATA_REMOVABLE_MEDIUM, *PFEATURE_DATA_REMOVABLE_MEDIUM;
172
173typedef struct _FEATURE_DATA_WRITE_PROTECT {
174 FEATURE_HEADER Header;
175 UCHAR SupportsSWPPBit:1;
176 UCHAR SupportsPersistentWriteProtect:1;
177 UCHAR WriteInhibitDCB:1;
178 UCHAR DiscWriteProtectPAC:1;
179 UCHAR Reserved01:4;
180 UCHAR Reserved2[3];
181} FEATURE_DATA_WRITE_PROTECT, *PFEATURE_DATA_WRITE_PROTECT;
182
183typedef struct _FEATURE_DATA_RANDOM_READABLE {
184 FEATURE_HEADER Header;
185 UCHAR LogicalBlockSize[4];
186 UCHAR Blocking[2];
187 UCHAR ErrorRecoveryPagePresent:1;
188 UCHAR Reserved1:7;
189 UCHAR Reserved2;
190} FEATURE_DATA_RANDOM_READABLE, *PFEATURE_DATA_RANDOM_READABLE;
191
192typedef struct _FEATURE_DATA_MULTI_READ {
193 FEATURE_HEADER Header;
194} FEATURE_DATA_MULTI_READ, *PFEATURE_DATA_MULTI_READ;
195
196typedef struct _FEATURE_DATA_CD_READ {
197 FEATURE_HEADER Header;
198 UCHAR CDText:1;
199 UCHAR C2ErrorData:1;
200 UCHAR Reserved01:5;
201 UCHAR DigitalAudioPlay:1;
202 UCHAR Reserved2[3];
203} FEATURE_DATA_CD_READ, *PFEATURE_DATA_CD_READ;
204
205typedef struct _FEATURE_DATA_DVD_READ {
206 FEATURE_HEADER Header;
207 UCHAR Multi110:1;
208 UCHAR Reserved1:7;
209 UCHAR Reserved2;
210 UCHAR DualDashR:1;
211 UCHAR Reserved3:7;
212 UCHAR Reserved4;
213} FEATURE_DATA_DVD_READ, *PFEATURE_DATA_DVD_READ;
214
215typedef struct _FEATURE_DATA_RANDOM_WRITABLE {
216 FEATURE_HEADER Header;
217 UCHAR LastLBA[4];
218 UCHAR LogicalBlockSize[4];
219 UCHAR Blocking[2];
220 UCHAR ErrorRecoveryPagePresent:1;
221 UCHAR Reserved1:7;
222 UCHAR Reserved2;
223} FEATURE_DATA_RANDOM_WRITABLE, *PFEATURE_DATA_RANDOM_WRITABLE;
224
225typedef struct _FEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE {
226 FEATURE_HEADER Header;
227 UCHAR DataTypeSupported[2];
228 UCHAR BufferUnderrunFree:1;
229 UCHAR AddressModeReservation:1;
230 UCHAR TrackRessourceInformation:1;
231 UCHAR Reserved01:5;
232 UCHAR NumberOfLinkSizes;
233#if !defined(__midl) && !defined(__WIDL__)
234 UCHAR LinkSize[0];
235#endif
236} FEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE, *PFEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE;
237
238typedef struct _FEATURE_DATA_SECTOR_ERASABLE {
239 FEATURE_HEADER Header;
240} FEATURE_DATA_SECTOR_ERASABLE, *PFEATURE_DATA_SECTOR_ERASABLE;
241
242typedef struct _FEATURE_DATA_FORMATTABLE {
243 FEATURE_HEADER Header;
244 UCHAR FullCertification:1;
245 UCHAR QuickCertification:1;
246 UCHAR SpareAreaExpansion:1;
247 UCHAR RENoSpareAllocated:1;
248 UCHAR Reserved1:4;
249 UCHAR Reserved2[3];
250 UCHAR RRandomWritable:1;
251 UCHAR Reserved3:7;
252 UCHAR Reserved4[3];
253} FEATURE_DATA_FORMATTABLE, *PFEATURE_DATA_FORMATTABLE;
254
255typedef struct _FEATURE_DATA_DEFECT_MANAGEMENT {
256 FEATURE_HEADER Header;
257 UCHAR Reserved1:7;
258 UCHAR SupplimentalSpareArea:1;
259 UCHAR Reserved2[3];
260} FEATURE_DATA_DEFECT_MANAGEMENT, *PFEATURE_DATA_DEFECT_MANAGEMENT;
261
262typedef struct _FEATURE_DATA_WRITE_ONCE {
263 FEATURE_HEADER Header;
264 UCHAR LogicalBlockSize[4];
265 UCHAR Blocking[2];
266 UCHAR ErrorRecoveryPagePresent:1;
267 UCHAR Reserved1:7;
268 UCHAR Reserved2;
269} FEATURE_DATA_WRITE_ONCE, *PFEATURE_DATA_WRITE_ONCE;
270
271typedef struct _FEATURE_DATA_RESTRICTED_OVERWRITE {
272 FEATURE_HEADER Header;
273} FEATURE_DATA_RESTRICTED_OVERWRITE, *PFEATURE_DATA_RESTRICTED_OVERWRITE;
274
275typedef struct _FEATURE_DATA_CDRW_CAV_WRITE {
276 FEATURE_HEADER Header;
277 UCHAR Reserved1[4];
278} FEATURE_DATA_CDRW_CAV_WRITE, *PFEATURE_DATA_CDRW_CAV_WRITE;
279
280typedef struct _FEATURE_DATA_MRW {
281 FEATURE_HEADER Header;
282 UCHAR Write:1;
283 UCHAR DvdPlusRead:1;
284 UCHAR DvdPlusWrite:1;
285 UCHAR Reserved01:5;
286 UCHAR Reserved2[3];
287} FEATURE_DATA_MRW, *PFEATURE_DATA_MRW;
288
289typedef struct _FEATURE_ENHANCED_DEFECT_REPORTING {
290 FEATURE_HEADER Header;
291 UCHAR DRTDMSupported:1;
292 UCHAR Reserved0:7;
293 UCHAR NumberOfDBICacheZones;
294 UCHAR NumberOfEntries[2];
295} FEATURE_ENHANCED_DEFECT_REPORTING, *PFEATURE_ENHANCED_DEFECT_REPORTING;
296
297typedef struct _FEATURE_DATA_DVD_PLUS_RW {
298 FEATURE_HEADER Header;
299 UCHAR Write:1;
300 UCHAR Reserved1:7;
301 UCHAR CloseOnly:1;
302 UCHAR QuickStart:1;
303 UCHAR Reserved02:6;
304 UCHAR Reserved03[2];
305} FEATURE_DATA_DVD_PLUS_RW, *PFEATURE_DATA_DVD_PLUS_RW;
306
307typedef struct _FEATURE_DATA_DVD_PLUS_R {
308 FEATURE_HEADER Header;
309 UCHAR Write:1;
310 UCHAR Reserved1:7;
311 UCHAR Reserved2[3];
312} FEATURE_DATA_DVD_PLUS_R, *PFEATURE_DATA_DVD_PLUS_R;
313
314typedef struct _FEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE {
315 FEATURE_HEADER Header;
316 UCHAR Blank:1;
317 UCHAR Intermediate:1;
318 UCHAR DefectStatusDataRead:1;
319 UCHAR DefectStatusDataGenerate:1;
320 UCHAR Reserved0:4;
321 UCHAR Reserved1[3];
322} FEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE, *PFEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE;
323
324typedef struct _FEATURE_DATA_CD_TRACK_AT_ONCE {
325 FEATURE_HEADER Header;
326 UCHAR RWSubchannelsRecordable:1;
327 UCHAR CdRewritable:1;
328 UCHAR TestWriteOk:1;
329 UCHAR RWSubchannelPackedOk:1;
330 UCHAR RWSubchannelRawOk:1;
331 UCHAR Reserved1:1;
332 UCHAR BufferUnderrunFree:1;
333 UCHAR Reserved3:1;
334 UCHAR Reserved2;
335 UCHAR DataTypeSupported[2];
336} FEATURE_DATA_CD_TRACK_AT_ONCE, *PFEATURE_DATA_CD_TRACK_AT_ONCE;
337
338typedef struct _FEATURE_DATA_CD_MASTERING {
339 FEATURE_HEADER Header;
340 UCHAR RWSubchannelsRecordable:1;
341 UCHAR CdRewritable:1;
342 UCHAR TestWriteOk:1;
343 UCHAR RawRecordingOk:1;
344 UCHAR RawMultiSessionOk:1;
345 UCHAR SessionAtOnceOk:1;
346 UCHAR BufferUnderrunFree:1;
347 UCHAR Reserved1:1;
348 UCHAR MaximumCueSheetLength[3];
349} FEATURE_DATA_CD_MASTERING, *PFEATURE_DATA_CD_MASTERING;
350
351typedef struct _FEATURE_DATA_DVD_RECORDABLE_WRITE {
352 FEATURE_HEADER Header;
353 UCHAR Reserved1:1;
354 UCHAR DVD_RW:1;
355 UCHAR TestWrite:1;
356 UCHAR RDualLayer:1;
357 UCHAR Reserved02:2;
358 UCHAR BufferUnderrunFree:1;
359 UCHAR Reserved3:1;
360 UCHAR Reserved4[3];
361} FEATURE_DATA_DVD_RECORDABLE_WRITE, *PFEATURE_DATA_DVD_RECORDABLE_WRITE;
362
363typedef struct _FEATURE_DATA_DDCD_READ {
364 FEATURE_HEADER Header;
365} FEATURE_DATA_DDCD_READ, *PFEATURE_DATA_DDCD_READ;
366
367typedef struct _FEATURE_DATA_DDCD_R_WRITE {
368 FEATURE_HEADER Header;
369 UCHAR Reserved1:2;
370 UCHAR TestWrite:1;
371 UCHAR Reserved2:5;
372 UCHAR Reserved3[3];
373} FEATURE_DATA_DDCD_R_WRITE, *PFEATURE_DATA_DDCD_R_WRITE;
374
375typedef struct _FEATURE_DATA_DDCD_RW_WRITE {
376 FEATURE_HEADER Header;
377 UCHAR Blank:1;
378 UCHAR Intermediate:1;
379 UCHAR Reserved1:6;
380 UCHAR Reserved2[3];
381} FEATURE_DATA_DDCD_RW_WRITE, *PFEATURE_DATA_DDCD_RW_WRITE;
382
383typedef struct _FEATURE_DATA_LAYER_JUMP_RECORDING {
384 FEATURE_HEADER Header;
385 UCHAR Reserved0[3];
386 UCHAR NumberOfLinkSizes;
387#if !defined(__midl) && !defined(__WIDL__)
388 UCHAR LinkSizes[0];
389#endif
390} FEATURE_DATA_LAYER_JUMP_RECORDING, *PFEATURE_DATA_LAYER_JUMP_RECORDING;
391
392typedef struct _FEATURE_CD_RW_MEDIA_WRITE_SUPPORT {
393 FEATURE_HEADER Header;
394 UCHAR Reserved1;
395 struct{
396 UCHAR Subtype0:1;
397 UCHAR Subtype1:1;
398 UCHAR Subtype2:1;
399 UCHAR Subtype3:1;
400 UCHAR Subtype4:1;
401 UCHAR Subtype5:1;
402 UCHAR Subtype6:1;
403 UCHAR Subtype7:1;
404 } CDRWMediaSubtypeSupport;
405 UCHAR Reserved2[2];
406} FEATURE_CD_RW_MEDIA_WRITE_SUPPORT, *PFEATURE_CD_RW_MEDIA_WRITE_SUPPORT;
407
408typedef struct _FEATURE_BD_R_PSEUDO_OVERWRITE {
409 FEATURE_HEADER Header;
410 UCHAR Reserved[4];
411} FEATURE_BD_R_PSEUDO_OVERWRITE, *PFEATURE_BD_R_PSEUDO_OVERWRITE;
412
413typedef struct _FEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER {
414 FEATURE_HEADER Header;
415 UCHAR Write:1;
416 UCHAR Reserved1:7;
417 UCHAR CloseOnly:1;
418 UCHAR QuickStart:1;
419 UCHAR Reserved2:6;
420 UCHAR Reserved3[2];
421} FEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER, *PFEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER;
422
423typedef struct _FEATURE_DATA_DVD_PLUS_R_DUAL_LAYER {
424 FEATURE_HEADER Header;
425 UCHAR Write:1;
426 UCHAR Reserved1:7;
427 UCHAR Reserved2[3];
428} FEATURE_DATA_DVD_PLUS_R_DUAL_LAYER, *PFEATURE_DATA_DVD_PLUS_R_DUAL_LAYER;
429
430typedef struct _BD_CLASS_SUPPORT_BITMAP {
431 UCHAR Version8:1;
432 UCHAR Version9:1;
433 UCHAR Version10:1;
434 UCHAR Version11:1;
435 UCHAR Version12:1;
436 UCHAR Version13:1;
437 UCHAR Version14:1;
438 UCHAR Version15:1;
439 UCHAR Version0:1;
440 UCHAR Version1:1;
441 UCHAR Version2:1;
442 UCHAR Version3:1;
443 UCHAR Version4:1;
444 UCHAR Version5:1;
445 UCHAR Version6:1;
446 UCHAR Version7:1;
447} BD_CLASS_SUPPORT_BITMAP, *PBD_CLASS_SUPPORT_BITMAP;
448
449typedef struct _FEATURE_BD_READ {
450 FEATURE_HEADER Header;
451 UCHAR Reserved[4];
452 BD_CLASS_SUPPORT_BITMAP Class0BitmapBDREReadSupport;
453 BD_CLASS_SUPPORT_BITMAP Class1BitmapBDREReadSupport;
454 BD_CLASS_SUPPORT_BITMAP Class2BitmapBDREReadSupport;
455 BD_CLASS_SUPPORT_BITMAP Class3BitmapBDREReadSupport;
456 BD_CLASS_SUPPORT_BITMAP Class0BitmapBDRReadSupport;
457 BD_CLASS_SUPPORT_BITMAP Class1BitmapBDRReadSupport;
458 BD_CLASS_SUPPORT_BITMAP Class2BitmapBDRReadSupport;
459 BD_CLASS_SUPPORT_BITMAP Class3BitmapBDRReadSupport;
460 BD_CLASS_SUPPORT_BITMAP Class0BitmapBDROMReadSupport;
461 BD_CLASS_SUPPORT_BITMAP Class1BitmapBDROMReadSupport;
462 BD_CLASS_SUPPORT_BITMAP Class2BitmapBDROMReadSupport;
463 BD_CLASS_SUPPORT_BITMAP Class3BitmapBDROMReadSupport;
464} FEATURE_BD_READ, *PFEATURE_BD_READ;
465
466typedef struct _FEATURE_BD_WRITE {
467 FEATURE_HEADER Header;
468 UCHAR SupportsVerifyNotRequired:1;
469 UCHAR Reserved1:7;
470 UCHAR Reserved2[3];
471 BD_CLASS_SUPPORT_BITMAP Class0BitmapBDREWriteSupport;
472 BD_CLASS_SUPPORT_BITMAP Class1BitmapBDREWriteSupport;
473 BD_CLASS_SUPPORT_BITMAP Class2BitmapBDREWriteSupport;
474 BD_CLASS_SUPPORT_BITMAP Class3BitmapBDREWriteSupport;
475 BD_CLASS_SUPPORT_BITMAP Class0BitmapBDRWriteSupport;
476 BD_CLASS_SUPPORT_BITMAP Class1BitmapBDRWriteSupport;
477 BD_CLASS_SUPPORT_BITMAP Class2BitmapBDRWriteSupport;
478 BD_CLASS_SUPPORT_BITMAP Class3BitmapBDRWriteSupport;
479} FEATURE_BD_WRITE, *PFEATURE_BD_WRITE;
480
481typedef struct _FEATURE_TSR {
482 FEATURE_HEADER Header;
483} FEATURE_TSR, *PFEATURE_TSR;
484
485typedef struct _FEATURE_DATA_HDDVD_READ {
486 FEATURE_HEADER Header;
487 UCHAR Recordable:1;
488 UCHAR Reserved0:7;
489 UCHAR Reserved1;
490 UCHAR Rewritable:1;
491 UCHAR Reserved2:7;
492 UCHAR Reserved3;
493} FEATURE_DATA_HDDVD_READ, *PFEATURE_DATA_HDDVD_READ;
494
495typedef struct _FEATURE_DATA_HDDVD_WRITE {
496 FEATURE_HEADER Header;
497 UCHAR Recordable:1;
498 UCHAR Reserved0:7;
499 UCHAR Reserved1;
500 UCHAR Rewritable:1;
501 UCHAR Reserved2:7;
502 UCHAR Reserved3;
503} FEATURE_DATA_HDDVD_WRITE, *PFEATURE_DATA_HDDVD_WRITE;
504
505typedef struct _FEATURE_HYBRID_DISC {
506 FEATURE_HEADER Header;
507 UCHAR ResetImmunity:1;
508 UCHAR Reserved1:7;
509 UCHAR Reserved2[3];
510} FEATURE_HYBRID_DISC, *PFEATURE_HYBRID_DISC;
511
512typedef struct _FEATURE_DATA_POWER_MANAGEMENT {
513 FEATURE_HEADER Header;
514} FEATURE_DATA_POWER_MANAGEMENT, *PFEATURE_DATA_POWER_MANAGEMENT;
515
516typedef struct _FEATURE_DATA_SMART {
517 FEATURE_HEADER Header;
518 UCHAR FaultFailureReportingPagePresent:1;
519 UCHAR Reserved1:7;
520 UCHAR Reserved02[3];
521} FEATURE_DATA_SMART, *PFEATURE_DATA_SMART;
522
523typedef struct _FEATURE_DATA_EMBEDDED_CHANGER {
524 FEATURE_HEADER Header;
525 UCHAR Reserved1:2;
526 UCHAR SupportsDiscPresent:1;
527 UCHAR Reserved2:1;
528 UCHAR SideChangeCapable:1;
529 UCHAR Reserved3:3;
530 UCHAR Reserved4[2];
531 UCHAR HighestSlotNumber:5;
532 UCHAR Reserved:3;
533} FEATURE_DATA_EMBEDDED_CHANGER, *PFEATURE_DATA_EMBEDDED_CHANGER;
534
535typedef struct _FEATURE_DATA_CD_AUDIO_ANALOG_PLAY {
536 FEATURE_HEADER Header;
537 UCHAR SeperateVolume:1;
538 UCHAR SeperateChannelMute:1;
539 UCHAR ScanSupported:1;
540 UCHAR Reserved1:5;
541 UCHAR Reserved2;
542 UCHAR NumerOfVolumeLevels[2];
543} FEATURE_DATA_CD_AUDIO_ANALOG_PLAY, *PFEATURE_DATA_CD_AUDIO_ANALOG_PLAY;
544
545typedef struct _FEATURE_DATA_MICROCODE_UPDATE {
546 FEATURE_HEADER Header;
547 UCHAR M5:1;
548 UCHAR Reserved1:7;
549 UCHAR Reserved2[3];
550} FEATURE_DATA_MICROCODE_UPDATE, *PFEATURE_DATA_MICROCODE_UPDATE;
551
552typedef struct _FEATURE_DATA_TIMEOUT {
553 FEATURE_HEADER Header;
554 UCHAR Group3:1;
555 UCHAR Reserved1:7;
556 UCHAR Reserved2;
557 UCHAR UnitLength[2];
558} FEATURE_DATA_TIMEOUT, *PFEATURE_DATA_TIMEOUT;
559
560typedef struct _FEATURE_DATA_DVD_CSS {
561 FEATURE_HEADER Header;
562 UCHAR Reserved1[3];
563 UCHAR CssVersion;
564} FEATURE_DATA_DVD_CSS, *PFEATURE_DATA_DVD_CSS;
565
566typedef struct _FEATURE_DATA_REAL_TIME_STREAMING {
567 FEATURE_HEADER Header;
568 UCHAR StreamRecording:1;
569 UCHAR WriteSpeedInGetPerf:1;
570 UCHAR WriteSpeedInMP2A:1;
571 UCHAR SetCDSpeed:1;
572 UCHAR ReadBufferCapacityBlock:1;
573 UCHAR Reserved1:3;
574 UCHAR Reserved2[3];
575} FEATURE_DATA_REAL_TIME_STREAMING, *PFEATURE_DATA_REAL_TIME_STREAMING;
576
577typedef struct _FEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER {
578 FEATURE_HEADER Header;
579#if !defined(__midl) && !defined(__WIDL__)
580 UCHAR SerialNumber[0];
581#endif
582} FEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER, *PFEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER;
583
584typedef struct _FEATURE_MEDIA_SERIAL_NUMBER {
585 FEATURE_HEADER Header;
586} FEATURE_MEDIA_SERIAL_NUMBER, *PFEATURE_MEDIA_SERIAL_NUMBER;
587
588typedef struct _FEATURE_DATA_DISC_CONTROL_BLOCKS_EX {
589 UCHAR ContentDescriptor[4];
590} FEATURE_DATA_DISC_CONTROL_BLOCKS_EX, *PFEATURE_DATA_DISC_CONTROL_BLOCKS_EX;
591
592typedef struct _FEATURE_DATA_DISC_CONTROL_BLOCKS {
593 FEATURE_HEADER Header;
594#if !defined(__midl) && !defined(__WIDL__)
595 FEATURE_DATA_DISC_CONTROL_BLOCKS_EX Data[0];
596#endif
597} FEATURE_DATA_DISC_CONTROL_BLOCKS, *PFEATURE_DATA_DISC_CONTROL_BLOCKS;
598
599typedef struct _FEATURE_DATA_DVD_CPRM {
600 FEATURE_HEADER Header;
601 UCHAR Reserved0[3];
602 UCHAR CPRMVersion;
603} FEATURE_DATA_DVD_CPRM, *PFEATURE_DATA_DVD_CPRM;
604
605typedef struct _FEATURE_DATA_FIRMWARE_DATE {
606 FEATURE_HEADER Header;
607 UCHAR Year[4];
608 UCHAR Month[2];
609 UCHAR Day[2];
610 UCHAR Hour[2];
611 UCHAR Minute[2];
612 UCHAR Seconds[2];
613 UCHAR Reserved[2];
614} FEATURE_DATA_FIRMWARE_DATE, *PFEATURE_DATA_FIRMWARE_DATE;
615
616typedef struct _FEATURE_DATA_AACS {
617 FEATURE_HEADER Header;
618 UCHAR BindingNonceGeneration:1;
619 UCHAR Reserved0:7;
620 UCHAR BindingNonceBlockCount;
621 UCHAR NumberOfAGIDs:4;
622 UCHAR Reserved1:4;
623 UCHAR AACSVersion;
624} FEATURE_DATA_AACS, *PFEATURE_DATA_AACS;
625
626typedef struct _FEATURE_VCPS {
627 FEATURE_HEADER Header;
628 UCHAR Reserved[4];
629} FEATURE_VCPS, *PFEATURE_VCPS;
630
631typedef struct _FEATURE_DATA_RESERVED {
632 FEATURE_HEADER Header;
633#if !defined(__midl) && !defined(__WIDL__)
634 UCHAR Data[0];
635#endif
636} FEATURE_DATA_RESERVED, *PFEATURE_DATA_RESERVED;
637
638typedef struct _FEATURE_DATA_VENDOR_SPECIFIC {
639 FEATURE_HEADER Header;
640#if !defined(__midl) && !defined(__WIDL__)
641 UCHAR VendorSpecificData[0];
642#endif
643} FEATURE_DATA_VENDOR_SPECIFIC, *PFEATURE_DATA_VENDOR_SPECIFIC;
644
645typedef struct _GET_CONFIGURATION_IOCTL_INPUT {
646 FEATURE_NUMBER Feature;
647 ULONG RequestType;
648 PVOID Reserved[2];
649} GET_CONFIGURATION_IOCTL_INPUT, *PGET_CONFIGURATION_IOCTL_INPUT;
650
651#if defined(_WIN64)
652typedef struct _GET_CONFIGURATION_IOCTL_INPUT32 {
653 FEATURE_NUMBER Feature;
654 ULONG RequestType;
655 VOID* UPOINTER_32 Reserved[2];
656} GET_CONFIGURATION_IOCTL_INPUT32, *PGET_CONFIGURATION_IOCTL_INPUT32;
657#endif
658
659#ifdef __cplusplus
660}
661#endif
Note: See TracBrowser for help on using the repository browser.