Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygeninterfaces.hpp
Go to the documentation of this file.
00001 /* 00002 Copyright (c) 2006-2007 dogbert <dogber1@gmail.com> 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without 00006 modification, are permitted provided that the following conditions 00007 are met: 00008 1. Redistributions of source code must retain the above copyright 00009 notice, this list of conditions and the following disclaimer. 00010 2. Redistributions in binary form must reproduce the above copyright 00011 notice, this list of conditions and the following disclaimer in the 00012 documentation and/or other materials provided with the distribution. 00013 3. The name of the author may not be used to endorse or promote products 00014 derived from this software without specific prior written permission. 00015 00016 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 00017 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00018 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00019 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 00020 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00021 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00022 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00023 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00024 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00025 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00026 */ 00027 00028 #ifndef _INTERFACES_HPP_ 00029 #define _INTERFACES_HPP_ 00030 00031 #include <ntddk.h> 00032 #include <portcls.h> 00033 #include <stdunk.h> 00034 #include <debug.h> 00035 00036 #define MAXLEN_DMA_BUFFER 0x18000 00037 #define MAX_OUTPUT_STREAMS 1 00038 #define MAX_INPUT_STREAMS 1 00039 #define MAX_AC3_INPUT_STREAMS 1 00040 00041 // PCM Info 00042 #define MIN_CHANNELS 2 00043 #define MAX_CHANNELS_PCM 8 00044 #define MIN_BITS_PER_SAMPLE_PCM 16 00045 #define MAX_BITS_PER_SAMPLE_PCM 32 00046 #define MIN_SAMPLE_RATE 44100 00047 #define MAX_SAMPLE_RATE 96000 00048 #define MAX_SAMPLE_RATE_MULTI 48000 00049 00050 // AC3 Info 00051 #define MAX_CHANNELS_AC3 2 00052 #define MIN_BITS_PER_SAMPLE_AC3 16 00053 #define MAX_BITS_PER_SAMPLE_AC3 16 00054 #define MIN_SAMPLE_RATE_AC3 48000 00055 #define MAX_SAMPLE_RATE_AC3 48000 00056 00057 00058 #define PCM_OUT_STREAM 0 00059 #define PCM_IN_STREAM 1 00060 #define AC3_OUT_STREAM 2 00061 00062 #define CHAN_LEFT 0 00063 #define CHAN_RIGHT 1 00064 #define CHAN_MASTER (-1) 00065 00066 #define IN_CHANNEL 0 00067 #define OUT_CHANNEL 1 00068 00069 #define UInt32 ULONG 00070 #define UInt16 USHORT 00071 #define UInt8 BYTE 00072 #define Int32 LONG 00073 00074 #define KSSTATE_STOP_AC3 (KSSTATE)5 00075 #define KSSTATE_RUN_AC3 (KSSTATE)6 00076 00077 // Interface ICMITopology 00078 DECLARE_INTERFACE_(ICMITopology,IMiniportTopology) 00079 { 00080 STDMETHOD_(NTSTATUS,GetDescription) 00081 ( THIS_ 00082 PPCFILTER_DESCRIPTOR* OutFilterDescriptor 00083 ) PURE; 00084 STDMETHOD_(NTSTATUS,DataRangeIntersection) 00085 ( THIS_ 00086 ULONG PinId, 00087 PKSDATARANGE DataRange, 00088 PKSDATARANGE MatchingDataRange, 00089 ULONG OutputBufferLength, 00090 PVOID ResultantFormat, 00091 PULONG ResultantFormatLength 00092 ) PURE; 00093 STDMETHOD_(NTSTATUS,Init) 00094 ( THIS_ 00095 PUNKNOWN UnknownAdapter, 00096 PRESOURCELIST ResourceList, 00097 PPORTTOPOLOGY Port 00098 ) PURE; 00099 STDMETHOD_(NTSTATUS,loadMixerSettingsFromMemory) 00100 ( THIS_ 00101 void 00102 ) PURE; 00103 STDMETHOD_(NTSTATUS,storeMixerSettingsToMemory) 00104 ( THIS_ 00105 void 00106 ) PURE; 00107 }; 00108 typedef ICMITopology *PCMITOPOLOGY; 00109 00110 // Interface IMiniportWaveCMI 00111 DECLARE_INTERFACE_(IMiniportWaveCMI,IUnknown) 00112 { 00113 STDMETHOD_(void,ServiceWaveISR) 00114 ( THIS_ 00115 ULONG channel 00116 ) PURE; 00117 00118 STDMETHOD_(void,powerUp) 00119 ( THIS_ 00120 void 00121 ) PURE; 00122 STDMETHOD_(void,powerDown) 00123 ( THIS_ 00124 void 00125 ) PURE; 00126 }; 00127 typedef IMiniportWaveCMI *PCMIWAVE; 00128 00129 // structure to avoid the fucking COM crapola 00130 typedef struct CMI8738Info { 00131 int chipVersion; 00132 int maxChannels; 00133 bool canAC3HW, canAC3SW; 00134 bool canMultiChannel; 00135 bool doAC3SW; 00136 bool hasDualDAC; 00137 UInt32* IOBase; 00138 UInt32* MPUBase; 00139 PCMIWAVE WaveMiniport; 00140 PCMITOPOLOGY TopoMiniport; 00141 bool enableSPDIFOut; 00142 bool enableSPDIFIn; 00143 UInt32 formatMask; 00144 UInt32 regFUNCTRL0; 00145 } CMI8738Info; 00146 typedef CMI8738Info* PCMI8738Info; 00147 00148 typedef struct VolumeTable { 00149 UInt32 node; 00150 UInt8 reg; 00151 UInt8 mask; 00152 UInt8 shift; 00153 Int32 max; 00154 Int32 min; 00155 Int32 step; 00156 Int32 dbshift; 00157 } VolumeTable; 00158 00159 // Interface ICMIAdapter 00160 DECLARE_INTERFACE_(ICMIAdapter,IUnknown) 00161 { 00162 STDMETHOD_(NTSTATUS,init) 00163 ( THIS_ 00164 PRESOURCELIST ResourceList, 00165 PDEVICE_OBJECT DeviceObject 00166 ) PURE; 00167 STDMETHOD_(PINTERRUPTSYNC,getInterruptSync) 00168 ( THIS_ 00169 void 00170 ) PURE; 00171 STDMETHOD_(PDEVICE_OBJECT,getDeviceObject) 00172 ( THIS_ 00173 void 00174 ) PURE; 00175 STDMETHOD_(PCMI8738Info,getCMI8738Info) 00176 ( THIS_ 00177 void 00178 ) PURE; 00179 STDMETHOD_(UInt8, readUInt8) 00180 ( THIS_ 00181 UInt8 reg 00182 ) PURE; 00183 STDMETHOD_(void, writeUInt8) 00184 ( THIS_ 00185 UInt8 reg, 00186 UInt8 value 00187 ) PURE; 00188 STDMETHOD_(void, setUInt8Bit) 00189 ( THIS_ 00190 UInt8 reg, 00191 UInt8 flag 00192 ) PURE; 00193 STDMETHOD_(void, clearUInt8Bit) 00194 ( THIS_ 00195 UInt8 reg, 00196 UInt8 flag 00197 ) PURE; 00198 STDMETHOD_(UInt16, readUInt16) 00199 ( THIS_ 00200 UInt8 reg 00201 ) PURE; 00202 STDMETHOD_(void, writeUInt16) 00203 ( THIS_ 00204 UInt8 reg, 00205 UInt16 value 00206 ) PURE; 00207 STDMETHOD_(UInt32, readUInt32) 00208 ( THIS_ 00209 UInt8 reg 00210 ) PURE; 00211 STDMETHOD_(void, writeUInt32) 00212 ( THIS_ 00213 UInt8 reg, 00214 UInt32 value 00215 ) PURE; 00216 STDMETHOD_(void, setUInt32Bit) 00217 ( THIS_ 00218 UInt8 reg, 00219 UInt32 flag 00220 ) PURE; 00221 STDMETHOD_(void, clearUInt32Bit) 00222 ( THIS_ 00223 UInt8 reg, 00224 UInt32 flag 00225 ) PURE; 00226 STDMETHOD_(UInt8, readMixer) 00227 ( THIS_ 00228 UInt8 index 00229 ) PURE; 00230 STDMETHOD_(void, writeMixer) 00231 ( THIS_ 00232 UInt8 index, 00233 UInt8 value 00234 ) PURE; 00235 STDMETHOD_(void, setMixerBit) 00236 ( THIS_ 00237 UInt8 index, 00238 UInt8 flag 00239 ) PURE; 00240 STDMETHOD_(void, clearMixerBit) 00241 ( THIS_ 00242 UInt8 index, 00243 UInt8 flag 00244 ) PURE; 00245 STDMETHOD_(void,resetMixer) 00246 ( THIS_ 00247 ) PURE; 00248 STDMETHOD_(NTSTATUS,activateMPU) 00249 ( THIS_ 00250 ULONG* MPUBase 00251 ) PURE; 00252 STDMETHOD_(NTSTATUS,loadSBMixerFromMemory) 00253 ( THIS_ 00254 ) PURE; 00255 }; 00256 typedef ICMIAdapter *PCMIADAPTER; 00257 00258 // GUIDs 00259 00260 // {34B338A2-BB40-4ecd-B97A-AEB03F325825} 00261 DEFINE_GUID(IID_ICMIAdapter, 0x34b338a2, 0xbb40, 0x4ecd, 0xb9, 0x7a, 0xae, 0xb0, 0x3f, 0x32, 0x58, 0x25); 00262 // {60BB55CF-C960-4ddf-B7A4-243978B2FE7B} 00263 DEFINE_GUID(IID_ICMITopolgy, 0x60bb55cf, 0xc960, 0x4ddf, 0xb7, 0xa4, 0x24, 0x39, 0x78, 0xb2, 0xfe, 0x7b); 00264 // {E8698236-D854-4da7-BF31-8332C614CE91} 00265 DEFINE_GUID(IID_IMiniportWaveCMI, 0xe8698236, 0xd854, 0x4da7, 0xbf, 0x31, 0x83, 0x32, 0xc6, 0x14, 0xce, 0x91); 00266 00267 00268 // {9DB14E9A-7BE7-480d-A2FA-32932489DE9C} 00269 #define STATIC_PRODUCT_CM8738 \ 00270 0x9db14e9a, 0x7be7, 0x480d, 0xa2, 0xfa, 0x32, 0x93, 0x24, 0x89, 0xde, 0x9c 00271 DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9C", PRODUCT_CM8738); 00272 #define PRODUCT_CM8738 DEFINE_GUIDNAMED(PRODUCT_CM8738) 00273 00274 // {9DB14E9A-7BE7-480d-A2FA-32932489DE9D} 00275 #define STATIC_COMPONENT_CM8738 \ 00276 0x9db14e9a, 0x7be7, 0x480d, 0xa2, 0xfa, 0x32, 0x93, 0x24, 0x89, 0xde, 0x9d 00277 DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9D", COMPONENT_CM8738); 00278 #define COMPONENT_CM8738 DEFINE_GUIDNAMED(COMPONENT_CM8738) 00279 00280 // {9DB14E9A-7BE7-480d-A2FA-32932489DE9E} 00281 #define STATIC_MANUFACTURER_CM8738 \ 00282 0x9db14e9a, 0x7be7, 0x480d, 0xa2, 0xfa, 0x32, 0x93, 0x24, 0x89, 0xde, 0x9e 00283 DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9E", MANUFACTURER_CM8738); 00284 #define MANUFACTURER_CM8738 DEFINE_GUIDNAMED(MANUFACTURER_CM8738) 00285 00286 00287 #define CMIPCI_VERSION 0x00 00288 00289 // topology node names (refer to .inf file) 00290 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF0} 00291 #define STATIC_CMINAME_IEC_5V \ 00292 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF0 00293 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF0", _STATIC_CMINAME_IEC_5V); 00294 #define CMINAME_IEC_5V DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_5V) 00295 00296 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF1} 00297 #define STATIC_CMINAME_IEC_OUT \ 00298 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF1 00299 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF1", _STATIC_CMINAME_IEC_OUT); 00300 #define CMINAME_IEC_OUT DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_OUT) 00301 00302 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF2} 00303 #define STATIC_CMINAME_IEC_INVERSE \ 00304 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF2 00305 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF2", _STATIC_CMINAME_IEC_INVERSE); 00306 #define CMINAME_IEC_INVERSE DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_INVERSE) 00307 00308 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF3} 00309 #define STATIC_CMINAME_IEC_MONITOR \ 00310 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF3 00311 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF3", _STATIC_CMINAME_IEC_MONITOR); 00312 #define CMINAME_IEC_MONITOR DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_MONITOR) 00313 00314 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF4} 00315 #define STATIC_CMINAME_DAC \ 00316 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF4 00317 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF4", _STATIC_CMINAME_DAC); 00318 #define CMINAME_DAC DEFINE_GUIDNAMED(_STATIC_CMINAME_DAC) 00319 00320 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF5} 00321 #define STATIC_CMINAME_IEC_SELECT \ 00322 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF5 00323 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF5", _STATIC_CMINAME_IEC_SELECT); 00324 #define CMINAME_IEC_SELECT DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_SELECT) 00325 00326 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF6} 00327 #define STATIC_CMINAME_XCHG_FB \ 00328 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF6 00329 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF6", _STATIC_CMINAME_XCHG_FB); 00330 #define CMINAME_XCHG_FB DEFINE_GUIDNAMED(_STATIC_CMINAME_XCHG_FB) 00331 00332 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF7} 00333 #define STATIC_CMINAME_BASS2LINE \ 00334 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF7 00335 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF7", _STATIC_CMINAME_BASS2LINE); 00336 #define CMINAME_BASS2LINE DEFINE_GUIDNAMED(_STATIC_CMINAME_BASS2LINE) 00337 00338 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF8} 00339 #define STATIC_CMINAME_CENTER2LINE \ 00340 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF8 00341 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF8", _STATIC_CMINAME_CENTER2LINE); 00342 #define CMINAME_CENTER2LINE DEFINE_GUIDNAMED(_STATIC_CMINAME_CENTER2LINE) 00343 00344 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF9} 00345 #define STATIC_CMINAME_IEC_COPYRIGHT \ 00346 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF9 00347 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF9", _STATIC_CMINAME_IEC_COPYRIGHT); 00348 #define CMINAME_IEC_COPYRIGHT DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_COPYRIGHT) 00349 00350 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFA} 00351 #define STATIC_CMINAME_IEC_POLVALID \ 00352 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFA 00353 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFA", _STATIC_CMINAME_IEC_POLVALID); 00354 #define CMINAME_IEC_POLVALID DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_POLVALID) 00355 00356 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFB} 00357 #define STATIC_CMINAME_IEC_LOOP \ 00358 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFB 00359 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFB", _STATIC_CMINAME_IEC_LOOP); 00360 #define CMINAME_IEC_LOOP DEFINE_GUIDNAMED(_STATIC_CMINAME_IEC_LOOP) 00361 00362 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFC} 00363 #define STATIC_CMINAME_REAR2LINE \ 00364 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFC 00365 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFC", _STATIC_CMINAME_REAR2LINE); 00366 #define CMINAME_REAR2LINE DEFINE_GUIDNAMED(_STATIC_CMINAME_REAR2LINE) 00367 00368 // {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFD} 00369 #define STATIC_CMINAME_CENTER2MIC \ 00370 0x2B81CDBB, 0xEE6C, 0x4ECC, 0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFD 00371 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFD", _STATIC_CMINAME_CENTER2MIC); 00372 #define CMINAME_CENTER2MIC DEFINE_GUIDNAMED(_STATIC_CMINAME_CENTER2MIC) 00373 00374 //topology pins 00375 enum 00376 { 00377 PIN_WAVEOUT_SOURCE = 0, 00378 PIN_SPDIFIN_SOURCE, 00379 PIN_MIC_SOURCE, 00380 PIN_CD_SOURCE, 00381 PIN_LINEIN_SOURCE, 00382 PIN_AUX_SOURCE, 00383 PIN_DAC_SOURCE, 00384 PIN_LINEOUT_DEST, 00385 PIN_WAVEIN_DEST, 00386 PIN_SPDIF_AC3_SOURCE, 00387 PIN_SPDIF_AC3_DEST, 00388 00389 PIN_INVALID 00390 }; 00391 00392 //topology nodes 00393 enum 00394 { 00395 KSNODE_TOPO_WAVEOUT_VOLUME = 0, 00396 KSNODE_TOPO_WAVEOUT_MUTE, 00397 KSNODE_TOPO_MICOUT_VOLUME, 00398 KSNODE_TOPO_LINEOUT_MIX, 00399 KSNODE_TOPO_LINEOUT_VOLUME, 00400 KSNODE_TOPO_WAVEIN_SUM, 00401 KSNODE_TOPO_CD_VOLUME, 00402 KSNODE_TOPO_LINEIN_VOLUME, 00403 KSNODE_TOPO_AUX_VOLUME, 00404 KSNODE_TOPO_MICIN_VOLUME, 00405 KSNODE_TOPO_MICIN_LOUDNESS, 00406 KSNODE_TOPO_MICOUT_LOUDNESS, 00407 KSNODE_TOPO_CD_MUTE, 00408 KSNODE_TOPO_LINEIN_MUTE, 00409 KSNODE_TOPO_MICOUT_MUTE, 00410 KSNODE_TOPO_AUX_MUTE, 00411 KSNODE_TOPO_LINEIN_MUTE_IN, 00412 KSNODE_TOPO_MIC_MUTE_IN, 00413 KSNODE_TOPO_AUX_MUTE_IN, 00414 KSNODE_TOPO_CD_MUTE_IN, 00415 KSNODE_TOPO_WAVEOUT_MUTE_IN, 00416 KSNODE_TOPO_IEC_5V, 00417 KSNODE_TOPO_IEC_OUT, 00418 KSNODE_TOPO_IEC_INVERSE, 00419 KSNODE_TOPO_IEC_MONITOR, 00420 KSNODE_TOPO_IEC_SELECT, 00421 KSNODE_TOPO_SPDIF_AC3_MUTE, 00422 KSNODE_TOPO_SPDIF_AC3_MUX, 00423 KSNODE_TOPO_XCHG_FB, 00424 KSNODE_TOPO_BASS2LINE, 00425 KSNODE_TOPO_CENTER2LINE, 00426 KSNODE_TOPO_IEC_COPYRIGHT, 00427 KSNODE_TOPO_IEC_POLVALID, 00428 KSNODE_TOPO_IEC_LOOP, 00429 KSNODE_TOPO_REAR2LINE, 00430 KSNODE_TOPO_CENTER2MIC, 00431 KSNODE_TOPO_MASTER_MUTE_DUMMY, 00432 00433 KSNODE_TOPO_INVALID 00434 }; 00435 00436 //wave miniport pins 00437 enum 00438 { 00439 PIN_WAVE_CAPTURE_SINK = 0, 00440 PIN_WAVE_CAPTURE_SOURCE, 00441 PIN_WAVE_RENDER_SINK, 00442 PIN_WAVE_RENDER_SOURCE, 00443 PIN_WAVE_AC3_RENDER_SINK, 00444 PIN_WAVE_AC3_RENDER_SOURCE, 00445 00446 PIN_WAVE_INVALID 00447 }; 00448 00449 //wave miniport nodes 00450 enum 00451 { 00452 KSNODE_WAVE_ADC = 0, 00453 KSNODE_WAVE_VOLUME1, 00454 KSNODE_WAVE_3D_EFFECTS, 00455 KSNODE_WAVE_SUPERMIX, 00456 KSNODE_WAVE_VOLUME2, 00457 KSNODE_WAVE_SRC, 00458 KSNODE_WAVE_SUM, 00459 KSNODE_WAVE_DAC, 00460 KSNODE_WAVE_SPDIF, 00461 00462 KSNODE_WAVE_INVALID 00463 }; 00464 00465 #endif //_INTERFACES_HPP_ Generated on Sun May 27 2012 04:28:33 for ReactOS by
1.7.6.1
|