[PSDK]
[reactos.git] / reactos / include / dxsdk / bdamedia.h
1 #ifndef BDAMEDIA_H__
2 #define BDAMEDIA_H__
3
4 typedef struct _KSP_BDA_NODE_PIN {
5 KSPROPERTY Property;
6 ULONG ulNodeType;
7 ULONG ulInputPinId;
8 ULONG ulOutputPinId;
9 } KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN;
10
11 typedef struct _KSM_BDA_PIN
12 {
13 KSMETHOD Method;
14 union
15 {
16 ULONG PinId;
17 ULONG PinType;
18 };
19 ULONG Reserved;
20 } KSM_BDA_PIN, * PKSM_BDA_PIN;
21
22 typedef struct _KSM_BDA_PIN_PAIR
23 {
24 KSMETHOD Method;
25 union
26 {
27 ULONG InputPinId;
28 ULONG InputPinType;
29 };
30 union
31 {
32 ULONG OutputPinId;
33 ULONG OutputPinType;
34 };
35 } KSM_BDA_PIN_PAIR, * PKSM_BDA_PIN_PAIR;
36
37 /* ------------------------------------------------------------
38 BDA Topology Property Set {A14EE835-0A23-11d3-9CC7-00C04F7971E0}
39 */
40
41 #define STATIC_KSPROPSETID_BdaTopology \
42 0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
43 DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology);
44 #define KSPROPSETID_BdaTopology DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology)
45
46 typedef enum {
47 KSPROPERTY_BDA_NODE_TYPES,
48 KSPROPERTY_BDA_PIN_TYPES,
49 KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,
50 KSPROPERTY_BDA_NODE_METHODS,
51 KSPROPERTY_BDA_NODE_PROPERTIES,
52 KSPROPERTY_BDA_NODE_EVENTS,
53 KSPROPERTY_BDA_CONTROLLING_PIN_ID,
54 KSPROPERTY_BDA_NODE_DESCRIPTORS
55 }KSPROPERTY_BDA_TOPOLOGY;
56
57 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)\
58 DEFINE_KSPROPERTY_ITEM(\
59 KSPROPERTY_BDA_NODE_TYPES,\
60 (GetHandler),\
61 sizeof(KSPROPERTY),\
62 0,\
63 FALSE,\
64 NULL, 0, NULL, NULL, 0)
65
66 #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)\
67 DEFINE_KSPROPERTY_ITEM(\
68 KSPROPERTY_BDA_PIN_TYPES,\
69 (GetHandler),\
70 sizeof(KSPROPERTY),\
71 0,\
72 FALSE,\
73 NULL, 0, NULL, NULL, 0)
74
75 #define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler)\
76 DEFINE_KSPROPERTY_ITEM(\
77 KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,\
78 (GetHandler),\
79 sizeof(KSPROPERTY),\
80 sizeof( BDA_TEMPLATE_CONNECTION),\
81 FALSE,\
82 NULL, 0, NULL, NULL, 0)
83
84 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)\
85 DEFINE_KSPROPERTY_ITEM(\
86 KSPROPERTY_BDA_NODE_METHODS,\
87 (GetHandler),\
88 sizeof(KSP_NODE),\
89 0,\
90 FALSE,\
91 NULL, 0, NULL, NULL, 0)
92
93 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)\
94 DEFINE_KSPROPERTY_ITEM(\
95 KSPROPERTY_BDA_NODE_PROPERTIES,\
96 (GetHandler),\
97 sizeof(KSP_NODE),\
98 0,\
99 FALSE,\
100 NULL, 0, NULL, NULL, 0)
101
102 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)\
103 DEFINE_KSPROPERTY_ITEM(\
104 KSPROPERTY_BDA_NODE_EVENTS,\
105 (GetHandler),\
106 sizeof(KSP_NODE),\
107 0,\
108 FALSE,\
109 NULL, 0, NULL, NULL, 0)
110
111 #define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)\
112 DEFINE_KSPROPERTY_ITEM(\
113 KSPROPERTY_BDA_CONTROLLING_PIN_ID,\
114 (GetHandler),\
115 sizeof(KSP_BDA_NODE_PIN),\
116 sizeof( ULONG),\
117 FALSE,\
118 NULL, 0, NULL, NULL, 0)
119
120 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)\
121 DEFINE_KSPROPERTY_ITEM(\
122 KSPROPERTY_BDA_NODE_DESCRIPTORS,\
123 (GetHandler),\
124 sizeof(KSPROPERTY),\
125 0,\
126 FALSE,\
127 NULL, 0, NULL, NULL, 0)
128
129 /* ------------------------------------------------------------
130 BDA Device Configuration Method Set {71985F45-1CA1-11d3-9CC8-00C04F7971E0}
131 */
132
133 #define STATIC_KSMETHODSETID_BdaDeviceConfiguration \
134 0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
135 DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration);
136 #define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration)
137
138 typedef enum {
139 KSMETHOD_BDA_CREATE_PIN_FACTORY = 0,
140 KSMETHOD_BDA_DELETE_PIN_FACTORY,
141 KSMETHOD_BDA_CREATE_TOPOLOGY
142 } KSMETHOD_BDA_DEVICE_CONFIGURATION;
143
144 #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler)\
145 DEFINE_KSMETHOD_ITEM(\
146 KSMETHOD_BDA_CREATE_PIN_FACTORY,\
147 KSMETHOD_TYPE_READ,\
148 (MethodHandler),\
149 sizeof(KSM_BDA_PIN),\
150 sizeof(ULONG),\
151 SupportHandler)
152
153 #define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler)\
154 DEFINE_KSMETHOD_ITEM(\
155 KSMETHOD_BDA_DELETE_PIN_FACTORY,\
156 KSMETHOD_TYPE_NONE,\
157 (MethodHandler),\
158 sizeof(KSM_BDA_PIN),\
159 0,\
160 SupportHandler)
161
162 #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler)\
163 DEFINE_KSMETHOD_ITEM(\
164 KSMETHOD_BDA_CREATE_TOPOLOGY,\
165 KSMETHOD_TYPE_WRITE,\
166 (MethodHandler),\
167 sizeof(KSM_BDA_PIN_PAIR),\
168 0,\
169 SupportHandler)
170
171 /* ------------------------------------------------------------
172 BDA Pin Control Property {0DED49D5-A8B7-4d5d-97A1-12B0C195874D}
173 */
174
175 #define STATIC_KSPROPSETID_BdaPinControl \
176 0xded49d5, 0xa8b7, 0x4d5d, 0x97, 0xa1, 0x12, 0xb0, 0xc1, 0x95, 0x87, 0x4d
177 DEFINE_GUIDSTRUCT("0DED49D5-A8B7-4d5d-97A1-12B0C195874D", KSPROPSETID_BdaPinControl);
178 #define KSPROPSETID_BdaPinControl DEFINE_GUIDNAMED(KSPROPSETID_BdaPinControl)
179
180 typedef enum {
181 KSPROPERTY_BDA_PIN_ID = 0,
182 KSPROPERTY_BDA_PIN_TYPE
183 } KSPROPERTY_BDA_PIN_CONTROL;
184
185 #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_ID(GetHandler, SetHandler)\
186 DEFINE_KSPROPERTY_ITEM(\
187 KSPROPERTY_BDA_PIN_ID,\
188 (GetHandler),\
189 sizeof( KSPROPERTY),\
190 sizeof( ULONG),\
191 FALSE,\
192 NULL, 0, NULL, NULL, 0)
193
194 #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPE(GetHandler, SetHandler)\
195 DEFINE_KSPROPERTY_ITEM(\
196 KSPROPERTY_BDA_PIN_TYPE,\
197 (GetHandler),\
198 sizeof( KSPROPERTY),\
199 sizeof( ULONG),\
200 FALSE,\
201 NULL, 0, NULL, NULL, 0)
202
203
204 /* ------------------------------------------------------------
205 BDA Change Sync Method Set {FD0A5AF3-B41D-11d2-9C95-00C04F7971E0}
206 */
207
208 #define STATIC_KSMETHODSETID_BdaChangeSync \
209 0xfd0a5af3, 0xb41d, 0x11d2, {0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0}
210 DEFINE_GUIDSTRUCT("FD0A5AF3-B41D-11d2-9C95-00C04F7971E0", KSMETHODSETID_BdaChangeSync);
211 #define KSMETHODSETID_BdaChangeSync DEFINE_GUIDNAMED(KSMETHODSETID_BdaChangeSync)
212
213 typedef enum {
214 KSMETHOD_BDA_START_CHANGES = 0,
215 KSMETHOD_BDA_CHECK_CHANGES,
216 KSMETHOD_BDA_COMMIT_CHANGES,
217 KSMETHOD_BDA_GET_CHANGE_STATE
218 } KSMETHOD_BDA_CHANGE_SYNC;
219
220 #define DEFINE_KSMETHOD_ITEM_BDA_START_CHANGES(MethodHandler, SupportHandler)\
221 DEFINE_KSMETHOD_ITEM(\
222 KSMETHOD_BDA_START_CHANGES,\
223 KSMETHOD_TYPE_NONE,\
224 (MethodHandler),\
225 sizeof(KSMETHOD),\
226 0,\
227 SupportHandler)
228
229 #define DEFINE_KSMETHOD_ITEM_BDA_CHECK_CHANGES(MethodHandler, SupportHandler)\
230 DEFINE_KSMETHOD_ITEM(\
231 KSMETHOD_BDA_CHECK_CHANGES,\
232 KSMETHOD_TYPE_NONE,\
233 (MethodHandler),\
234 sizeof(KSMETHOD),\
235 0,\
236 SupportHandler)
237
238 #define DEFINE_KSMETHOD_ITEM_BDA_COMMIT_CHANGES(MethodHandler, SupportHandler)\
239 DEFINE_KSMETHOD_ITEM(\
240 KSMETHOD_BDA_COMMIT_CHANGES,\
241 KSMETHOD_TYPE_NONE,\
242 (MethodHandler),\
243 sizeof(KSMETHOD),\
244 0,\
245 SupportHandler)
246
247 #define DEFINE_KSMETHOD_ITEM_BDA_GET_CHANGE_STATE(MethodHandler, SupportHandler)\
248 DEFINE_KSMETHOD_ITEM(\
249 KSMETHOD_BDA_GET_CHANGE_STATE,\
250 KSMETHOD_TYPE_READ,\
251 (MethodHandler),\
252 sizeof(KSMETHOD),\
253 0,\
254 SupportHandler)
255
256 #define STATIC_KSPROPSETID_BdaFrequencyFilter \
257 0x71985f47, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
258 DEFINE_GUIDSTRUCT("71985F47-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaFrequencyFilter);
259 #define KSPROPSETID_BdaFrequencyFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaFrequencyFilter)
260
261 typedef enum {
262 KSPROPERTY_BDA_RF_TUNER_FREQUENCY = 0,
263 KSPROPERTY_BDA_RF_TUNER_POLARITY,
264 KSPROPERTY_BDA_RF_TUNER_RANGE,
265 KSPROPERTY_BDA_RF_TUNER_TRANSPONDER,
266 KSPROPERTY_BDA_RF_TUNER_BANDWIDTH,
267 KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER,
268 KSPROPERTY_BDA_RF_TUNER_CAPS,
269 KSPROPERTY_BDA_RF_TUNER_SCAN_STATUS,
270 KSPROPERTY_BDA_RF_TUNER_STANDARD,
271 KSPROPERTY_BDA_RF_TUNER_STANDARD_MODE
272 }KSPROPERTY_BDA_FREQUENCY_FILTER;
273
274
275 #define STATIC_KSPROPSETID_BdaDigitalDemodulator \
276 0xef30f379, 0x985b, 0x4d10, 0xb6, 0x40, 0xa7, 0x9d, 0x5e, 0x4, 0xe1, 0xe0
277 DEFINE_GUIDSTRUCT("EF30F379-985B-4d10-B640-A79D5E04E1E0", KSPROPSETID_BdaDigitalDemodulator);
278 #define KSPROPSETID_BdaDigitalDemodulator DEFINE_GUIDNAMED(KSPROPSETID_BdaDigitalDemodulator)
279
280 typedef enum {
281 KSPROPERTY_BDA_MODULATION_TYPE = 0,
282 KSPROPERTY_BDA_INNER_FEC_TYPE,
283 KSPROPERTY_BDA_INNER_FEC_RATE,
284 KSPROPERTY_BDA_OUTER_FEC_TYPE,
285 KSPROPERTY_BDA_OUTER_FEC_RATE,
286 KSPROPERTY_BDA_SYMBOL_RATE,
287 KSPROPERTY_BDA_SPECTRAL_INVERSION,
288 KSPROPERTY_BDA_GUARD_INTERVAL,
289 KSPROPERTY_BDA_TRANSMISSION_MODE,
290 KSPROPERTY_BDA_ROLL_OFF,
291 KSPROPERTY_BDA_PILOT,
292 KSPROPERTY_BDA_SIGNALTIMEOUTS
293 }KSPROPERTY_BDA_DIGITAL_DEMODULATOR;
294
295 #define STATIC_KSPROPSETID_BdaLNBInfo \
296 0x992cf102, 0x49f9, 0x4719, 0xa6, 0x64, 0xc4, 0xf2, 0x3e, 0x24, 0x8, 0xf4
297 DEFINE_GUIDSTRUCT("992CF102-49F9-4719-A664-C4F23E2408F4", KSPROPSETID_BdaLNBInfo);
298 #define KSPROPSETID_BdaLNBInfo DEFINE_GUIDNAMED(KSPROPSETID_BdaLNBInfo)
299
300 typedef enum {
301 KSPROPERTY_BDA_LNB_LOF_LOW_BAND = 0,
302 KSPROPERTY_BDA_LNB_LOF_HIGH_BAND,
303 KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY
304 }KSPROPERTY_BDA_LNB_INFO;
305
306 #define STATIC_KSPROPSETID_BdaSignalStats \
307 0x1347d106, 0xcf3a, 0x428a, 0xa5, 0xcb, 0xac, 0xd, 0x9a, 0x2a, 0x43, 0x38
308 DEFINE_GUIDSTRUCT("1347D106-CF3A-428a-A5CB-AC0D9A2A4338", KSPROPSETID_BdaSignalStats);
309 #define KSPROPSETID_BdaSignalStats DEFINE_GUIDNAMED(KSPROPSETID_BdaSignalStats)
310
311 typedef enum {
312 KSPROPERTY_BDA_SIGNAL_STRENGTH = 0,
313 KSPROPERTY_BDA_SIGNAL_QUALITY,
314 KSPROPERTY_BDA_SIGNAL_PRESENT,
315 KSPROPERTY_BDA_SIGNAL_LOCKED,
316 KSPROPERTY_BDA_SAMPLE_TIME
317 }KSPROPERTY_BDA_SIGNAL_STATS;
318
319
320 #endif