• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 #ifndef _BDATYPES_
6 #define _BDATYPES_ 1
7 
8 #include <winapifamily.h>
9 
10 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
11 
12 #define BDA_PLP_ID_NOT_SET -1
13 
14 #define MIN_DIMENSION 1
15 
16 typedef LONG PBDARESULT;
17 
18 typedef
19 #ifdef __WIDL__
20   [v1_enum]
21 #endif
22   enum BDA_EVENT_ID {
23   BDA_EVENT_SIGNAL_LOSS = 0,
24   BDA_EVENT_SIGNAL_LOCK,
25   BDA_EVENT_DATA_START,
26   BDA_EVENT_DATA_STOP,
27   BDA_EVENT_CHANNEL_ACQUIRED,
28   BDA_EVENT_CHANNEL_LOST,
29   BDA_EVENT_CHANNEL_SOURCE_CHANGED,
30   BDA_EVENT_CHANNEL_ACTIVATED,
31   BDA_EVENT_CHANNEL_DEACTIVATED,
32   BDA_EVENT_SUBCHANNEL_ACQUIRED,
33   BDA_EVENT_SUBCHANNEL_LOST,
34   BDA_EVENT_SUBCHANNEL_SOURCE_CHANGED,
35   BDA_EVENT_SUBCHANNEL_ACTIVATED,
36   BDA_EVENT_SUBCHANNEL_DEACTIVATED,
37   BDA_EVENT_ACCESS_GRANTED,
38   BDA_EVENT_ACCESS_DENIED,
39   BDA_EVENT_OFFER_EXTENDED,
40   BDA_EVENT_PURCHASE_COMPLETED,
41   BDA_EVENT_SMART_CARD_INSERTED,
42   BDA_EVENT_SMART_CARD_REMOVED
43 } BDA_EVENT_ID, *PBDA_EVENT_ID;
44 
45 typedef
46 #ifdef __WIDL__
47   [v1_enum]
48 #endif
49   enum BDA_MULTICAST_MODE {
50   BDA_PROMISCUOUS_MULTICAST = 0,
51   BDA_FILTERED_MULTICAST,
52   BDA_NO_MULTICAST
53 } BDA_MULTICAST_MODE, *PBDA_MULTICAST_MODE;
54 
55 typedef
56 #ifdef __WIDL__
57   [v1_enum]
58 #endif
59   enum BDA_SIGNAL_STATE {
60   BDA_SIGNAL_UNAVAILABLE = 0,
61   BDA_SIGNAL_INACTIVE,
62   BDA_SIGNAL_ACTIVE
63 } BDA_SIGNAL_STATE, *PBDA_SIGNAL_STATE;
64 
65 typedef
66 #ifdef __WIDL__
67   [v1_enum]
68 #endif
69   enum BDA_CHANGE_STATE {
70   BDA_CHANGES_COMPLETE = 0,
71   BDA_CHANGES_PENDING
72 } BDA_CHANGE_STATE, *PBDA_CHANGE_STATE;
73 
74 typedef
75 #ifdef __WIDL__
76   [v1_enum]
77 #endif
78   enum MEDIA_SAMPLE_CONTENT {
79   MEDIA_TRANSPORT_PACKET,
80   MEDIA_ELEMENTARY_STREAM,
81   MEDIA_MPEG2_PSI,
82   MEDIA_TRANSPORT_PAYLOAD
83 } MEDIA_SAMPLE_CONTENT;
84 
85 typedef
86 #ifdef __WIDL__
87   [v1_enum]
88 #endif
89   enum ISDBCAS_REQUEST_ID {
90   ISDBCAS_REQUEST_ID_EMG = 0x38,
91   ISDBCAS_REQUEST_ID_EMD = 0x3a,
92 } ISDBCAS_REQUEST_ID;
93 
94 typedef
95 #ifdef __WIDL__
96   [v1_enum]
97 #endif
98   enum MUX_PID_TYPE {
99   PID_OTHER = -1,
100   PID_ELEMENTARY_STREAM,
101   PID_MPEG2_SECTION_PSI_SI
102 } MUX_PID_TYPE;
103 
104 typedef
105 #ifdef __WIDL__
106   [v1_enum]
107 #endif
108   enum DVBSystemType {
109   DVB_Cable,
110   DVB_Terrestrial,
111   DVB_Satellite,
112   ISDB_Terrestrial,
113   ISDB_Satellite
114 } DVBSystemType;
115 
116 typedef
117 #ifdef __WIDL__
118   [v1_enum]
119 #endif
120   enum BDA_Channel {
121   BDA_UNDEFINED_CHANNEL = -1
122 } BDA_Channel;
123 
124 typedef
125 #ifdef __WIDL__
126   [v1_enum]
127 #endif
128   enum ComponentCategory {
129   CategoryNotSet = -1,
130   CategoryOther = 0,
131   CategoryVideo,
132   CategoryAudio,
133   CategoryText,
134   CategorySubtitles,
135   CategoryCaptions,
136   CategorySuperimpose,
137   CategoryData,
138   CATEGORY_COUNT
139 } ComponentCategory;
140 
141 typedef
142 #ifdef __WIDL__
143   [v1_enum]
144 #endif
145   enum ComponentStatus {
146   StatusActive,
147   StatusInactive,
148   StatusUnavailable
149 } ComponentStatus;
150 
151 typedef
152 #ifdef __WIDL__
153   [v1_enum]
154 #endif
155   enum MPEG2StreamType {
156   BDA_UNITIALIZED_MPEG2STREAMTYPE = -1,
157   Reserved1 = 0x00,
158   ISO_IEC_11172_2_VIDEO = 0x01,
159   ISO_IEC_13818_2_VIDEO = 0x02,
160   ISO_IEC_11172_3_AUDIO = 0x03,
161   ISO_IEC_13818_3_AUDIO = 0x04,
162   ISO_IEC_13818_1_PRIVATE_SECTION = 0x05,
163   ISO_IEC_13818_1_PES = 0x06,
164   ISO_IEC_13522_MHEG = 0x07,
165   ANNEX_A_DSM_CC = 0x08,
166   ITU_T_REC_H_222_1 = 0x09,
167   ISO_IEC_13818_6_TYPE_A = 0x0a,
168   ISO_IEC_13818_6_TYPE_B = 0x0b,
169   ISO_IEC_13818_6_TYPE_C = 0x0c,
170   ISO_IEC_13818_6_TYPE_D = 0x0d,
171   ISO_IEC_13818_1_AUXILIARY = 0x0e,
172   ISO_IEC_13818_7_AUDIO = 0x0f,
173   ISO_IEC_14496_2_VISUAL = 0x10,
174   ISO_IEC_14496_3_AUDIO = 0x11,
175   ISO_IEC_14496_1_IN_PES = 0x12,
176   ISO_IEC_14496_1_IN_SECTION = 0x13,
177   ISO_IEC_13818_6_DOWNLOAD = 0x14,
178   METADATA_IN_PES = 0x15,
179   METADATA_IN_SECTION = 0x16,
180   METADATA_IN_DATA_CAROUSEL = 0x17,
181   METADATA_IN_OBJECT_CAROUSEL = 0x18,
182   METADATA_IN_DOWNLOAD_PROTOCOL = 0x19,
183   IRPM_STREAMM = 0x1a,
184   ITU_T_H264 = 0x1b,
185   ISO_IEC_13818_1_RESERVED = 0x1c,
186   USER_PRIVATE = 0x10,
187   ISO_IEC_USER_PRIVATE = 0x80,
188   DOLBY_AC3_AUDIO = 0x81,
189   DOLBY_DIGITAL_PLUS_AUDIO_ATSC = 0x87
190 } MPEG2StreamType;
191 
192 typedef
193 #ifdef __WIDL__
194   [v1_enum]
195 #endif
196   enum ATSCComponentTypeFlags {
197   ATSCCT_AC3 = 0x1
198 } ATSCComponentTypeFlags;
199 
200 typedef
201 #ifdef __WIDL__
202   [v1_enum]
203 #endif
204   enum BinaryConvolutionCodeRate {
205   BDA_BCC_RATE_NOT_SET = -1,
206   BDA_BCC_RATE_NOT_DEFINED = 0,
207   BDA_BCC_RATE_1_2 = 1,
208   BDA_BCC_RATE_2_3,
209   BDA_BCC_RATE_3_4,
210   BDA_BCC_RATE_3_5,
211   BDA_BCC_RATE_4_5,
212   BDA_BCC_RATE_5_6,
213   BDA_BCC_RATE_5_11,
214   BDA_BCC_RATE_7_8,
215   BDA_BCC_RATE_1_4,
216   BDA_BCC_RATE_1_3,
217   BDA_BCC_RATE_2_5,
218   BDA_BCC_RATE_6_7,
219   BDA_BCC_RATE_8_9,
220   BDA_BCC_RATE_9_10,
221   BDA_BCC_RATE_MAX
222 } BinaryConvolutionCodeRate;
223 
224 typedef
225 #ifdef __WIDL__
226   [v1_enum]
227 #endif
228   enum FECMethod {
229   BDA_FEC_METHOD_NOT_SET = -1,
230   BDA_FEC_METHOD_NOT_DEFINED = 0,
231   BDA_FEC_VITERBI = 1,
232   BDA_FEC_RS_204_188,
233   BDA_FEC_LDPC,
234   BDA_FEC_BCH,
235   BDA_FEC_RS_147_130,
236   BDA_FEC_MAX
237 } FECMethod;
238 
239 typedef
240 #ifdef __WIDL__
241   [v1_enum]
242 #endif
243   enum ModulationType {
244   BDA_MOD_NOT_SET = -1,
245   BDA_MOD_NOT_DEFINED = 0,
246   BDA_MOD_16QAM = 1,
247   BDA_MOD_32QAM,
248   BDA_MOD_64QAM,
249   BDA_MOD_80QAM,
250   BDA_MOD_96QAM,
251   BDA_MOD_112QAM,
252   BDA_MOD_128QAM,
253   BDA_MOD_160QAM,
254   BDA_MOD_192QAM,
255   BDA_MOD_224QAM,
256   BDA_MOD_256QAM,
257   BDA_MOD_320QAM,
258   BDA_MOD_384QAM,
259   BDA_MOD_448QAM,
260   BDA_MOD_512QAM,
261   BDA_MOD_640QAM,
262   BDA_MOD_768QAM,
263   BDA_MOD_896QAM,
264   BDA_MOD_1024QAM,
265   BDA_MOD_QPSK,
266   BDA_MOD_BPSK,
267   BDA_MOD_OQPSK,
268   BDA_MOD_8VSB,
269   BDA_MOD_16VSB,
270   BDA_MOD_ANALOG_AMPLITUDE,
271   BDA_MOD_ANALOG_FREQUENCY,
272   BDA_MOD_8PSK,
273   BDA_MOD_RF,
274   BDA_MOD_16APSK,
275   BDA_MOD_32APSK,
276   BDA_MOD_NBC_QPSK,
277   BDA_MOD_NBC_8PSK,
278   BDA_MOD_DIRECTV,
279   BDA_MOD_ISDB_T_TMCC,
280   BDA_MOD_ISDB_S_TMCC,
281   BDA_MOD_MAX
282 } ModulationType;
283 
284 typedef
285 #ifdef __WIDL__
286   [v1_enum]
287 #endif
288   enum tagScanModulationTypes {
289   BDA_SCAN_MOD_16QAM = 0x00000001,
290   BDA_SCAN_MOD_32QAM = 0x00000002,
291   BDA_SCAN_MOD_64QAM = 0x00000004,
292   BDA_SCAN_MOD_80QAM = 0x00000008,
293   BDA_SCAN_MOD_96QAM = 0x00000010,
294   BDA_SCAN_MOD_112QAM = 0x00000020,
295   BDA_SCAN_MOD_128QAM = 0x00000040,
296   BDA_SCAN_MOD_160QAM = 0x00000080,
297   BDA_SCAN_MOD_192QAM = 0x00000100,
298   BDA_SCAN_MOD_224QAM = 0x00000200,
299   BDA_SCAN_MOD_256QAM = 0x00000400,
300   BDA_SCAN_MOD_320QAM = 0x00000800,
301   BDA_SCAN_MOD_384QAM = 0x00001000,
302   BDA_SCAN_MOD_448QAM = 0x00002000,
303   BDA_SCAN_MOD_512QAM = 0x00004000,
304   BDA_SCAN_MOD_640QAM = 0x00008000,
305   BDA_SCAN_MOD_768QAM = 0x00010000,
306   BDA_SCAN_MOD_896QAM = 0x00020000,
307   BDA_SCAN_MOD_1024QAM = 0x00040000,
308   BDA_SCAN_MOD_QPSK = 0x00080000,
309   BDA_SCAN_MOD_BPSK = 0x00100000,
310   BDA_SCAN_MOD_OQPSK = 0x00200000,
311   BDA_SCAN_MOD_8VSB = 0x00400000,
312   BDA_SCAN_MOD_16VSB = 0x00800000,
313   BDA_SCAN_MOD_AM_RADIO = 0x01000000,
314   BDA_SCAN_MOD_FM_RADIO = 0x02000000,
315   BDA_SCAN_MOD_8PSK = 0x04000000,
316   BDA_SCAN_MOD_RF = 0x08000000,
317   ScanModulationTypesMask_MCE_DigitalCable = BDA_MOD_64QAM |
318   BDA_MOD_256QAM,
319   ScanModulationTypesMask_MCE_TerrestrialATSC = BDA_MOD_8VSB,
320   ScanModulationTypesMask_MCE_AnalogTv = BDA_MOD_RF,
321   ScanModulationTypesMask_MCE_All_TV = 0xffffffff,
322   ScanModulationTypesMask_DVBC = BDA_MOD_64QAM | BDA_SCAN_MOD_128QAM |
323   BDA_MOD_256QAM,
324   BDA_SCAN_MOD_16APSK = 0x10000000,
325   BDA_SCAN_MOD_32APSK = 0x20000000,
326 } ScanModulationTypes;
327 
328 typedef
329 #ifdef __WIDL__
330   [v1_enum]
331 #endif
332   enum SpectralInversion {
333   BDA_SPECTRAL_INVERSION_NOT_SET = -1,
334   BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0,
335   BDA_SPECTRAL_INVERSION_AUTOMATIC = 1,
336   BDA_SPECTRAL_INVERSION_NORMAL,
337   BDA_SPECTRAL_INVERSION_INVERTED,
338   BDA_SPECTRAL_INVERSION_MAX
339 } SpectralInversion;
340 
341 typedef
342 #ifdef __WIDL__
343   [v1_enum]
344 #endif
345   enum Polarisation {
346   BDA_POLARISATION_NOT_SET = -1,
347   BDA_POLARISATION_NOT_DEFINED = 0,
348   BDA_POLARISATION_LINEAR_H = 1,
349   BDA_POLARISATION_LINEAR_V,
350   BDA_POLARISATION_CIRCULAR_L,
351   BDA_POLARISATION_CIRCULAR_R,
352   BDA_POLARISATION_MAX
353 } Polarisation;
354 
355 typedef
356 #ifdef __WIDL__
357   [v1_enum]
358 #endif
359   enum LNB_Source {
360   BDA_LNB_SOURCE_NOT_SET = -1,
361   BDA_LNB_SOURCE_NOT_DEFINED = 0,
362   BDA_LNB_SOURCE_A = 1,
363   BDA_LNB_SOURCE_B = 2,
364   BDA_LNB_SOURCE_C = 3,
365   BDA_LNB_SOURCE_D = 4,
366   BDA_LNB_SOURCE_MAX
367 } LNB_Source;
368 
369 typedef
370 #ifdef __WIDL__
371   [v1_enum]
372 #endif
373   enum GuardInterval {
374   BDA_GUARD_NOT_SET = -1,
375   BDA_GUARD_NOT_DEFINED = 0,
376   BDA_GUARD_1_32 = 1,
377   BDA_GUARD_1_16,
378   BDA_GUARD_1_8,
379   BDA_GUARD_1_4,
380   BDA_GUARD_1_128,
381   BDA_GUARD_19_128,
382   BDA_GUARD_19_256,
383   BDA_GUARD_MAX
384 } GuardInterval;
385 
386 typedef
387 #ifdef __WIDL__
388   [v1_enum]
389 #endif
390   enum HierarchyAlpha {
391   BDA_HALPHA_NOT_SET = -1,
392   BDA_HALPHA_NOT_DEFINED = 0,
393   BDA_HALPHA_1 = 1,
394   BDA_HALPHA_2,
395   BDA_HALPHA_4,
396   BDA_HALPHA_MAX
397 } HierarchyAlpha;
398 
399 typedef
400 #ifdef __WIDL__
401   [v1_enum]
402 #endif
403   enum TransmissionMode {
404   BDA_XMIT_MODE_NOT_SET = -1,
405   BDA_XMIT_MODE_NOT_DEFINED = 0,
406   BDA_XMIT_MODE_2K = 1,
407   BDA_XMIT_MODE_8K,
408   BDA_XMIT_MODE_4K,
409   BDA_XMIT_MODE_2K_INTERLEAVED,
410   BDA_XMIT_MODE_4K_INTERLEAVED,
411   BDA_XMIT_MODE_1K,
412   BDA_XMIT_MODE_16K,
413   BDA_XMIT_MODE_32K,
414   BDA_XMIT_MODE_MAX
415 } TransmissionMode;
416 
417 typedef
418 #ifdef __WIDL__
419   [v1_enum]
420 #endif
421   enum RollOff {
422   BDA_ROLL_OFF_NOT_SET = -1,
423   BDA_ROLL_OFF_NOT_DEFINED = 0,
424   BDA_ROLL_OFF_20 = 1,
425   BDA_ROLL_OFF_25,
426   BDA_ROLL_OFF_35,
427   BDA_ROLL_OFF_MAX
428 } RollOff;
429 
430 typedef
431 #ifdef __WIDL__
432   [v1_enum]
433 #endif
434   enum Pilot {
435   BDA_PILOT_NOT_SET = -1,
436   BDA_PILOT_NOT_DEFINED = 0,
437   BDA_PILOT_OFF = 1,
438   BDA_PILOT_ON,
439   BDA_PILOT_MAX
440 } Pilot;
441 
442 typedef
443 #ifdef __WIDL__
444   [v1_enum]
445 #endif
446   enum BDA_Frequency {
447   BDA_FREQUENCY_NOT_SET = -1,
448   BDA_FREQUENCY_NOT_DEFINED = 0
449 } BDA_Frequency;
450 
451 typedef
452 #ifdef __WIDL__
453   [v1_enum]
454 #endif
455   enum BDA_Range {
456   BDA_RANGE_NOT_SET = -1,
457   BDA_RANGE_NOT_DEFINED = 0
458 } BDA_Range;
459 
460 typedef
461 #ifdef __WIDL__
462   [v1_enum]
463 #endif
464   enum BDA_Channel_Bandwidth {
465   BDA_CHAN_BANDWITH_NOT_SET = -1,
466   BDA_CHAN_BANDWITH_NOT_DEFINED = 0
467 } BDA_Channel_Bandwidth;
468 
469 typedef
470 #ifdef __WIDL__
471   [v1_enum]
472 #endif
473   enum BDA_Frequency_Multiplier {
474   BDA_FREQUENCY_MULTIPLIER_NOT_SET = -1,
475   BDA_FREQUENCY_MULTIPLIER_NOT_DEFINED = 0
476 } BDA_Frequency_Multiplier;
477 
478 typedef
479 #ifdef __WIDL__
480   [v1_enum]
481 #endif
482   enum BDA_Comp_Flags {
483   BDACOMP_NOT_DEFINED = 0x00000000,
484   BDACOMP_EXCLUDE_TS_FROM_TR = 0x00000001,
485   BDACOMP_INCLUDE_LOCATOR_IN_TR = 0x00000002,
486   BDACOMP_INCLUDE_COMPONENTS_IN_TR = 0x00000004
487 } BDA_Comp_Flags;
488 
489 typedef
490 #ifdef __WIDL__
491   [v1_enum]
492 #endif
493   enum ApplicationTypeType {
494   SCTE28_ConditionalAccess = 0,
495   SCTE28_POD_Host_Binding_Information,
496   SCTE28_IPService,
497   SCTE28_NetworkInterface_SCTE55_2,
498   SCTE28_NetworkInterface_SCTE55_1,
499   SCTE28_CopyProtection,
500   SCTE28_Diagnostic,
501   SCTE28_Undesignated,
502   SCTE28_Reserved,
503 } ApplicationTypeType;
504 
505 typedef
506 #ifdef __WIDL__
507   [v1_enum]
508 #endif
509   enum BDA_CONDITIONALACCESS_REQUESTTYPE {
510   CONDITIONALACCESS_ACCESS_UNSPECIFIED = 0,
511   CONDITIONALACCESS_ACCESS_NOT_POSSIBLE,
512   CONDITIONALACCESS_ACCESS_POSSIBLE,
513   CONDITIONALACCESS_ACCESS_POSSIBLE_NO_STREAMING_DISRUPTION
514 } BDA_CONDITIONALACCESS_REQUESTTYPE;
515 
516 typedef
517 #ifdef __WIDL__
518   [v1_enum]
519 #endif
520   enum BDA_CONDITIONALACCESS_MMICLOSEREASON {
521   CONDITIONALACCESS_UNSPECIFIED = 0,
522   CONDITIONALACCESS_CLOSED_ITSELF,
523   CONDITIONALACCESS_TUNER_REQUESTED_CLOSE,
524   CONDITIONALACCESS_DIALOG_TIMEOUT,
525   CONDITIONALACCESS_DIALOG_FOCUS_CHANGE,
526   CONDITIONALACCESS_DIALOG_USER_DISMISSED,
527   CONDITIONALACCESS_DIALOG_USER_NOT_AVAILABLE
528 } BDA_CONDITIONALACCESS_MMICLOSEREASON;
529 
530 typedef
531 #ifdef __WIDL__
532   [v1_enum]
533 #endif
534   enum BDA_CONDITIONALACCESS_SESSION_RESULT {
535   CONDITIONALACCESS_SUCCESSFULL = 0,
536   CONDITIONALACCESS_ENDED_NOCHANGE,
537   CONDITIONALACCESS_ABORTED
538 } BDA_CONDITIONALACCESS_SESSION_RESULT;
539 
540 typedef
541 #ifdef __WIDL__
542   [v1_enum]
543 #endif
544   enum BDA_DISCOVERY_STATE {
545   BDA_DISCOVERY_UNSPECIFIED = 0,
546   BDA_DISCOVERY_REQUIRED,
547   BDA_DISCOVERY_COMPLETE
548 } BDA_DISCOVERY_STATE;
549 
550 typedef struct _BDA_TEMPLATE_CONNECTION {
551   ULONG FromNodeType;
552   ULONG FromNodePinType;
553   ULONG ToNodeType;
554   ULONG ToNodePinType;
555 } BDA_TEMPLATE_CONNECTION, *PBDA_TEMPLATE_CONNECTION;
556 
557 typedef struct _BDA_TEMPLATE_PIN_JOINT {
558   ULONG uliTemplateConnection;
559   ULONG ulcInstancesMax;
560 } BDA_TEMPLATE_PIN_JOINT, *PBDA_TEMPLATE_PIN_JOINT;
561 
562 typedef struct tagKS_BDA_FRAME_INFO {
563   ULONG ExtendedHeaderSize;
564   DWORD dwFrameFlags;
565   ULONG ulEvent;
566   ULONG ulChannelNumber;
567   ULONG ulSubchannelNumber;
568   ULONG ulReason;
569 } KS_BDA_FRAME_INFO, *PKS_BDA_FRAME_INFO;
570 
571 typedef struct _BDA_ETHERNET_ADDRESS {
572   BYTE rgbAddress[6];
573 } BDA_ETHERNET_ADDRESS, *PBDA_ETHERNET_ADDRESS;
574 
575 typedef struct _BDA_ETHERNET_ADDRESS_LIST {
576   ULONG ulcAddresses;
577   BDA_ETHERNET_ADDRESS rgAddressl[MIN_DIMENSION];
578 } BDA_ETHERNET_ADDRESS_LIST, *PBDA_ETHERNET_ADDRESS_LIST;
579 
580 typedef struct _BDA_IPv4_ADDRESS {
581   BYTE rgbAddress[4];
582 } BDA_IPv4_ADDRESS, *PBDA_IPv4_ADDRESS;
583 
584 typedef struct _BDA_IPv4_ADDRESS_LIST {
585   ULONG ulcAddresses;
586   BDA_IPv4_ADDRESS rgAddressl[MIN_DIMENSION];
587 } BDA_IPv4_ADDRESS_LIST, *PBDA_IPv4_ADDRESS_LIST;
588 
589 typedef struct _BDA_IPv6_ADDRESS {
590   BYTE rgbAddress[6];
591 } BDA_IPv6_ADDRESS, *PBDA_IPv6_ADDRESS;
592 
593 typedef struct _BDA_IPv6_ADDRESS_LIST {
594   ULONG ulcAddresses;
595   BDA_IPv6_ADDRESS rgAddressl[MIN_DIMENSION];
596 } BDA_IPv6_ADDRESS_LIST, *PBDA_IPv6_ADDRESS_LIST;
597 
598 typedef struct _BDANODE_DESCRIPTOR {
599   ULONG ulBdaNodeType;
600   GUID guidFunction;
601   GUID guidName;
602 } BDANODE_DESCRIPTOR, *PBDANODE_DESCRIPTOR;
603 
604 typedef struct _BDA_TABLE_SECTION {
605   ULONG ulPrimarySectionId;
606   ULONG ulSecondarySectionId;
607   ULONG ulcbSectionLength;
608   ULONG argbSectionData[MIN_DIMENSION];
609 } BDA_TABLE_SECTION, *PBDA_TABLE_SECTION;
610 
611 typedef struct _BDA_DISEQC_SEND {
612   ULONG ulRequestId;
613   ULONG ulPacketLength;
614   BYTE argbPacketData[8];
615 } BDA_DISEQC_SEND, *PBDA_DISEQC_SEND;
616 
617 typedef struct _BDA_DISEQC_RESPONSE {
618   ULONG ulRequestId;
619   ULONG ulPacketLength;
620   BYTE argbPacketData[8];
621 } BDA_DISEQC_RESPONSE, *PBDA_DISEQC_RESPONSE;
622 
623 typedef struct {
624   ULONG ulPID;
625   MEDIA_SAMPLE_CONTENT MediaSampleContent;
626 } PID_MAP;
627 
628 typedef struct _BDA_PID_MAP {
629   MEDIA_SAMPLE_CONTENT MediaSampleContent;
630   ULONG ulcPIDs;
631   ULONG aulPIDs[MIN_DIMENSION];
632 } BDA_PID_MAP, *PBDA_PID_MAP;
633 
634 typedef struct _BDA_PID_UNMAP {
635   ULONG ulcPIDs;
636   ULONG aulPIDs[MIN_DIMENSION];
637 } BDA_PID_UNMAP, *PBDA_PID_UNMAP;
638 
639 typedef struct _BDA_CA_MODULE_UI {
640   ULONG ulFormat;
641   ULONG ulbcDesc;
642   ULONG ulDesc[MIN_DIMENSION];
643 } BDA_CA_MODULE_UI, *PBDA_CA_MODULE_UI;
644 
645 typedef struct _BDA_PROGRAM_PID_LIST {
646   ULONG ulProgramNumber;
647   ULONG ulcPIDs;
648   ULONG ulPID[MIN_DIMENSION];
649 } BDA_PROGRAM_PID_LIST, *PBDA_PROGRAM_PID_LIST;
650 
651 typedef struct _BDA_DRM_DRMSTATUS {
652   PBDARESULT lResult;
653   GUID DRMuuid;
654   ULONG ulDrmUuidListStringSize;
655   GUID argbDrmUuidListString[MIN_DIMENSION];
656 } BDA_DRM_DRMSTATUS, *PBDA_DRM_DRMSTATUS;
657 
658 typedef struct _BDA_WMDRM_STATUS {
659   PBDARESULT lResult;
660   ULONG ulMaxCaptureTokenSize;
661   ULONG uMaxStreamingPid;
662   ULONG ulMaxLicense;
663   ULONG ulMinSecurityLevel;
664   ULONG ulRevInfoSequenceNumber;
665   ULONGLONG ulRevInfoIssuedTime;
666   ULONG ulRevListVersion;
667   ULONG ulRevInfoTTL;
668   ULONG ulState;
669 } BDA_WMDRM_STATUS, *PBDA_WMDRM_STATUS;
670 
671 typedef struct _BDA_WMDRM_KEYINFOLIST {
672   PBDARESULT lResult;
673   ULONG ulKeyuuidBufferLen;
674   GUID argKeyuuidBuffer[MIN_DIMENSION];
675 } BDA_WMDRM_KEYINFOLIST, *PBDA_WMDRM_KEYINFOLIST;
676 
677 typedef struct _BDA_BUFFER {
678   PBDARESULT lResult;
679   ULONG ulBufferSize;
680   BYTE argbBuffer[MIN_DIMENSION];
681 } BDA_BUFFER, *PBDA_BUFFER;
682 
683 typedef struct _BDA_WMDRM_RENEWLICENSE {
684   PBDARESULT lResult;
685   ULONG ulDescrambleStatus;
686   ULONG ulXmrLicenseOutputLength;
687   BYTE argbXmrLicenceOutputBuffer[MIN_DIMENSION];
688 } BDA_WMDRM_RENEWLICENSE, *PBDA_WMDRM_RENEWLICENSE;
689 
690 typedef struct _BDA_WMDRMTUNER_PIDPROTECTION {
691   PBDARESULT lResult;
692   GUID uuidKeyID;
693 } BDA_WMDRMTUNER_PIDPROTECTION, *PBDA_WMDRMTUNER_PIDPROTECTION;
694 
695 typedef struct _BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
696   PBDARESULT lResult;
697   ULONG ulDescrambleStatus;
698   ULONG ulCaptureTokenLength;
699   BYTE argbCaptureTokenBuffer[MIN_DIMENSION];
700 } BDA_WMDRMTUNER_PURCHASEENTITLEMENT, *PBDA_WMDRMTUNER_PURCHASEENTITLEMENT;
701 
702 typedef struct _BDA_TUNER_TUNERSTATE {
703   PBDARESULT lResult;
704   ULONG ulTuneLength;
705   BYTE argbTuneData [MIN_DIMENSION];
706 } BDA_TUNER_TUNERSTATE, *PBDA_TUNER_TUNERSTATE;
707 
708 typedef struct _BDA_TUNER_DIAGNOSTICS {
709   PBDARESULT lResult;
710   ULONG ulSignalLevel;
711   ULONG ulSignalLevelQuality;
712   ULONG ulSignalNoiseRatio;
713 } BDA_TUNER_DIAGNOSTICS, *PBDA_TUNER_DIAGNOSTICS;
714 
715 typedef struct _BDA_STRING {
716   PBDARESULT lResult;
717   ULONG ulStringSize;
718   BYTE argbString[MIN_DIMENSION];
719 } BDA_STRING, *PBDA_STRING;
720 
721 typedef struct _BDA_SCAN_CAPABILTIES {
722   PBDARESULT lResult;
723   UINT64 ul64AnalogStandardsSupported;
724 } BDA_SCAN_CAPABILTIES, *PBDA_SCAN_CAPABILTIES;
725 
726 typedef struct _BDA_SCAN_STATE {
727   PBDARESULT lResult;
728   ULONG ulSignalLock;
729   ULONG ulSecondsLeft;
730   ULONG ulCurrentFrequency;
731 } BDA_SCAN_STATE, *PBDA_SCAN_STATE;
732 
733 typedef struct _BDA_SCAN_START {
734   PBDARESULT lResult;
735   ULONG LowerFrequency;
736   ULONG HigerFrequency;
737 } BDA_SCAN_START, *PBDA_SCAN_START;
738 
739 typedef struct _BDA_GDDS_DATATYPE {
740   PBDARESULT lResult;
741   GUID uuidDataType;
742 } BDA_GDDS_DATATYPE, *P_BDA_GDDS_DATATYPE;
743 
744 typedef struct _BDA_GDDS_DATA {
745   PBDARESULT lResult;
746   ULONG ulDataLength;
747   ULONG ulPercentageProgress;
748   BYTE argbData [MIN_DIMENSION];
749 } BDA_GDDS_DATA, *P_BDA_GDDS_DATA;
750 
751 typedef struct _BDA_USERACTIVITY_INTERVAL {
752   PBDARESULT lResult;
753   ULONG ulActivityInterval;
754 } BDA_USERACTIVITY_INTERVAL, *P_BDA_USERACTIVITY_INTERVAL;
755 
756 typedef struct _BDA_CAS_CHECK_ENTITLEMENTTOKEN {
757   PBDARESULT lResult;
758   ULONG ulDescrambleStatus;
759 } BDA_CAS_CHECK_ENTITLEMENTTOKEN, *PBDA_CAS_CHECK_ENTITLEMENTTOKEN;
760 
761 typedef struct _BDA_CAS_CLOSE_MMIDIALOG {
762   PBDARESULT lResult;
763   ULONG SessionResult;
764 } BDA_CAS_CLOSE_MMIDIALOG, *PBDA_CAS_CLOSE_MMIDIALOG;
765 
766 typedef struct _BDA_CAS_REQUESTTUNERDATA {
767   UCHAR ucRequestPriority;
768   UCHAR ucRequestReason;
769   UCHAR ucRequestConsequences;
770   ULONG ulEstimatedTime;
771 } BDA_CAS_REQUESTTUNERDATA, *PBDA_CAS_REQUESTTUNERDATA;
772 
773 typedef struct _BDA_CAS_OPENMMIDATA {
774   ULONG ulDialogNumber;
775   ULONG ulDialogRequest;
776   GUID uuidDialogType;
777   USHORT usDialogDataLength;
778   BYTE argbDialogData[MIN_DIMENSION];
779 } BDA_CAS_OPENMMIDATA, *PBDA_CAS_OPENMMIDATA;
780 
781 typedef struct _BDA_CAS_CLOSEMMIDATA {
782   ULONG ulDialogNumber;
783 } BDA_CAS_CLOSEMMIDATA, *PBDA_CAS_CLOSEMMIDATA;
784 
785 #pragma pack(push, 1)
786 typedef struct _BDA_ISDBCAS_REQUESTHEADER {
787   BYTE bInstruction;
788   BYTE bReserved[3];
789   ULONG ulDataLength;
790   BYTE argbIsdbCommand[MIN_DIMENSION];
791 } BDA_ISDBCAS_REQUESTHEADER, *PBDA_ISDBCAS_REQUESTHEADER;
792 
793 typedef struct _BDA_ISDBCAS_RESPONSEDATA {
794   PBDARESULT lResult;
795   ULONG ulRequestID;
796   ULONG ulIsdbStatus;
797   ULONG ulIsdbDataSize;
798   BYTE argbIsdbCommandData[MIN_DIMENSION];
799 } BDA_ISDBCAS_RESPONSEDATA, *PBDA_ISDBCAS_RESPONSEDATA;
800 
801 typedef struct _BDA_ISDBCAS_EMG_REQ {
802   BYTE bCLA;
803   BYTE bINS;
804   BYTE bP1;
805   BYTE bP2;
806   BYTE bLC;
807   BYTE bCardId[6];
808   BYTE bProtocol;
809   BYTE bCABroadcasterGroupId;
810   BYTE bMessageControl;
811   BYTE bMessageCode[MIN_DIMENSION];
812 } BDA_ISDBCAS_EMG_REQ, *PBDA_ISDBCAS_EMG_REQ;
813 #pragma pack(pop)
814 
815 #pragma pack(push, 2)
816 typedef struct _BDA_MUX_PIDLISTITEM {
817   USHORT usPIDNumber;
818   USHORT usProgramNumber;
819   MUX_PID_TYPE ePIDType;
820 } BDA_MUX_PIDLISTITEM, *PBDA_MUX_PIDLISTITEM;
821 #pragma pack(pop)
822 
823 #pragma pack(push, 1)
824 typedef struct _BDA_TS_SELECTORINFO {
825   BYTE bTSInfolength;
826   BYTE bReserved[2];
827   GUID guidNetworkType;
828   BYTE bTSIDCount;
829   USHORT usTSID[MIN_DIMENSION];
830 } BDA_TS_SELECTORINFO, *PBDA_TS_SELECTORINFO;
831 
832 typedef struct _BDA_TS_SELECTORINFO_ISDBS_EXT {
833   BYTE bTMCC[48];
834 } BDA_TS_SELECTORINFO_ISDBS_EXT, *PBDA_TS_SELECTORINFO_ISDBS_EXT;
835 #pragma pack(pop)
836 
837 typedef struct _BDA_DVBT2_L1_SIGNALLING_DATA {
838   BYTE L1Pre_TYPE;
839   BYTE L1Pre_BWT_S1_S2;
840   BYTE L1Pre_REPETITION_GUARD_PAPR;
841   BYTE L1Pre_MOD_COD_FEC;
842   BYTE L1Pre_POSTSIZE_INFO_PILOT[5];
843   BYTE L1Pre_TX_ID_AVAIL;
844   BYTE L1Pre_CELL_ID[2];
845   BYTE L1Pre_NETWORK_ID[2];
846   BYTE L1Pre_T2SYSTEM_ID[2];
847   BYTE L1Pre_NUM_T2_FRAMES;
848   BYTE L1Pre_NUM_DATA_REGENFLAG_L1POSTEXT[2];
849   BYTE L1Pre_NUMRF_CURRENTRF_RESERVED[2];
850   BYTE L1Pre_CRC32[4];
851   BYTE L1PostData[MIN_DIMENSION];
852 } BDA_DVBT2_L1_SIGNALLING_DATA, *PBDA_DVBT2_L1_SIGNALLING_DATA;
853 
854 typedef struct _BDA_RATING_PINRESET {
855   BYTE bPinLength;
856   BYTE argbNewPin[MIN_DIMENSION];
857 } BDA_RATING_PINRESET, *PBDA_RATING_PINRESET;
858 
859 typedef struct _MPEG2_TRANSPORT_STRIDE {
860   DWORD dwOffset;
861   DWORD dwPacketLength;
862   DWORD dwStride;
863 } MPEG2_TRANSPORT_STRIDE, *PMPEG2_TRANSPORT_STRIDE;
864 
865 typedef struct _BDA_SIGNAL_TIMEOUTS {
866   ULONG ulCarrierTimeoutMs;
867   ULONG ulScanningTimeoutMs;
868   ULONG ulTuningTimeoutMs;
869 } BDA_SIGNAL_TIMEOUTS, *PBDA_SIGNAL_TIMEOUTS;
870 
871 #endif
872 #endif
873