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