00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _BDATYPES_
00019 #define _BDATYPES_ 1
00020
00021 #define MIN_DIMENSION 1
00022
00023 #ifdef __midl
00024 #define V1_ENUM [v1_enum]
00025 #else
00026 #define V1_ENUM
00027 #endif
00028
00029 #define BDA_FREQUENCY_NOT_SET -1
00030 #define BDA_FREQUENCY_NOT_DEFINED 0
00031 #define BDA_RANGE_NOT_SET -1
00032 #define BDA_RANGE_NOT_DEFINED 0
00033 #define BDA_CHAN_BANDWITH_NOT_SET -1
00034 #define BDA_CHAN_BANDWITH_NOT_DEFINED 0
00035 #define BDA_FREQUENCY_MULTIPLIER_NOT_SET -1
00036 #define BDA_FREQUENCY_MULTIPLIER_NOT_DEFINED 0
00037
00038 typedef struct _BDA_TEMPLATE_CONNECTION {
00039 ULONG FromNodeType;
00040 ULONG FromNodePinType;
00041 ULONG ToNodeType;
00042 ULONG ToNodePinType;
00043 } BDA_TEMPLATE_CONNECTION, *PBDA_TEMPLATE_CONNECTION;
00044
00045 typedef struct _BDA_TEMPLATE_PIN_JOINT {
00046 ULONG uliTemplateConnection;
00047 ULONG ulcInstancesMax;
00048 } BDA_TEMPLATE_PIN_JOINT, *PBDA_TEMPLATE_PIN_JOINT;
00049
00050 typedef struct tagKS_BDA_FRAME_INFO {
00051 ULONG ExtendedHeaderSize;
00052 DWORD dwFrameFlags;
00053 ULONG ulEvent;
00054 ULONG ulChannelNumber;
00055 ULONG ulSubchannelNumber;
00056 ULONG ulReason;
00057 } KS_BDA_FRAME_INFO, *PKS_BDA_FRAME_INFO;
00058
00059 typedef enum {
00060 BDA_EVENT_SIGNAL_LOSS = 0,
00061 BDA_EVENT_SIGNAL_LOCK,
00062 BDA_EVENT_DATA_START,
00063 BDA_EVENT_DATA_STOP,
00064 BDA_EVENT_CHANNEL_ACQUIRED,
00065 BDA_EVENT_CHANNEL_LOST,
00066 BDA_EVENT_CHANNEL_SOURCE_CHANGED,
00067 BDA_EVENT_CHANNEL_ACTIVATED,
00068 BDA_EVENT_CHANNEL_DEACTIVATED,
00069 BDA_EVENT_SUBCHANNEL_ACQUIRED,
00070 BDA_EVENT_SUBCHANNEL_LOST,
00071 BDA_EVENT_SUBCHANNEL_SOURCE_CHANGED,
00072 BDA_EVENT_SUBCHANNEL_ACTIVATED,
00073 BDA_EVENT_SUBCHANNEL_DEACTIVATED,
00074 BDA_EVENT_ACCESS_GRANTED,
00075 BDA_EVENT_ACCESS_DENIED,
00076 BDA_EVENT_OFFER_EXTENDED,
00077 BDA_EVENT_PURCHASE_COMPLETED,
00078 BDA_EVENT_SMART_CARD_INSERTED,
00079 BDA_EVENT_SMART_CARD_REMOVED
00080 } BDA_EVENT_ID, *PBDA_EVENT_ID;
00081
00082 typedef struct _BDA_ETHERNET_ADDRESS {
00083 BYTE rgbAddress[6];
00084 } BDA_ETHERNET_ADDRESS, *PBDA_ETHERNET_ADDRESS;
00085
00086 typedef struct _BDA_ETHERNET_ADDRESS_LIST {
00087 ULONG ulcAddresses;
00088 BDA_ETHERNET_ADDRESS rgAddressl[MIN_DIMENSION];
00089 } BDA_ETHERNET_ADDRESS_LIST, *PBDA_ETHERNET_ADDRESS_LIST;
00090
00091 typedef enum {
00092 BDA_PROMISCUOUS_MULTICAST = 0,
00093 BDA_FILTERED_MULTICAST,
00094 BDA_NO_MULTICAST
00095 } BDA_MULTICAST_MODE, *PBDA_MULTICAST_MODE;
00096
00097 typedef struct _BDA_IPv4_ADDRESS {
00098 BYTE rgbAddress[4];
00099 } BDA_IPv4_ADDRESS, *PBDA_IPv4_ADDRESS;
00100
00101 typedef struct _BDA_IPv4_ADDRESS_LIST {
00102 ULONG ulcAddresses;
00103 BDA_IPv4_ADDRESS rgAddressl[MIN_DIMENSION];
00104 } BDA_IPv4_ADDRESS_LIST, *PBDA_IPv4_ADDRESS_LIST;
00105
00106 typedef struct _BDA_IPv6_ADDRESS {
00107 BYTE rgbAddress[6];
00108 } BDA_IPv6_ADDRESS, *PBDA_IPv6_ADDRESS;
00109
00110 typedef struct _BDA_IPv6_ADDRESS_LIST {
00111 ULONG ulcAddresses;
00112 BDA_IPv6_ADDRESS rgAddressl[MIN_DIMENSION];
00113 } BDA_IPv6_ADDRESS_LIST, *PBDA_IPv6_ADDRESS_LIST;
00114
00115 typedef enum {
00116 BDA_CHANGES_COMPLETE = 0,
00117 BDA_CHANGES_PENDING
00118 } BDA_CHANGE_STATE, *PBDA_CHANGE_STATE;
00119
00120 typedef enum {
00121 BDA_SIGNAL_UNAVAILABLE = 0,
00122 BDA_SIGNAL_INACTIVE,
00123 BDA_SIGNAL_ACTIVE
00124 } BDA_SIGNAL_STATE, *PBDA_SIGNAL_STATE;
00125
00126 typedef struct _BDANODE_DESCRIPTOR {
00127 ULONG ulBdaNodeType;
00128 GUID guidFunction;
00129 GUID guidName;
00130 } BDANODE_DESCRIPTOR, *PBDANODE_DESCRIPTOR;
00131
00132 typedef enum {
00133 MEDIA_TRANSPORT_PACKET,
00134 MEDIA_ELEMENTARY_STREAM,
00135 MEDIA_MPEG2_PSI,
00136 MEDIA_TRANSPORT_PAYLOAD
00137 } MEDIA_SAMPLE_CONTENT;
00138
00139 typedef struct _BDA_TABLE_SECTION {
00140 ULONG ulPrimarySectionId;
00141 ULONG ulSecondarySectionId;
00142 ULONG ulcbSectionLength;
00143 ULONG argbSectionData[MIN_DIMENSION];
00144 } BDA_TABLE_SECTION, *PBDA_TABLE_SECTION;
00145
00146 typedef struct {
00147 ULONG ulPID;
00148 MEDIA_SAMPLE_CONTENT MediaSampleContent ;
00149 } PID_MAP;
00150
00151 typedef struct _BDA_PID_MAP {
00152 MEDIA_SAMPLE_CONTENT MediaSampleContent;
00153 ULONG ulcPIDs;
00154 ULONG aulPIDs[MIN_DIMENSION];
00155 } BDA_PID_MAP, *PBDA_PID_MAP;
00156
00157 typedef struct _BDA_PID_UNMAP {
00158 ULONG ulcPIDs;
00159 ULONG aulPIDs[MIN_DIMENSION];
00160 } BDA_PID_UNMAP, *PBDA_PID_UNMAP;
00161
00162 typedef enum DVBSystemType {
00163 DVB_Cable,
00164 DVB_Terrestrial,
00165 DVB_Satellite,
00166 } DVBSystemType;
00167
00168 typedef struct _BDA_CA_MODULE_UI {
00169 ULONG ulFormat;
00170 ULONG ulbcDesc;
00171 ULONG ulDesc[MIN_DIMENSION];
00172 } BDA_CA_MODULE_UI, *PBDA_CA_MODULE_UI;
00173
00174 typedef struct _BDA_PROGRAM_PID_LIST {
00175 ULONG ulProgramNumber;
00176 ULONG ulcPIDs;
00177 ULONG ulPID[MIN_DIMENSION];
00178 } BDA_PROGRAM_PID_LIST, *PBDA_PROGRAM_PID_LIST;
00179
00180 V1_ENUM enum {
00181 BDA_UNDEFINED_CHANNEL = -1,
00182 };
00183
00184 typedef V1_ENUM enum ComponentCategory {
00185 CategoryNotSet = -1,
00186 CategoryOther = 0,
00187 CategoryVideo,
00188 CategoryAudio,
00189 CategoryText,
00190 CategoryData,
00191 } ComponentCategory;
00192
00193 typedef enum ComponentStatus {
00194 StatusActive,
00195 StatusInactive,
00196 StatusUnavailable,
00197 } ComponentStatus;
00198
00199 typedef enum ATSCComponentTypeFlags {
00200 ATSCCT_AC3 = 0x00000001,
00201 } ATSCComponentTypeFlags;
00202
00203 typedef V1_ENUM enum MPEG2StreamType {
00204 BDA_UNITIALIZED_MPEG2STREAMTYPE = -1,
00205 Reserved1 = 0x0,
00206 ISO_IEC_11172_2_VIDEO = Reserved1 + 1,
00207 ISO_IEC_13818_2_VIDEO = ISO_IEC_11172_2_VIDEO + 1,
00208 ISO_IEC_11172_3_AUDIO = ISO_IEC_13818_2_VIDEO + 1,
00209 ISO_IEC_13818_3_AUDIO = ISO_IEC_11172_3_AUDIO + 1,
00210 ISO_IEC_13818_1_PRIVATE_SECTION = ISO_IEC_13818_3_AUDIO + 1,
00211 ISO_IEC_13818_1_PES = ISO_IEC_13818_1_PRIVATE_SECTION + 1,
00212 ISO_IEC_13522_MHEG = ISO_IEC_13818_1_PES + 1,
00213 ANNEX_A_DSM_CC = ISO_IEC_13522_MHEG + 1,
00214 ITU_T_REC_H_222_1 = ANNEX_A_DSM_CC + 1,
00215 ISO_IEC_13818_6_TYPE_A = ITU_T_REC_H_222_1 + 1,
00216 ISO_IEC_13818_6_TYPE_B = ISO_IEC_13818_6_TYPE_A + 1,
00217 ISO_IEC_13818_6_TYPE_C = ISO_IEC_13818_6_TYPE_B + 1,
00218 ISO_IEC_13818_6_TYPE_D = ISO_IEC_13818_6_TYPE_C + 1,
00219 ISO_IEC_13818_1_AUXILIARY = ISO_IEC_13818_6_TYPE_D + 1,
00220 ISO_IEC_13818_1_RESERVED = ISO_IEC_13818_1_AUXILIARY + 1,
00221 USER_PRIVATE = ISO_IEC_13818_1_RESERVED + 1
00222 } MPEG2StreamType;
00223
00224 typedef struct _MPEG2_TRANSPORT_STRIDE {
00225 DWORD dwOffset;
00226 DWORD dwPacketLength;
00227 DWORD dwStride;
00228 } MPEG2_TRANSPORT_STRIDE, *PMPEG2_TRANSPORT_STRIDE;
00229
00230 typedef V1_ENUM enum BinaryConvolutionCodeRate {
00231 BDA_BCC_RATE_NOT_SET = -1,
00232 BDA_BCC_RATE_NOT_DEFINED = 0,
00233 BDA_BCC_RATE_1_2 = 1,
00234 BDA_BCC_RATE_2_3,
00235 BDA_BCC_RATE_3_4,
00236 BDA_BCC_RATE_3_5,
00237 BDA_BCC_RATE_4_5,
00238 BDA_BCC_RATE_5_6,
00239 BDA_BCC_RATE_5_11,
00240 BDA_BCC_RATE_7_8,
00241 BDA_BCC_RATE_MAX,
00242 } BinaryConvolutionCodeRate;
00243
00244 typedef V1_ENUM enum SpectralInversion {
00245 BDA_SPECTRAL_INVERSION_NOT_SET = -1,
00246 BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0,
00247 BDA_SPECTRAL_INVERSION_AUTOMATIC = 1,
00248 BDA_SPECTRAL_INVERSION_NORMAL,
00249 BDA_SPECTRAL_INVERSION_INVERTED,
00250 BDA_SPECTRAL_INVERSION_MAX
00251 } SpectralInversion;
00252
00253 typedef V1_ENUM enum FECMethod {
00254 BDA_FEC_METHOD_NOT_SET = -1,
00255 BDA_FEC_METHOD_NOT_DEFINED = 0,
00256 BDA_FEC_VITERBI = 1,
00257 BDA_FEC_RS_204_188,
00258 BDA_FEC_MAX,
00259 } FECMethod;
00260
00261 typedef V1_ENUM enum ModulationType {
00262 BDA_MOD_NOT_SET = -1,
00263 BDA_MOD_NOT_DEFINED = 0,
00264 BDA_MOD_16QAM = 1,
00265 BDA_MOD_32QAM,
00266 BDA_MOD_64QAM,
00267 BDA_MOD_80QAM,
00268 BDA_MOD_96QAM,
00269 BDA_MOD_112QAM,
00270 BDA_MOD_128QAM,
00271 BDA_MOD_160QAM,
00272 BDA_MOD_192QAM,
00273 BDA_MOD_224QAM,
00274 BDA_MOD_256QAM,
00275 BDA_MOD_320QAM,
00276 BDA_MOD_384QAM,
00277 BDA_MOD_448QAM,
00278 BDA_MOD_512QAM,
00279 BDA_MOD_640QAM,
00280 BDA_MOD_768QAM,
00281 BDA_MOD_896QAM,
00282 BDA_MOD_1024QAM,
00283 BDA_MOD_QPSK,
00284 BDA_MOD_BPSK,
00285 BDA_MOD_OQPSK,
00286 BDA_MOD_8VSB,
00287 BDA_MOD_16VSB,
00288 BDA_MOD_ANALOG_AMPLITUDE,
00289 BDA_MOD_ANALOG_FREQUENCY,
00290 BDA_MOD_MAX,
00291 } ModulationType;
00292
00293 typedef V1_ENUM enum TransmissionMode {
00294 BDA_XMIT_MODE_NOT_SET = -1,
00295 BDA_XMIT_MODE_NOT_DEFINED = 0,
00296 BDA_XMIT_MODE_2K = 1,
00297 BDA_XMIT_MODE_8K,
00298 BDA_XMIT_MODE_MAX,
00299 } TransmissionMode;
00300
00301 typedef V1_ENUM enum Polarisation {
00302 BDA_POLARISATION_NOT_SET = -1,
00303 BDA_POLARISATION_NOT_DEFINED = 0,
00304 BDA_POLARISATION_LINEAR_H = 1,
00305 BDA_POLARISATION_LINEAR_V,
00306 BDA_POLARISATION_CIRCULAR_L,
00307 BDA_POLARISATION_CIRCULAR_R,
00308 BDA_POLARISATION_MAX,
00309 } Polarisation;
00310
00311 typedef V1_ENUM enum GuardInterval {
00312 BDA_GUARD_NOT_SET = -1,
00313 BDA_GUARD_NOT_DEFINED = 0,
00314 BDA_GUARD_1_32 = 1,
00315 BDA_GUARD_1_16,
00316 BDA_GUARD_1_8,
00317 BDA_GUARD_1_4,
00318 BDA_GUARD_MAX,
00319 } GuardInterval;
00320
00321 typedef V1_ENUM enum HierarchyAlpha {
00322 BDA_HALPHA_NOT_SET = -1,
00323 BDA_HALPHA_NOT_DEFINED = 0,
00324 BDA_HALPHA_1 = 1,
00325 BDA_HALPHA_2,
00326 BDA_HALPHA_4,
00327 BDA_HALPHA_MAX,
00328 } HierarchyAlpha;
00329
00330 #endif