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