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