fix macro name in iptypes.h
[reactos.git] / include / psdk / bdaiface.idl
1 #ifndef DO_NO_IMPORTS
2 import "unknwn.idl";
3 import "strmif.idl";
4 import "bdatypes.h";
5 #endif
6
7 /************************************************************
8 * interface IBDA_NetworkProvider
9 */
10 [
11 object,
12 uuid(fd501041-8ebe-11ce-8183-00aa00577da2),
13 pointer_default(unique)
14 ]
15 interface IBDA_NetworkProvider : IUnknown
16 {
17 HRESULT PutSignalSource(
18 [in] ULONG ulSignalSource);
19
20 HRESULT GetSignalSource(
21 [in, out] ULONG * pulSignalSource);
22
23 HRESULT GetNetworkType(
24 [in, out] GUID * pguidNetworkType);
25
26 HRESULT PutTuningSpace(
27 [in] REFGUID guidTuningSpace);
28
29 HRESULT GetTuningSpace(
30 [in, out] GUID * pguidTuingSpace);
31
32 HRESULT RegisterDeviceFilter(
33 [in] IUnknown * pUnkFilterControl,
34 [in, out] ULONG * ppvRegisitrationContext);
35
36 HRESULT UnRegisterDeviceFilter(
37 [in] ULONG pvRegistrationContext);
38 }
39
40
41 /************************************************************
42 * interface IBDA_EthernetFilter
43 */
44 [
45 object,
46 uuid(71985F43-1CA1-11d3-9CC8-00C04F7971E0),
47 pointer_default(unique)
48 ]
49 interface IBDA_EthernetFilter : IUnknown
50 {
51 HRESULT GetMulticastListSize(
52 [in, out] ULONG * pulcbAddresses);
53
54 HRESULT PutMulticastList(
55 [in] ULONG ulcbAddresses,
56 [in] BYTE * pAddressList);
57
58 HRESULT GetMulticastList(
59 [in, out] ULONG * pulcbAddresses,
60 [out] BYTE * pAddressList);
61
62 HRESULT PutMulticastMode(
63 [in] ULONG ulModeMask);
64
65 HRESULT GetMulticastMode(
66 [out] ULONG * pulModeMask);
67
68 }
69
70 /************************************************************
71 * interface IBDA_IPV4Filter
72 */
73 [
74 object,
75 uuid(71985F44-1CA1-11d3-9CC8-00C04F7971E0),
76 pointer_default(unique)
77 ]
78
79 interface IBDA_IPV4Filter : IUnknown
80 {
81 HRESULT GetMulticastListSize(
82 [in, out] ULONG * pulcbAddresses);
83
84 HRESULT PutMulticastList(
85 [in] ULONG ulcbAddresses,
86 [in] BYTE * pAddressList);
87
88 HRESULT GetMulticastList(
89 [in, out] ULONG * pulcbAddresses,
90 [out] BYTE * pAddressList);
91
92 HRESULT PutMulticastMode(
93 [in] ULONG ulModeMask);
94
95 HRESULT GetMulticastMode(
96 [out] ULONG * pulModeMask);
97 }
98
99 /************************************************************
100 * interface IBDA_IPV6Filter
101 */
102
103 [
104 object,
105 uuid(E1785A74-2A23-4fb3-9245-A8F88017EF33),
106 pointer_default(unique)
107 ]
108 interface IBDA_IPV6Filter : IUnknown
109 {
110
111 HRESULT GetMulticastListSize(
112 [in, out] ULONG * pulcbAddresses);
113
114 HRESULT PutMulticastList(
115 [in] ULONG ulcbAddresses,
116 [in] BYTE * pAddressList);
117
118 HRESULT GetMulticastList(
119 [in, out] ULONG * pulcbAddresses,
120 [out] BYTE * pAddressList);
121
122 HRESULT PutMulticastMode(
123 [in] ULONG ulModeMask);
124
125 HRESULT GetMulticastMode(
126 [out] ULONG * pulModeMask);
127 }
128
129 /************************************************************
130 * interface IBDA_DeviceControl
131 */
132
133 [
134 object,
135 uuid(FD0A5AF3-B41D-11d2-9C95-00C04F7971E0),
136 pointer_default(unique)
137 ]
138 interface IBDA_DeviceControl : IUnknown
139 {
140 HRESULT StartChanges(void);
141 HRESULT CheckChanges(void);
142 HRESULT CommitChanges(void);
143 HRESULT GetChangeState(
144 [in, out] ULONG * pState);
145 }
146
147 /************************************************************
148 * interface IBDA_PinControl
149 */
150 [
151 object,
152 uuid(0DED49D5-A8B7-4d5d-97A1-12B0C195874D),
153 pointer_default(unique)
154 ]
155 interface IBDA_PinControl : IUnknown
156 {
157 HRESULT GetPinID(
158 [in, out] ULONG * pulPinID);
159
160 HRESULT GetPinType(
161 [in, out] ULONG * pulPinType);
162
163 HRESULT RegistrationContext(
164 [in, out] ULONG * pulRegistrationCtx);
165 }
166
167 /************************************************************
168 * interface IBDA_SignalProperties
169 */
170 [
171 object,
172 uuid(D2F1644B-B409-11d2-BC69-00A0C9EE9E16),
173 pointer_default(unique)
174 ]
175 interface IBDA_SignalProperties : IUnknown
176 {
177 HRESULT PutNetworkType(
178 [in] REFGUID guidNetworkType);
179
180 HRESULT GetNetworkType(
181 [in, out] GUID * pguidNetworkType);
182
183 HRESULT PutSignalSource(
184 [in] ULONG ulSignalSource);
185
186 HRESULT GetSignalSource(
187 [in, out] ULONG * pulSignalSource);
188
189 HRESULT PutTuningSpace(
190 [in] REFGUID guidTuningSpace);
191
192 HRESULT GetTuningSpace(
193 [in, out] GUID * pguidTuingSpace);
194 }
195
196
197 /************************************************************
198 * interface IBDA_SignalStatistics
199 */
200 [
201 object,
202 uuid(1347D106-CF3A-428a-A5CB-AC0D9A2A4338),
203 pointer_default(unique)
204 ]
205 interface IBDA_SignalStatistics : IUnknown
206 {
207 HRESULT put_SignalStrength(
208 [in] LONG lDbStrength);
209
210 HRESULT get_SignalStrength(
211 [in, out] LONG * plDbStrength);
212
213 HRESULT put_SignalQuality(
214 [in] LONG lPercentQuality);
215
216 HRESULT get_SignalQuality(
217 [in, out] LONG * plPercentQuality);
218
219 HRESULT put_SignalPresent(
220 [in] BOOLEAN fPresent);
221
222 HRESULT get_SignalPresent(
223 [in, out] BOOLEAN * pfPresent);
224
225 HRESULT put_SignalLocked(
226 [in] BOOLEAN fLocked);
227
228 HRESULT get_SignalLocked(
229 [in, out] BOOLEAN * pfLocked);
230
231 HRESULT put_SampleTime(
232 [in] LONG lmsSampleTime);
233
234 HRESULT get_SampleTime(
235 [in, out] LONG * plmsSampleTime);
236 }
237
238 /************************************************************
239 * interface IBDA_Topology
240 */
241 [
242 object,
243 uuid(79B56888-7FEA-4690-B45D-38FD3C7849BE),
244 pointer_default(unique)
245 ]
246 interface IBDA_Topology : IUnknown
247 {
248 HRESULT GetNodeTypes(
249 [in, out] ULONG * pulcNodeTypes,
250 [in] ULONG ulcNodeTypesMax,
251 [in, out] ULONG * rgulNodeTypes);
252
253 HRESULT GetNodeDescriptors(
254 [in, out] ULONG * ulcNodeDescriptors,
255 [in] ULONG ulcNodeDescriptorsMax,
256 [in, out] BDANODE_DESCRIPTOR * rgNodeDescriptors);
257
258 HRESULT GetNodeInterfaces(
259 [in] ULONG ulNodeType,
260 [in, out] ULONG * pulcInterfaces,
261 [in] ULONG ulcInterfacesMax,
262 [in, out] GUID * rgguidInterfaces);
263
264 HRESULT GetPinTypes(
265 [in, out] ULONG * pulcPinTypes,
266 [in] ULONG ulcPinTypesMax,
267 [in, out] ULONG * rgulPinTypes);
268
269 HRESULT GetTemplateConnections(
270 [in, out] ULONG * pulcConnections,
271 [in] ULONG ulcConnectionsMax,
272 [in, out, ] BDA_TEMPLATE_CONNECTION * rgConnections);
273
274 HRESULT CreatePin(
275 [in] ULONG ulPinType,
276 [in, out] ULONG * pulPinId);
277
278 HRESULT DeletePin(
279 [in] ULONG ulPinId);
280
281 HRESULT SetMediaType(
282 [in] ULONG ulPinId,
283 [in] AM_MEDIA_TYPE * pMediaType);
284
285 HRESULT SetMedium(
286 [in] ULONG ulPinId,
287 [in] REGPINMEDIUM * pMedium);
288
289 HRESULT CreateTopology(
290 [in] ULONG ulInputPinId,
291 [in] ULONG ulOutputPinId);
292
293 HRESULT GetControlNode(
294 [in] ULONG ulInputPinId,
295 [in] ULONG ulOutputPinId,
296 [in] ULONG ulNodeType,
297 [in, out] IUnknown ** ppControlNode);
298 }
299
300 /************************************************************
301 * interface IBDA_VoidTransform
302 */
303 [
304 object,
305 uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0),
306 pointer_default(unique)
307 ]
308 interface IBDA_VoidTransform : IUnknown
309 {
310 HRESULT Start();
311
312 HRESULT Stop();
313 }
314
315 /************************************************************
316 * interface IBDA_NullTransform
317 */
318
319 [
320 object,
321 uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0),
322 pointer_default(unique)
323 ]
324 interface IBDA_NullTransform : IUnknown
325 {
326 HRESULT Start();
327
328 HRESULT Stop();
329 }
330
331 /************************************************************
332 * interface IBDA_FrequencyFilter
333 */
334
335 [
336 object,
337 uuid(71985F47-1CA1-11d3-9CC8-00C04F7971E0),
338 pointer_default(unique)
339 ]
340 interface IBDA_FrequencyFilter : IUnknown
341 {
342 HRESULT put_Autotune(
343 [in] ULONG ulTransponder);
344
345 HRESULT get_Autotune(
346 [in, out] ULONG * pulTransponder);
347
348 HRESULT put_Frequency(
349 [in] ULONG ulFrequency);
350
351 HRESULT get_Frequency(
352 [in, out] ULONG * pulFrequency);
353
354 HRESULT put_Polarity(
355 [in] Polarisation Polarity);
356
357 HRESULT get_Polarity(
358 [in, out] Polarisation * pPolarity);
359
360 HRESULT put_Range(
361 [in] ULONG ulRange);
362
363 HRESULT get_Range(
364 [in, out] ULONG * pulRange);
365
366 HRESULT put_Bandwidth(
367 [in] ULONG ulBandwidth);
368
369 HRESULT get_Bandwidth(
370 [in, out] ULONG * pulBandwidth);
371
372 HRESULT put_FrequencyMultiplier(
373 [in] ULONG ulMultiplier);
374
375 HRESULT get_FrequencyMultiplier(
376 [in, out] ULONG * pulMultiplier);
377 }
378
379 /************************************************************
380 * interface IBDA_LNBInfo
381 */
382 [
383 object,
384 uuid(992CF102-49F9-4719-A664-C4F23E2408F4),
385 pointer_default(unique)
386 ]
387 interface IBDA_LNBInfo : IUnknown
388 {
389 HRESULT put_LocalOscilatorFrequencyLowBand(
390 [in] ULONG ulLOFLow);
391
392 HRESULT get_LocalOscilatorFrequencyLowBand(
393 [in, out] ULONG * pulLOFLow);
394
395 HRESULT put_LocalOscilatorFrequencyHighBand(
396 [in] ULONG ulLOFHigh);
397
398 HRESULT get_LocalOscilatorFrequencyHighBand(
399 [in, out] ULONG * pulLOFHigh);
400
401 HRESULT put_HighLowSwitchFrequency(
402 [in] ULONG ulSwitchFrequency);
403
404 HRESULT get_HighLowSwitchFrequency(
405 [in, out] ULONG * pulSwitchFrequency);
406 }
407
408 /************************************************************
409 * interface IBDA_AutoDemodulate
410 */
411
412 [
413 object,
414 uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0),
415 pointer_default(unique)
416 ]
417 interface IBDA_AutoDemodulate : IUnknown
418 {
419 HRESULT put_AutoDemodulate();
420 }
421
422 /************************************************************
423 * interface IBDA_DigitalDemodulator
424 */
425
426 [
427 object,
428 uuid(EF30F379-985B-4d10-B640-A79D5E04E1E0),
429 pointer_default(unique)
430 ]
431 interface IBDA_DigitalDemodulator : IUnknown
432 {
433 HRESULT put_ModulationType(
434 [in] ModulationType * pModulationType);
435
436 HRESULT get_ModulationType(
437 [in, out] ModulationType * pModulationType);
438
439 HRESULT put_InnerFECMethod(
440 [in] FECMethod * pFECMethod);
441
442 HRESULT get_InnerFECMethod(
443 [in, out] FECMethod * pFECMethod);
444
445 HRESULT put_InnerFECRate(
446 [in] BinaryConvolutionCodeRate * pFECRate);
447
448 HRESULT get_InnerFECRate(
449 [in, out] BinaryConvolutionCodeRate * pFECRate);
450
451 HRESULT put_OuterFECMethod(
452 [in] FECMethod * pFECMethod);
453
454 HRESULT get_OuterFECMethod(
455 [in, out] FECMethod * pFECMethod);
456
457 HRESULT put_OuterFECRate(
458 [in] BinaryConvolutionCodeRate * pFECRate);
459
460 HRESULT get_OuterFECRate(
461 [in, out] BinaryConvolutionCodeRate * pFECRate);
462
463 HRESULT put_SymbolRate(
464 [in] ULONG * pSymbolRate);
465
466 HRESULT get_SymbolRate(
467 [in, out] ULONG * pSymbolRate);
468
469 HRESULT put_SpectralInversion(
470 [in] SpectralInversion * pSpectralInversion);
471
472 HRESULT get_SpectralInversion(
473 [in, out] SpectralInversion * pSpectralInversion);
474 }
475
476 typedef enum
477 {
478 KSPROPERTY_IPSINK_MULTICASTLIST,
479 KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION,
480 KSPROPERTY_IPSINK_ADAPTER_ADDRESS
481 }KSPROPERTY_IPSINK;
482
483 /************************************************************
484 * interface IBDA_IPSinkControl
485 */
486
487 [
488 object,
489 uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2),
490 pointer_default(unique),
491 ]
492 interface IBDA_IPSinkControl : IUnknown
493 {
494 HRESULT GetMulticastList(
495 [in, out] unsigned long *pulcbSize,
496 [in, out] BYTE **pbBuffer);
497
498 HRESULT GetAdapterIPAddress(
499 [in, out] unsigned long *pulcbSize,
500 [in, out] BYTE ** pbBuffer);
501
502 }
503
504 /************************************************************
505 * interface IBDA_IPSinkInfo
506 */
507 [
508 object,
509 uuid(A750108F-492E-4d51-95F7-649B23FF7AD7),
510 pointer_default(unique)
511 ]
512 interface IBDA_IPSinkInfo : IUnknown
513 {
514 HRESULT get_MulticastList(
515 [in, out] ULONG * pulcbAddresses,
516 [out] BYTE **ppbAddressList);
517
518 HRESULT get_AdapterIPAddress(
519 [out] BSTR *pbstrBuffer);
520
521 HRESULT get_AdapterDescription(
522 [out] BSTR *pbstrBuffer);
523 }
524
525 /************************************************************
526 * interface IEnumPIDMap
527 */
528
529 [
530 object,
531 uuid(afb6c2a2-2c41-11d3-8a60-0000f81e0e4a),
532 pointer_default(unique)
533 ]
534 interface IEnumPIDMap : IUnknown
535 {
536 HRESULT Next(
537 [in] ULONG cRequest,
538 [in, out] PID_MAP * pPIDMap,
539 [out] ULONG * pcReceived);
540
541 HRESULT Skip(
542 [in] ULONG cRecords);
543
544 HRESULT Reset();
545
546 HRESULT Clone(
547 [out] IEnumPIDMap ** ppIEnumPIDMap);
548 } ;
549
550 /************************************************************
551 * interface IMPEG2PIDMap
552 */
553
554 [
555 object,
556 uuid(afb6c2a1-2c41-11d3-8a60-0000f81e0e4a),
557 pointer_default(unique)
558 ]
559 interface IMPEG2PIDMap : IUnknown
560 {
561 HRESULT MapPID(
562 [in] ULONG culPID,
563 [in] ULONG * pulPID,
564 [in] MEDIA_SAMPLE_CONTENT MediaSampleContent);
565
566 HRESULT UnmapPID(
567 [in] ULONG culPID,
568 [in] ULONG * pulPID);
569
570 HRESULT EnumPIDMap(
571 [out] IEnumPIDMap ** pIEnumPIDMap);
572 } ;
573
574 /************************************************************
575 * interface IFrequencyMap
576 */
577
578 [
579 object,
580 uuid(06FB45C1-693C-4ea7-B79F-7A6A54D8DEF2),
581 pointer_default(unique),
582 ]
583
584 interface IFrequencyMap : IUnknown
585 {
586 HRESULT get_FrequencyMapping(
587 [out] ULONG* ulCount,
588 [out] ULONG** ppulList);
589
590 HRESULT put_FrequencyMapping(
591 [in] ULONG ulCount,
592 [in] ULONG *pList);
593
594 HRESULT get_CountryCode([out] ULONG *pulCountryCode);
595
596 HRESULT put_CountryCode(
597 [in] ULONG ulCountryCode);
598
599 HRESULT get_DefaultFrequencyMapping(
600 [in] ULONG ulCountryCode,
601 [out] ULONG* pulCount,
602 [out] ULONG** ppulList);
603
604 HRESULT get_CountryCodeList(
605 [out] ULONG* pulCount,
606 [out] ULONG** ppulList);
607 };