frontend.h revision 05d08e9716b5974d6ed08973f44930804890b902
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _DVBFRONTEND_H_
20#define _DVBFRONTEND_H_
21#include <linux/types.h>
22enum fe_type {
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24  FE_QPSK,
25  FE_QAM,
26  FE_OFDM,
27  FE_ATSC
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29};
30enum fe_caps {
31  FE_IS_STUPID = 0,
32  FE_CAN_INVERSION_AUTO = 0x1,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  FE_CAN_FEC_1_2 = 0x2,
35  FE_CAN_FEC_2_3 = 0x4,
36  FE_CAN_FEC_3_4 = 0x8,
37  FE_CAN_FEC_4_5 = 0x10,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  FE_CAN_FEC_5_6 = 0x20,
40  FE_CAN_FEC_6_7 = 0x40,
41  FE_CAN_FEC_7_8 = 0x80,
42  FE_CAN_FEC_8_9 = 0x100,
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  FE_CAN_FEC_AUTO = 0x200,
45  FE_CAN_QPSK = 0x400,
46  FE_CAN_QAM_16 = 0x800,
47  FE_CAN_QAM_32 = 0x1000,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  FE_CAN_QAM_64 = 0x2000,
50  FE_CAN_QAM_128 = 0x4000,
51  FE_CAN_QAM_256 = 0x8000,
52  FE_CAN_QAM_AUTO = 0x10000,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000,
55  FE_CAN_BANDWIDTH_AUTO = 0x40000,
56  FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
57  FE_CAN_HIERARCHY_AUTO = 0x100000,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  FE_CAN_8VSB = 0x200000,
60  FE_CAN_16VSB = 0x400000,
61  FE_HAS_EXTENDED_CAPS = 0x800000,
62  FE_CAN_MULTISTREAM = 0x4000000,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  FE_CAN_TURBO_FEC = 0x8000000,
65  FE_CAN_2G_MODULATION = 0x10000000,
66  FE_NEEDS_BENDING = 0x20000000,
67  FE_CAN_RECOVER = 0x40000000,
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  FE_CAN_MUTE_TS = 0x80000000
70};
71struct dvb_frontend_info {
72  char name[128];
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  enum fe_type type;
75  __u32 frequency_min;
76  __u32 frequency_max;
77  __u32 frequency_stepsize;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  __u32 frequency_tolerance;
80  __u32 symbol_rate_min;
81  __u32 symbol_rate_max;
82  __u32 symbol_rate_tolerance;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  __u32 notifier_delay;
85  enum fe_caps caps;
86};
87struct dvb_diseqc_master_cmd {
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  __u8 msg[6];
90  __u8 msg_len;
91};
92struct dvb_diseqc_slave_reply {
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  __u8 msg[4];
95  __u8 msg_len;
96  int timeout;
97};
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99enum fe_sec_voltage {
100  SEC_VOLTAGE_13,
101  SEC_VOLTAGE_18,
102  SEC_VOLTAGE_OFF
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104};
105enum fe_sec_tone_mode {
106  SEC_TONE_ON,
107  SEC_TONE_OFF
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109};
110enum fe_sec_mini_cmd {
111  SEC_MINI_A,
112  SEC_MINI_B
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114};
115enum fe_status {
116  FE_HAS_SIGNAL = 0x01,
117  FE_HAS_CARRIER = 0x02,
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  FE_HAS_VITERBI = 0x04,
120  FE_HAS_SYNC = 0x08,
121  FE_HAS_LOCK = 0x10,
122  FE_TIMEDOUT = 0x20,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  FE_REINIT = 0x40,
125};
126enum fe_spectral_inversion {
127  INVERSION_OFF,
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  INVERSION_ON,
130  INVERSION_AUTO
131};
132enum fe_code_rate {
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  FEC_NONE = 0,
135  FEC_1_2,
136  FEC_2_3,
137  FEC_3_4,
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  FEC_4_5,
140  FEC_5_6,
141  FEC_6_7,
142  FEC_7_8,
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  FEC_8_9,
145  FEC_AUTO,
146  FEC_3_5,
147  FEC_9_10,
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  FEC_2_5,
150};
151enum fe_modulation {
152  QPSK,
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  QAM_16,
155  QAM_32,
156  QAM_64,
157  QAM_128,
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  QAM_256,
160  QAM_AUTO,
161  VSB_8,
162  VSB_16,
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  PSK_8,
165  APSK_16,
166  APSK_32,
167  DQPSK,
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  QAM_4_NR,
170};
171enum fe_transmit_mode {
172  TRANSMISSION_MODE_2K,
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  TRANSMISSION_MODE_8K,
175  TRANSMISSION_MODE_AUTO,
176  TRANSMISSION_MODE_4K,
177  TRANSMISSION_MODE_1K,
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  TRANSMISSION_MODE_16K,
180  TRANSMISSION_MODE_32K,
181  TRANSMISSION_MODE_C1,
182  TRANSMISSION_MODE_C3780,
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184};
185enum fe_guard_interval {
186  GUARD_INTERVAL_1_32,
187  GUARD_INTERVAL_1_16,
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  GUARD_INTERVAL_1_8,
190  GUARD_INTERVAL_1_4,
191  GUARD_INTERVAL_AUTO,
192  GUARD_INTERVAL_1_128,
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  GUARD_INTERVAL_19_128,
195  GUARD_INTERVAL_19_256,
196  GUARD_INTERVAL_PN420,
197  GUARD_INTERVAL_PN595,
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  GUARD_INTERVAL_PN945,
200};
201enum fe_hierarchy {
202  HIERARCHY_NONE,
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  HIERARCHY_1,
205  HIERARCHY_2,
206  HIERARCHY_4,
207  HIERARCHY_AUTO
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209};
210enum fe_interleaving {
211  INTERLEAVING_NONE,
212  INTERLEAVING_AUTO,
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  INTERLEAVING_240,
215  INTERLEAVING_720,
216};
217#define DTV_UNDEFINED 0
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219#define DTV_TUNE 1
220#define DTV_CLEAR 2
221#define DTV_FREQUENCY 3
222#define DTV_MODULATION 4
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224#define DTV_BANDWIDTH_HZ 5
225#define DTV_INVERSION 6
226#define DTV_DISEQC_MASTER 7
227#define DTV_SYMBOL_RATE 8
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229#define DTV_INNER_FEC 9
230#define DTV_VOLTAGE 10
231#define DTV_TONE 11
232#define DTV_PILOT 12
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234#define DTV_ROLLOFF 13
235#define DTV_DISEQC_SLAVE_REPLY 14
236#define DTV_FE_CAPABILITY_COUNT 15
237#define DTV_FE_CAPABILITY 16
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239#define DTV_DELIVERY_SYSTEM 17
240#define DTV_ISDBT_PARTIAL_RECEPTION 18
241#define DTV_ISDBT_SOUND_BROADCASTING 19
242#define DTV_ISDBT_SB_SUBCHANNEL_ID 20
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244#define DTV_ISDBT_SB_SEGMENT_IDX 21
245#define DTV_ISDBT_SB_SEGMENT_COUNT 22
246#define DTV_ISDBT_LAYERA_FEC 23
247#define DTV_ISDBT_LAYERA_MODULATION 24
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25
250#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26
251#define DTV_ISDBT_LAYERB_FEC 27
252#define DTV_ISDBT_LAYERB_MODULATION 28
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29
255#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30
256#define DTV_ISDBT_LAYERC_FEC 31
257#define DTV_ISDBT_LAYERC_MODULATION 32
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33
260#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34
261#define DTV_API_VERSION 35
262#define DTV_CODE_RATE_HP 36
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264#define DTV_CODE_RATE_LP 37
265#define DTV_GUARD_INTERVAL 38
266#define DTV_TRANSMISSION_MODE 39
267#define DTV_HIERARCHY 40
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269#define DTV_ISDBT_LAYER_ENABLED 41
270#define DTV_STREAM_ID 42
271#define DTV_ISDBS_TS_ID_LEGACY DTV_STREAM_ID
272#define DTV_DVBT2_PLP_ID_LEGACY 43
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274#define DTV_ENUM_DELSYS 44
275#define DTV_ATSCMH_FIC_VER 45
276#define DTV_ATSCMH_PARADE_ID 46
277#define DTV_ATSCMH_NOG 47
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279#define DTV_ATSCMH_TNOG 48
280#define DTV_ATSCMH_SGN 49
281#define DTV_ATSCMH_PRC 50
282#define DTV_ATSCMH_RS_FRAME_MODE 51
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284#define DTV_ATSCMH_RS_FRAME_ENSEMBLE 52
285#define DTV_ATSCMH_RS_CODE_MODE_PRI 53
286#define DTV_ATSCMH_RS_CODE_MODE_SEC 54
287#define DTV_ATSCMH_SCCC_BLOCK_MODE 55
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289#define DTV_ATSCMH_SCCC_CODE_MODE_A 56
290#define DTV_ATSCMH_SCCC_CODE_MODE_B 57
291#define DTV_ATSCMH_SCCC_CODE_MODE_C 58
292#define DTV_ATSCMH_SCCC_CODE_MODE_D 59
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294#define DTV_INTERLEAVING 60
295#define DTV_LNA 61
296#define DTV_STAT_SIGNAL_STRENGTH 62
297#define DTV_STAT_CNR 63
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299#define DTV_STAT_PRE_ERROR_BIT_COUNT 64
300#define DTV_STAT_PRE_TOTAL_BIT_COUNT 65
301#define DTV_STAT_POST_ERROR_BIT_COUNT 66
302#define DTV_STAT_POST_TOTAL_BIT_COUNT 67
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304#define DTV_STAT_ERROR_BLOCK_COUNT 68
305#define DTV_STAT_TOTAL_BLOCK_COUNT 69
306#define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT
307enum fe_pilot {
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  PILOT_ON,
310  PILOT_OFF,
311  PILOT_AUTO,
312};
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314enum fe_rolloff {
315  ROLLOFF_35,
316  ROLLOFF_20,
317  ROLLOFF_25,
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  ROLLOFF_AUTO,
320};
321enum fe_delivery_system {
322  SYS_UNDEFINED,
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  SYS_DVBC_ANNEX_A,
325  SYS_DVBC_ANNEX_B,
326  SYS_DVBT,
327  SYS_DSS,
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  SYS_DVBS,
330  SYS_DVBS2,
331  SYS_DVBH,
332  SYS_ISDBT,
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  SYS_ISDBS,
335  SYS_ISDBC,
336  SYS_ATSC,
337  SYS_ATSCMH,
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  SYS_DTMB,
340  SYS_CMMB,
341  SYS_DAB,
342  SYS_DVBT2,
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  SYS_TURBO,
345  SYS_DVBC_ANNEX_C,
346};
347#define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349#define SYS_DMBTH SYS_DTMB
350enum atscmh_sccc_block_mode {
351  ATSCMH_SCCC_BLK_SEP = 0,
352  ATSCMH_SCCC_BLK_COMB = 1,
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354  ATSCMH_SCCC_BLK_RES = 2,
355};
356enum atscmh_sccc_code_mode {
357  ATSCMH_SCCC_CODE_HLF = 0,
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  ATSCMH_SCCC_CODE_QTR = 1,
360  ATSCMH_SCCC_CODE_RES = 2,
361};
362enum atscmh_rs_frame_ensemble {
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  ATSCMH_RSFRAME_ENS_PRI = 0,
365  ATSCMH_RSFRAME_ENS_SEC = 1,
366};
367enum atscmh_rs_frame_mode {
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369  ATSCMH_RSFRAME_PRI_ONLY = 0,
370  ATSCMH_RSFRAME_PRI_SEC = 1,
371  ATSCMH_RSFRAME_RES = 2,
372};
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374enum atscmh_rs_code_mode {
375  ATSCMH_RSCODE_211_187 = 0,
376  ATSCMH_RSCODE_223_187 = 1,
377  ATSCMH_RSCODE_235_187 = 2,
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  ATSCMH_RSCODE_RES = 3,
380};
381#define NO_STREAM_ID_FILTER (~0U)
382#define LNA_AUTO (~0U)
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384struct dtv_cmds_h {
385  char * name;
386  __u32 cmd;
387  __u32 set : 1;
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389  __u32 buffer : 1;
390  __u32 reserved : 30;
391};
392enum fecap_scale_params {
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  FE_SCALE_NOT_AVAILABLE = 0,
395  FE_SCALE_DECIBEL,
396  FE_SCALE_RELATIVE,
397  FE_SCALE_COUNTER
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399};
400struct dtv_stats {
401  __u8 scale;
402  union {
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404    __u64 uvalue;
405    __s64 svalue;
406  };
407} __attribute__((packed));
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409#define MAX_DTV_STATS 4
410struct dtv_fe_stats {
411  __u8 len;
412  struct dtv_stats stat[MAX_DTV_STATS];
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414} __attribute__((packed));
415struct dtv_property {
416  __u32 cmd;
417  __u32 reserved[3];
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419  union {
420    __u32 data;
421    struct dtv_fe_stats st;
422    struct {
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424      __u8 data[32];
425      __u32 len;
426      __u32 reserved1[3];
427      void * reserved2;
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429    } buffer;
430  } u;
431  int result;
432} __attribute__((packed));
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434#define DTV_IOCTL_MAX_MSGS 64
435struct dtv_properties {
436  __u32 num;
437  struct dtv_property * props;
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439};
440enum fe_bandwidth {
441  BANDWIDTH_8_MHZ,
442  BANDWIDTH_7_MHZ,
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  BANDWIDTH_6_MHZ,
445  BANDWIDTH_AUTO,
446  BANDWIDTH_5_MHZ,
447  BANDWIDTH_10_MHZ,
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  BANDWIDTH_1_712_MHZ,
450};
451typedef enum fe_sec_voltage fe_sec_voltage_t;
452typedef enum fe_caps fe_caps_t;
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454typedef enum fe_type fe_type_t;
455typedef enum fe_sec_tone_mode fe_sec_tone_mode_t;
456typedef enum fe_sec_mini_cmd fe_sec_mini_cmd_t;
457typedef enum fe_status fe_status_t;
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459typedef enum fe_spectral_inversion fe_spectral_inversion_t;
460typedef enum fe_code_rate fe_code_rate_t;
461typedef enum fe_modulation fe_modulation_t;
462typedef enum fe_transmit_mode fe_transmit_mode_t;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464typedef enum fe_bandwidth fe_bandwidth_t;
465typedef enum fe_guard_interval fe_guard_interval_t;
466typedef enum fe_hierarchy fe_hierarchy_t;
467typedef enum fe_pilot fe_pilot_t;
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469typedef enum fe_rolloff fe_rolloff_t;
470typedef enum fe_delivery_system fe_delivery_system_t;
471struct dvb_qpsk_parameters {
472  __u32 symbol_rate;
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474  fe_code_rate_t fec_inner;
475};
476struct dvb_qam_parameters {
477  __u32 symbol_rate;
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479  fe_code_rate_t fec_inner;
480  fe_modulation_t modulation;
481};
482struct dvb_vsb_parameters {
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484  fe_modulation_t modulation;
485};
486struct dvb_ofdm_parameters {
487  fe_bandwidth_t bandwidth;
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489  fe_code_rate_t code_rate_HP;
490  fe_code_rate_t code_rate_LP;
491  fe_modulation_t constellation;
492  fe_transmit_mode_t transmission_mode;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494  fe_guard_interval_t guard_interval;
495  fe_hierarchy_t hierarchy_information;
496};
497struct dvb_frontend_parameters {
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499  __u32 frequency;
500  fe_spectral_inversion_t inversion;
501  union {
502    struct dvb_qpsk_parameters qpsk;
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504    struct dvb_qam_parameters qam;
505    struct dvb_ofdm_parameters ofdm;
506    struct dvb_vsb_parameters vsb;
507  } u;
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509};
510struct dvb_frontend_event {
511  fe_status_t status;
512  struct dvb_frontend_parameters parameters;
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514};
515#define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
516#define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties)
517#define FE_TUNE_MODE_ONESHOT 0x01
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info)
520#define FE_DISEQC_RESET_OVERLOAD _IO('o', 62)
521#define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd)
522#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply)
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524#define FE_DISEQC_SEND_BURST _IO('o', 65)
525#define FE_SET_TONE _IO('o', 66)
526#define FE_SET_VOLTAGE _IO('o', 67)
527#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68)
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529#define FE_READ_STATUS _IOR('o', 69, fe_status_t)
530#define FE_READ_BER _IOR('o', 70, __u32)
531#define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16)
532#define FE_READ_SNR _IOR('o', 72, __u16)
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32)
535#define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters)
536#define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters)
537#define FE_SET_FRONTEND_TUNE_MODE _IO('o', 81)
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event)
540#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80)
541#endif
542