Home | History | Annotate | Download | only in include
      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