1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix I. DVB Frontend Header File</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="dvbapi.html" title="Part II. LINUX DVB API"><link rel="prev" href="dmx_h.html" title="Appendix H. DVB Demux Header File"><link rel="next" href="net_h.html" title="Appendix J. DVB Network Header File"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix I. DVB Frontend Header File</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dmx_h.html">Prev</a> </td><th width="60%" align="center">Part II. LINUX DVB API</th><td width="20%" align="right"> <a accesskey="n" href="net_h.html">Next</a></td></tr></table><hr></div><div class="appendix"><div class="titlepage"><div><div><h2 class="title"><a name="frontend_h"></a>Appendix I. DVB Frontend Header File</h2></div></div></div><pre class="programlisting"> 2/* 3 * frontend.h 4 * 5 * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> 6 * Ralph Metzler <ralph@convergence.de> 7 * Holger Waechtler <holger@convergence.de> 8 * Andre Draszik <ad@convergence.de> 9 * for convergence integrated media GmbH 10 * 11 * This program is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU Lesser General Public License 13 * as published by the Free Software Foundation; either version 2.1 14 * of the License, or (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * along with this program; if not, write to the Free Software 23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 24 * 25 */ 26 27#ifndef _DVBFRONTEND_H_ 28#define _DVBFRONTEND_H_ 29 30#include <linux/types.h> 31 32enum fe_type { 33 <a class="link" href="frontend_legacy_dvbv3_api.html#FE-QPSK"><code class="constant">FE_QPSK</code></a>, 34 <a class="link" href="frontend_legacy_dvbv3_api.html#FE-QAM"><code class="constant">FE_QAM</code></a>, 35 <a class="link" href="frontend_legacy_dvbv3_api.html#FE-OFDM"><code class="constant">FE_OFDM</code></a>, 36 <a class="link" href="frontend_legacy_dvbv3_api.html#FE-ATSC"><code class="constant">FE_ATSC</code></a> 37}; 38 39enum fe_caps { 40 <a class="link" href="FE_GET_INFO.html#FE-IS-STUPID"><code class="constant">FE_IS_STUPID</code></a> = 0, 41 <a class="link" href="FE_GET_INFO.html#FE-CAN-INVERSION-AUTO"><code class="constant">FE_CAN_INVERSION_AUTO</code></a> = 0x1, 42 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-1-2"><code class="constant">FE_CAN_FEC_1_2</code></a> = 0x2, 43 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-2-3"><code class="constant">FE_CAN_FEC_2_3</code></a> = 0x4, 44 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-3-4"><code class="constant">FE_CAN_FEC_3_4</code></a> = 0x8, 45 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-4-5"><code class="constant">FE_CAN_FEC_4_5</code></a> = 0x10, 46 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-5-6"><code class="constant">FE_CAN_FEC_5_6</code></a> = 0x20, 47 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-6-7"><code class="constant">FE_CAN_FEC_6_7</code></a> = 0x40, 48 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-7-8"><code class="constant">FE_CAN_FEC_7_8</code></a> = 0x80, 49 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-8-9"><code class="constant">FE_CAN_FEC_8_9</code></a> = 0x100, 50 <a class="link" href="FE_GET_INFO.html#FE-CAN-FEC-AUTO"><code class="constant">FE_CAN_FEC_AUTO</code></a> = 0x200, 51 <a class="link" href="FE_GET_INFO.html#FE-CAN-QPSK"><code class="constant">FE_CAN_QPSK</code></a> = 0x400, 52 <a class="link" href="FE_GET_INFO.html#FE-CAN-QAM-16"><code class="constant">FE_CAN_QAM_16</code></a> = 0x800, 53 <a class="link" href="FE_GET_INFO.html#FE-CAN-QAM-32"><code class="constant">FE_CAN_QAM_32</code></a> = 0x1000, 54 <a class="link" href="FE_GET_INFO.html#FE-CAN-QAM-64"><code class="constant">FE_CAN_QAM_64</code></a> = 0x2000, 55 <a class="link" href="FE_GET_INFO.html#FE-CAN-QAM-128"><code class="constant">FE_CAN_QAM_128</code></a> = 0x4000, 56 <a class="link" href="FE_GET_INFO.html#FE-CAN-QAM-256"><code class="constant">FE_CAN_QAM_256</code></a> = 0x8000, 57 <a class="link" href="FE_GET_INFO.html#FE-CAN-QAM-AUTO"><code class="constant">FE_CAN_QAM_AUTO</code></a> = 0x10000, 58 <a class="link" href="FE_GET_INFO.html#FE-CAN-TRANSMISSION-MODE-AUTO"><code class="constant">FE_CAN_TRANSMISSION_MODE_AUTO</code></a> = 0x20000, 59 <a class="link" href="FE_GET_INFO.html#FE-CAN-BANDWIDTH-AUTO"><code class="constant">FE_CAN_BANDWIDTH_AUTO</code></a> = 0x40000, 60 <a class="link" href="FE_GET_INFO.html#FE-CAN-GUARD-INTERVAL-AUTO"><code class="constant">FE_CAN_GUARD_INTERVAL_AUTO</code></a> = 0x80000, 61 <a class="link" href="FE_GET_INFO.html#FE-CAN-HIERARCHY-AUTO"><code class="constant">FE_CAN_HIERARCHY_AUTO</code></a> = 0x100000, 62 <a class="link" href="FE_GET_INFO.html#FE-CAN-8VSB"><code class="constant">FE_CAN_8VSB</code></a> = 0x200000, 63 <a class="link" href="FE_GET_INFO.html#FE-CAN-16VSB"><code class="constant">FE_CAN_16VSB</code></a> = 0x400000, 64 <a class="link" href="FE_GET_INFO.html#FE-HAS-EXTENDED-CAPS"><code class="constant">FE_HAS_EXTENDED_CAPS</code></a> = 0x800000, /* We need more bitspace for newer APIs, indicate this. */ 65 <a class="link" href="FE_GET_INFO.html#FE-CAN-MULTISTREAM"><code class="constant">FE_CAN_MULTISTREAM</code></a> = 0x4000000, /* frontend supports multistream filtering */ 66 <a class="link" href="FE_GET_INFO.html#FE-CAN-TURBO-FEC"><code class="constant">FE_CAN_TURBO_FEC</code></a> = 0x8000000, /* frontend supports "turbo fec modulation" */ 67 <a class="link" href="FE_GET_INFO.html#FE-CAN-2G-MODULATION"><code class="constant">FE_CAN_2G_MODULATION</code></a> = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */ 68 <a class="link" href="FE_GET_INFO.html#FE-NEEDS-BENDING"><code class="constant">FE_NEEDS_BENDING</code></a> = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */ 69 <a class="link" href="FE_GET_INFO.html#FE-CAN-RECOVER"><code class="constant">FE_CAN_RECOVER</code></a> = 0x40000000, /* frontend can recover from a cable unplug automatically */ 70 <a class="link" href="FE_GET_INFO.html#FE-CAN-MUTE-TS"><code class="constant">FE_CAN_MUTE_TS</code></a> = 0x80000000 /* frontend can stop spurious TS data output */ 71}; 72 73struct <a class="link" href="FE_GET_INFO.html#dvb-frontend-info" title="Table 9.17. struct dvb_frontend_info">dvb_frontend_info</a> { 74 char name[128]; 75 enum fe_type type; /* DEPRECATED. Use DTV_ENUM_DELSYS instead */ 76 __u32 frequency_min; 77 __u32 frequency_max; 78 __u32 frequency_stepsize; 79 __u32 frequency_tolerance; 80 __u32 symbol_rate_min; 81 __u32 symbol_rate_max; 82 __u32 symbol_rate_tolerance; /* ppm */ 83 __u32 notifier_delay; /* DEPRECATED */ 84 enum fe_caps caps; 85}; 86 87 88/** 89 * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for 90 * the meaning of this struct... 91 */ 92struct <a class="link" href="FE_DISEQC_SEND_MASTER_CMD.html#dvb-diseqc-master-cmd" title="Table 9.20. struct dvb_diseqc_master_cmd">dvb_diseqc_master_cmd</a> { 93 __u8 msg [6]; /* { framing, address, command, data [3] } */ 94 __u8 msg_len; /* valid values are 3...6 */ 95}; 96 97struct <a class="link" href="FE_DISEQC_RECV_SLAVE_REPLY.html#dvb-diseqc-slave-reply" title="Table 9.21. struct dvb_diseqc_slave_reply">dvb_diseqc_slave_reply</a> { 98 __u8 msg [4]; /* { framing, data [3] } */ 99 __u8 msg_len; /* valid values are 0...4, 0 means no msg */ 100 int timeout; /* return from ioctl after timeout ms with */ 101}; /* errorcode when no message was received */ 102 103enum fe_sec_voltage { 104 <a class="link" href="frontend-properties.html#SEC-VOLTAGE-13"><code class="constant">SEC_VOLTAGE_13</code></a>, 105 <a class="link" href="frontend-properties.html#SEC-VOLTAGE-18"><code class="constant">SEC_VOLTAGE_18</code></a>, 106 <a class="link" href="frontend-properties.html#SEC-VOLTAGE-OFF"><code class="constant">SEC_VOLTAGE_OFF</code></a> 107}; 108 109enum fe_sec_tone_mode { 110 <a class="link" href="FE_SET_TONE.html#SEC-TONE-ON"><code class="constant">SEC_TONE_ON</code></a>, 111 <a class="link" href="FE_SET_TONE.html#SEC-TONE-OFF"><code class="constant">SEC_TONE_OFF</code></a> 112}; 113 114enum fe_sec_mini_cmd { 115 <a class="link" href="FE_DISEQC_SEND_BURST.html#SEC-MINI-A"><code class="constant">SEC_MINI_A</code></a>, 116 <a class="link" href="FE_DISEQC_SEND_BURST.html#SEC-MINI-B"><code class="constant">SEC_MINI_B</code></a> 117}; 118 119/** 120 * enum fe_status - enumerates the possible frontend status 121 * @<a class="link" href="FE_READ_STATUS.html#FE-HAS-SIGNAL"><code class="constant">FE_HAS_SIGNAL</code></a>: found something above the noise level 122 * @<a class="link" href="FE_READ_STATUS.html#FE-HAS-CARRIER"><code class="constant">FE_HAS_CARRIER</code></a>: found a DVB signal 123 * @<a class="link" href="FE_READ_STATUS.html#FE-HAS-VITERBI"><code class="constant">FE_HAS_VITERBI</code></a>: FEC is stable 124 * @<a class="link" href="FE_READ_STATUS.html#FE-HAS-SYNC"><code class="constant">FE_HAS_SYNC</code></a>: found sync bytes 125 * @<a class="link" href="FE_READ_STATUS.html#FE-HAS-LOCK"><code class="constant">FE_HAS_LOCK</code></a>: everything's working 126 * @<a class="link" href="FE_READ_STATUS.html#FE-TIMEDOUT"><code class="constant">FE_TIMEDOUT</code></a>: no lock within the last ~2 seconds 127 * @<a class="link" href="FE_READ_STATUS.html#FE-REINIT"><code class="constant">FE_REINIT</code></a>: frontend was reinitialized, application is recommended 128 * to reset DiSEqC, tone and parameters 129 */ 130enum fe_status { 131 <a class="link" href="FE_READ_STATUS.html#FE-HAS-SIGNAL"><code class="constant">FE_HAS_SIGNAL</code></a> = 0x01, 132 <a class="link" href="FE_READ_STATUS.html#FE-HAS-CARRIER"><code class="constant">FE_HAS_CARRIER</code></a> = 0x02, 133 <a class="link" href="FE_READ_STATUS.html#FE-HAS-VITERBI"><code class="constant">FE_HAS_VITERBI</code></a> = 0x04, 134 <a class="link" href="FE_READ_STATUS.html#FE-HAS-SYNC"><code class="constant">FE_HAS_SYNC</code></a> = 0x08, 135 <a class="link" href="FE_READ_STATUS.html#FE-HAS-LOCK"><code class="constant">FE_HAS_LOCK</code></a> = 0x10, 136 <a class="link" href="FE_READ_STATUS.html#FE-TIMEDOUT"><code class="constant">FE_TIMEDOUT</code></a> = 0x20, 137 <a class="link" href="FE_READ_STATUS.html#FE-REINIT"><code class="constant">FE_REINIT</code></a> = 0x40, 138}; 139 140enum fe_spectral_inversion { 141 <a class="link" href="frontend-properties.html#INVERSION-OFF"><code class="constant">INVERSION_OFF</code></a>, 142 <a class="link" href="frontend-properties.html#INVERSION-ON"><code class="constant">INVERSION_ON</code></a>, 143 <a class="link" href="frontend-properties.html#INVERSION-AUTO"><code class="constant">INVERSION_AUTO</code></a> 144}; 145 146enum fe_code_rate { 147 <a class="link" href="frontend-properties.html#FEC-NONE"><code class="constant">FEC_NONE</code></a> = 0, 148 <a class="link" href="frontend-properties.html#FEC-1-2"><code class="constant">FEC_1_2</code></a>, 149 <a class="link" href="frontend-properties.html#FEC-2-3"><code class="constant">FEC_2_3</code></a>, 150 <a class="link" href="frontend-properties.html#FEC-3-4"><code class="constant">FEC_3_4</code></a>, 151 <a class="link" href="frontend-properties.html#FEC-4-5"><code class="constant">FEC_4_5</code></a>, 152 <a class="link" href="frontend-properties.html#FEC-5-6"><code class="constant">FEC_5_6</code></a>, 153 <a class="link" href="frontend-properties.html#FEC-6-7"><code class="constant">FEC_6_7</code></a>, 154 <a class="link" href="frontend-properties.html#FEC-7-8"><code class="constant">FEC_7_8</code></a>, 155 <a class="link" href="frontend-properties.html#FEC-8-9"><code class="constant">FEC_8_9</code></a>, 156 <a class="link" href="frontend-properties.html#FEC-AUTO"><code class="constant">FEC_AUTO</code></a>, 157 <a class="link" href="frontend-properties.html#FEC-3-5"><code class="constant">FEC_3_5</code></a>, 158 <a class="link" href="frontend-properties.html#FEC-9-10"><code class="constant">FEC_9_10</code></a>, 159 <a class="link" href="frontend-properties.html#FEC-2-5"><code class="constant">FEC_2_5</code></a>, 160}; 161 162enum fe_modulation { 163 <a class="link" href="frontend-properties.html#QPSK"><code class="constant">QPSK</code></a>, 164 <a class="link" href="frontend-properties.html#QAM-16"><code class="constant">QAM_16</code></a>, 165 <a class="link" href="frontend-properties.html#QAM-32"><code class="constant">QAM_32</code></a>, 166 <a class="link" href="frontend-properties.html#QAM-64"><code class="constant">QAM_64</code></a>, 167 <a class="link" href="frontend-properties.html#QAM-128"><code class="constant">QAM_128</code></a>, 168 <a class="link" href="frontend-properties.html#QAM-256"><code class="constant">QAM_256</code></a>, 169 <a class="link" href="frontend-properties.html#QAM-AUTO"><code class="constant">QAM_AUTO</code></a>, 170 <a class="link" href="frontend-properties.html#VSB-8"><code class="constant">VSB_8</code></a>, 171 <a class="link" href="frontend-properties.html#VSB-16"><code class="constant">VSB_16</code></a>, 172 <a class="link" href="frontend-properties.html#PSK-8"><code class="constant">PSK_8</code></a>, 173 <a class="link" href="frontend-properties.html#APSK-16"><code class="constant">APSK_16</code></a>, 174 <a class="link" href="frontend-properties.html#APSK-32"><code class="constant">APSK_32</code></a>, 175 <a class="link" href="frontend-properties.html#DQPSK"><code class="constant">DQPSK</code></a>, 176 <a class="link" href="frontend-properties.html#QAM-4-NR"><code class="constant">QAM_4_NR</code></a>, 177}; 178 179enum fe_transmit_mode { 180 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-2K"><code class="constant">TRANSMISSION_MODE_2K</code></a>, 181 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-8K"><code class="constant">TRANSMISSION_MODE_8K</code></a>, 182 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-AUTO"><code class="constant">TRANSMISSION_MODE_AUTO</code></a>, 183 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-4K"><code class="constant">TRANSMISSION_MODE_4K</code></a>, 184 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-1K"><code class="constant">TRANSMISSION_MODE_1K</code></a>, 185 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-16K"><code class="constant">TRANSMISSION_MODE_16K</code></a>, 186 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-32K"><code class="constant">TRANSMISSION_MODE_32K</code></a>, 187 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-C1"><code class="constant">TRANSMISSION_MODE_C1</code></a>, 188 <a class="link" href="frontend-properties.html#TRANSMISSION-MODE-C3780"><code class="constant">TRANSMISSION_MODE_C3780</code></a>, 189}; 190 191enum fe_guard_interval { 192 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-1-32"><code class="constant">GUARD_INTERVAL_1_32</code></a>, 193 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-1-16"><code class="constant">GUARD_INTERVAL_1_16</code></a>, 194 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-1-8"><code class="constant">GUARD_INTERVAL_1_8</code></a>, 195 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-1-4"><code class="constant">GUARD_INTERVAL_1_4</code></a>, 196 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-AUTO"><code class="constant">GUARD_INTERVAL_AUTO</code></a>, 197 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-1-128"><code class="constant">GUARD_INTERVAL_1_128</code></a>, 198 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-19-128"><code class="constant">GUARD_INTERVAL_19_128</code></a>, 199 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-19-256"><code class="constant">GUARD_INTERVAL_19_256</code></a>, 200 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-PN420"><code class="constant">GUARD_INTERVAL_PN420</code></a>, 201 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-PN595"><code class="constant">GUARD_INTERVAL_PN595</code></a>, 202 <a class="link" href="frontend-properties.html#GUARD-INTERVAL-PN945"><code class="constant">GUARD_INTERVAL_PN945</code></a>, 203}; 204 205enum fe_hierarchy { 206 <a class="link" href="frontend-properties.html#HIERARCHY-NONE"><code class="constant">HIERARCHY_NONE</code></a>, 207 <a class="link" href="frontend-properties.html#HIERARCHY-1"><code class="constant">HIERARCHY_1</code></a>, 208 <a class="link" href="frontend-properties.html#HIERARCHY-2"><code class="constant">HIERARCHY_2</code></a>, 209 <a class="link" href="frontend-properties.html#HIERARCHY-4"><code class="constant">HIERARCHY_4</code></a>, 210 <a class="link" href="frontend-properties.html#HIERARCHY-AUTO"><code class="constant">HIERARCHY_AUTO</code></a> 211}; 212 213enum fe_interleaving { 214 <a class="link" href="frontend-properties.html#INTERLEAVING-NONE"><code class="constant">INTERLEAVING_NONE</code></a>, 215 <a class="link" href="frontend-properties.html#INTERLEAVING-AUTO"><code class="constant">INTERLEAVING_AUTO</code></a>, 216 <a class="link" href="frontend-properties.html#INTERLEAVING-240"><code class="constant">INTERLEAVING_240</code></a>, 217 <a class="link" href="frontend-properties.html#INTERLEAVING-720"><code class="constant">INTERLEAVING_720</code></a>, 218}; 219 220/* S2API Commands */ 221#define <a class="link" href="frontend-properties.html#DTV-UNDEFINED" title="DTV_UNDEFINED">DTV_UNDEFINED</a> 0 222#define <a class="link" href="frontend-properties.html#DTV-TUNE" title="DTV_TUNE">DTV_TUNE</a> 1 223#define <a class="link" href="frontend-properties.html#DTV-CLEAR" title="DTV_CLEAR">DTV_CLEAR</a> 2 224#define <a class="link" href="frontend-properties.html#DTV-FREQUENCY" title="DTV_FREQUENCY">DTV_FREQUENCY</a> 3 225#define <a class="link" href="frontend-properties.html#DTV-MODULATION" title="DTV_MODULATION">DTV_MODULATION</a> 4 226#define <a class="link" href="frontend-properties.html#DTV-BANDWIDTH-HZ" title="DTV_BANDWIDTH_HZ">DTV_BANDWIDTH_HZ</a> 5 227#define <a class="link" href="frontend-properties.html#DTV-INVERSION" title="DTV_INVERSION">DTV_INVERSION</a> 6 228#define <a class="link" href="frontend-properties.html#DTV-DISEQC-MASTER" title="DTV_DISEQC_MASTER">DTV_DISEQC_MASTER</a> 7 229#define <a class="link" href="frontend-properties.html#DTV-SYMBOL-RATE" title="DTV_SYMBOL_RATE">DTV_SYMBOL_RATE</a> 8 230#define <a class="link" href="frontend-properties.html#DTV-INNER-FEC" title="DTV_INNER_FEC">DTV_INNER_FEC</a> 9 231#define <a class="link" href="frontend-properties.html#DTV-VOLTAGE" title="DTV_VOLTAGE">DTV_VOLTAGE</a> 10 232#define <a class="link" href="frontend-properties.html#DTV-TONE" title="DTV_TONE">DTV_TONE</a> 11 233#define <a class="link" href="frontend-properties.html#DTV-PILOT" title="DTV_PILOT">DTV_PILOT</a> 12 234#define <a class="link" href="frontend-properties.html#DTV-ROLLOFF" title="DTV_ROLLOFF">DTV_ROLLOFF</a> 13 235#define <a class="link" href="frontend-properties.html#DTV-DISEQC-SLAVE-REPLY" title="DTV_DISEQC_SLAVE_REPLY">DTV_DISEQC_SLAVE_REPLY</a> 14 236 237/* Basic enumeration set for querying unlimited capabilities */ 238#define <a class="link" href="frontend-properties.html#DTV-FE-CAPABILITY-COUNT" title="DTV_FE_CAPABILITY_COUNT">DTV_FE_CAPABILITY_COUNT</a> 15 239#define <a class="link" href="frontend-properties.html#DTV-FE-CAPABILITY" title="DTV_FE_CAPABILITY">DTV_FE_CAPABILITY</a> 16 240#define <a class="link" href="frontend-properties.html#DTV-DELIVERY-SYSTEM" title="DTV_DELIVERY_SYSTEM">DTV_DELIVERY_SYSTEM</a> 17 241 242/* ISDB-T and ISDB-Tsb */ 243#define <a class="link" href="frontend-properties.html#DTV-ISDBT-PARTIAL-RECEPTION" title="DTV_ISDBT_PARTIAL_RECEPTION">DTV_ISDBT_PARTIAL_RECEPTION</a> 18 244#define <a class="link" href="frontend-properties.html#DTV-ISDBT-SOUND-BROADCASTING" title="DTV_ISDBT_SOUND_BROADCASTING">DTV_ISDBT_SOUND_BROADCASTING</a> 19 245 246#define <a class="link" href="frontend-properties.html#DTV-ISDBT-SB-SUBCHANNEL-ID" title="DTV_ISDBT_SB_SUBCHANNEL_ID">DTV_ISDBT_SB_SUBCHANNEL_ID</a> 20 247#define <a class="link" href="frontend-properties.html#DTV-ISDBT-SB-SEGMENT-IDX" title="DTV_ISDBT_SB_SEGMENT_IDX">DTV_ISDBT_SB_SEGMENT_IDX</a> 21 248#define <a class="link" href="frontend-properties.html#DTV-ISDBT-SB-SEGMENT-COUNT" title="DTV_ISDBT_SB_SEGMENT_COUNT">DTV_ISDBT_SB_SEGMENT_COUNT</a> 22 249 250#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-FEC" title="DTV_ISDBT_LAYER*_FEC">DTV_ISDBT_LAYERA_FEC</a> 23 251#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-MODULATION" title="DTV_ISDBT_LAYER*_MODULATION">DTV_ISDBT_LAYERA_MODULATION</a> 24 252#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-SEGMENT-COUNT" title="DTV_ISDBT_LAYER*_SEGMENT_COUNT">DTV_ISDBT_LAYERA_SEGMENT_COUNT</a> 25 253#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-TIME-INTERLEAVING" title="DTV_ISDBT_LAYER*_TIME_INTERLEAVING">DTV_ISDBT_LAYERA_TIME_INTERLEAVING</a> 26 254 255#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-FEC" title="DTV_ISDBT_LAYER*_FEC">DTV_ISDBT_LAYERB_FEC</a> 27 256#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-MODULATION" title="DTV_ISDBT_LAYER*_MODULATION">DTV_ISDBT_LAYERB_MODULATION</a> 28 257#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-SEGMENT-COUNT" title="DTV_ISDBT_LAYER*_SEGMENT_COUNT">DTV_ISDBT_LAYERB_SEGMENT_COUNT</a> 29 258#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-TIME-INTERLEAVING" title="DTV_ISDBT_LAYER*_TIME_INTERLEAVING">DTV_ISDBT_LAYERB_TIME_INTERLEAVING</a> 30 259 260#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-FEC" title="DTV_ISDBT_LAYER*_FEC">DTV_ISDBT_LAYERC_FEC</a> 31 261#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-MODULATION" title="DTV_ISDBT_LAYER*_MODULATION">DTV_ISDBT_LAYERC_MODULATION</a> 32 262#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-SEGMENT-COUNT" title="DTV_ISDBT_LAYER*_SEGMENT_COUNT">DTV_ISDBT_LAYERC_SEGMENT_COUNT</a> 33 263#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-TIME-INTERLEAVING" title="DTV_ISDBT_LAYER*_TIME_INTERLEAVING">DTV_ISDBT_LAYERC_TIME_INTERLEAVING</a> 34 264 265#define <a class="link" href="frontend-properties.html#DTV-API-VERSION" title="DTV_API_VERSION">DTV_API_VERSION</a> 35 266 267#define <a class="link" href="frontend-properties.html#DTV-CODE-RATE-HP" title="DTV_CODE_RATE_HP">DTV_CODE_RATE_HP</a> 36 268#define <a class="link" href="frontend-properties.html#DTV-CODE-RATE-LP" title="DTV_CODE_RATE_LP">DTV_CODE_RATE_LP</a> 37 269#define <a class="link" href="frontend-properties.html#DTV-GUARD-INTERVAL" title="DTV_GUARD_INTERVAL">DTV_GUARD_INTERVAL</a> 38 270#define <a class="link" href="frontend-properties.html#DTV-TRANSMISSION-MODE" title="DTV_TRANSMISSION_MODE">DTV_TRANSMISSION_MODE</a> 39 271#define <a class="link" href="frontend-properties.html#DTV-HIERARCHY" title="DTV_HIERARCHY">DTV_HIERARCHY</a> 40 272 273#define <a class="link" href="frontend-properties.html#DTV-ISDBT-LAYER-ENABLED" title="DTV_ISDBT_LAYER_ENABLED">DTV_ISDBT_LAYER_ENABLED</a> 41 274 275#define <a class="link" href="frontend-properties.html#DTV-STREAM-ID" title="DTV_STREAM_ID">DTV_STREAM_ID</a> 42 276#define DTV_ISDBS_TS_ID_LEGACY DTV_STREAM_ID 277#define <a class="link" href="frontend-properties.html#DTV-DVBT2-PLP-ID-LEGACY" title="DTV_DVBT2_PLP_ID_LEGACY">DTV_DVBT2_PLP_ID_LEGACY</a> 43 278 279#define <a class="link" href="frontend-properties.html#DTV-ENUM-DELSYS" title="DTV_ENUM_DELSYS">DTV_ENUM_DELSYS</a> 44 280 281/* ATSC-MH */ 282#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-FIC-VER" title="DTV_ATSCMH_FIC_VER">DTV_ATSCMH_FIC_VER</a> 45 283#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-PARADE-ID" title="DTV_ATSCMH_PARADE_ID">DTV_ATSCMH_PARADE_ID</a> 46 284#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-NOG" title="DTV_ATSCMH_NOG">DTV_ATSCMH_NOG</a> 47 285#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-TNOG" title="DTV_ATSCMH_TNOG">DTV_ATSCMH_TNOG</a> 48 286#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-SGN" title="DTV_ATSCMH_SGN">DTV_ATSCMH_SGN</a> 49 287#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-PRC" title="DTV_ATSCMH_PRC">DTV_ATSCMH_PRC</a> 50 288#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-RS-FRAME-MODE" title="DTV_ATSCMH_RS_FRAME_MODE">DTV_ATSCMH_RS_FRAME_MODE</a> 51 289#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-RS-FRAME-ENSEMBLE" title="DTV_ATSCMH_RS_FRAME_ENSEMBLE">DTV_ATSCMH_RS_FRAME_ENSEMBLE</a> 52 290#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-RS-CODE-MODE-PRI" title="DTV_ATSCMH_RS_CODE_MODE_PRI">DTV_ATSCMH_RS_CODE_MODE_PRI</a> 53 291#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-RS-CODE-MODE-SEC" title="DTV_ATSCMH_RS_CODE_MODE_SEC">DTV_ATSCMH_RS_CODE_MODE_SEC</a> 54 292#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-SCCC-BLOCK-MODE" title="DTV_ATSCMH_SCCC_BLOCK_MODE">DTV_ATSCMH_SCCC_BLOCK_MODE</a> 55 293#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-SCCC-CODE-MODE-A" title="DTV_ATSCMH_SCCC_CODE_MODE_A">DTV_ATSCMH_SCCC_CODE_MODE_A</a> 56 294#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-SCCC-CODE-MODE-B" title="DTV_ATSCMH_SCCC_CODE_MODE_B">DTV_ATSCMH_SCCC_CODE_MODE_B</a> 57 295#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-SCCC-CODE-MODE-C" title="DTV_ATSCMH_SCCC_CODE_MODE_C">DTV_ATSCMH_SCCC_CODE_MODE_C</a> 58 296#define <a class="link" href="frontend-properties.html#DTV-ATSCMH-SCCC-CODE-MODE-D" title="DTV_ATSCMH_SCCC_CODE_MODE_D">DTV_ATSCMH_SCCC_CODE_MODE_D</a> 59 297 298#define <a class="link" href="frontend-properties.html#DTV-INTERLEAVING" title="DTV_INTERLEAVING">DTV_INTERLEAVING</a> 60 299#define <a class="link" href="frontend-properties.html#DTV-LNA" title="DTV_LNA">DTV_LNA</a> 61 300 301/* Quality parameters */ 302#define <a class="link" href="frontend-properties.html#DTV-STAT-SIGNAL-STRENGTH" title="DTV_STAT_SIGNAL_STRENGTH">DTV_STAT_SIGNAL_STRENGTH</a> 62 303#define <a class="link" href="frontend-properties.html#DTV-STAT-CNR" title="DTV_STAT_CNR">DTV_STAT_CNR</a> 63 304#define <a class="link" href="frontend-properties.html#DTV-STAT-PRE-ERROR-BIT-COUNT" title="DTV_STAT_PRE_ERROR_BIT_COUNT">DTV_STAT_PRE_ERROR_BIT_COUNT</a> 64 305#define <a class="link" href="frontend-properties.html#DTV-STAT-PRE-TOTAL-BIT-COUNT" title="DTV_STAT_PRE_TOTAL_BIT_COUNT">DTV_STAT_PRE_TOTAL_BIT_COUNT</a> 65 306#define <a class="link" href="frontend-properties.html#DTV-STAT-POST-ERROR-BIT-COUNT" title="DTV_STAT_POST_ERROR_BIT_COUNT">DTV_STAT_POST_ERROR_BIT_COUNT</a> 66 307#define <a class="link" href="frontend-properties.html#DTV-STAT-POST-TOTAL-BIT-COUNT" title="DTV_STAT_POST_TOTAL_BIT_COUNT">DTV_STAT_POST_TOTAL_BIT_COUNT</a> 67 308#define <a class="link" href="frontend-properties.html#DTV-STAT-ERROR-BLOCK-COUNT" title="DTV_STAT_ERROR_BLOCK_COUNT">DTV_STAT_ERROR_BLOCK_COUNT</a> 68 309#define <a class="link" href="frontend-properties.html#DTV-STAT-TOTAL-BLOCK-COUNT" title="DTV-STAT_TOTAL_BLOCK_COUNT">DTV_STAT_TOTAL_BLOCK_COUNT</a> 69 310 311#define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT 312 313enum fe_pilot { 314 <a class="link" href="frontend-properties.html#PILOT-ON"><code class="constant">PILOT_ON</code></a>, 315 <a class="link" href="frontend-properties.html#PILOT-OFF"><code class="constant">PILOT_OFF</code></a>, 316 <a class="link" href="frontend-properties.html#PILOT-AUTO"><code class="constant">PILOT_AUTO</code></a>, 317}; 318 319enum fe_rolloff { 320 <a class="link" href="frontend-properties.html#ROLLOFF-35"><code class="constant">ROLLOFF_35</code></a>, /* Implied value in DVB-S, default for DVB-S2 */ 321 <a class="link" href="frontend-properties.html#ROLLOFF-20"><code class="constant">ROLLOFF_20</code></a>, 322 <a class="link" href="frontend-properties.html#ROLLOFF-25"><code class="constant">ROLLOFF_25</code></a>, 323 <a class="link" href="frontend-properties.html#ROLLOFF-AUTO"><code class="constant">ROLLOFF_AUTO</code></a>, 324}; 325 326enum fe_delivery_system { 327 <a class="link" href="frontend-properties.html#SYS-UNDEFINED"><code class="constant">SYS_UNDEFINED</code></a>, 328 <a class="link" href="frontend-properties.html#SYS-DVBC-ANNEX-A"><code class="constant">SYS_DVBC_ANNEX_A</code></a>, 329 <a class="link" href="frontend-properties.html#SYS-DVBC-ANNEX-B"><code class="constant">SYS_DVBC_ANNEX_B</code></a>, 330 <a class="link" href="frontend-properties.html#SYS-DVBT"><code class="constant">SYS_DVBT</code></a>, 331 <a class="link" href="frontend-properties.html#SYS-DSS"><code class="constant">SYS_DSS</code></a>, 332 <a class="link" href="frontend-properties.html#SYS-DVBS"><code class="constant">SYS_DVBS</code></a>, 333 <a class="link" href="frontend-properties.html#SYS-DVBS2"><code class="constant">SYS_DVBS2</code></a>, 334 <a class="link" href="frontend-properties.html#SYS-DVBH"><code class="constant">SYS_DVBH</code></a>, 335 <a class="link" href="frontend-properties.html#SYS-ISDBT"><code class="constant">SYS_ISDBT</code></a>, 336 <a class="link" href="frontend-properties.html#SYS-ISDBS"><code class="constant">SYS_ISDBS</code></a>, 337 <a class="link" href="frontend-properties.html#SYS-ISDBC"><code class="constant">SYS_ISDBC</code></a>, 338 <a class="link" href="frontend-properties.html#SYS-ATSC"><code class="constant">SYS_ATSC</code></a>, 339 <a class="link" href="frontend-properties.html#SYS-ATSCMH"><code class="constant">SYS_ATSCMH</code></a>, 340 <a class="link" href="frontend-properties.html#SYS-DTMB"><code class="constant">SYS_DTMB</code></a>, 341 <a class="link" href="frontend-properties.html#SYS-CMMB"><code class="constant">SYS_CMMB</code></a>, 342 <a class="link" href="frontend-properties.html#SYS-DAB"><code class="constant">SYS_DAB</code></a>, 343 <a class="link" href="frontend-properties.html#SYS-DVBT2"><code class="constant">SYS_DVBT2</code></a>, 344 <a class="link" href="frontend-properties.html#SYS-TURBO"><code class="constant">SYS_TURBO</code></a>, 345 <a class="link" href="frontend-properties.html#SYS-DVBC-ANNEX-C"><code class="constant">SYS_DVBC_ANNEX_C</code></a>, 346}; 347 348/* backward compatibility */ 349#define SYS_DVBC_ANNEX_AC <a class="link" href="frontend-properties.html#SYS-DVBC-ANNEX-A"><code class="constant">SYS_DVBC_ANNEX_A</code></a> 350#define SYS_DMBTH <a class="link" href="frontend-properties.html#SYS-DTMB"><code class="constant">SYS_DTMB</code></a> /* DMB-TH is legacy name, use DTMB instead */ 351 352/* ATSC-MH */ 353 354enum atscmh_sccc_block_mode { 355 <a class="link" href="frontend-properties.html#ATSCMH-SCCC-BLK-SEP"><code class="constant">ATSCMH_SCCC_BLK_SEP</code></a> = 0, 356 <a class="link" href="frontend-properties.html#ATSCMH-SCCC-BLK-COMB"><code class="constant">ATSCMH_SCCC_BLK_COMB</code></a> = 1, 357 <a class="link" href="frontend-properties.html#ATSCMH-SCCC-BLK-RES"><code class="constant">ATSCMH_SCCC_BLK_RES</code></a> = 2, 358}; 359 360enum atscmh_sccc_code_mode { 361 <a class="link" href="frontend-properties.html#ATSCMH-SCCC-CODE-HLF"><code class="constant">ATSCMH_SCCC_CODE_HLF</code></a> = 0, 362 <a class="link" href="frontend-properties.html#ATSCMH-SCCC-CODE-QTR"><code class="constant">ATSCMH_SCCC_CODE_QTR</code></a> = 1, 363 <a class="link" href="frontend-properties.html#ATSCMH-SCCC-CODE-RES"><code class="constant">ATSCMH_SCCC_CODE_RES</code></a> = 2, 364}; 365 366enum atscmh_rs_frame_ensemble { 367 <a class="link" href="frontend-properties.html#ATSCMH-RSFRAME-ENS-PRI"><code class="constant">ATSCMH_RSFRAME_ENS_PRI</code></a> = 0, 368 <a class="link" href="frontend-properties.html#ATSCMH-RSFRAME-ENS-SEC"><code class="constant">ATSCMH_RSFRAME_ENS_SEC</code></a> = 1, 369}; 370 371enum atscmh_rs_frame_mode { 372 <a class="link" href="frontend-properties.html#ATSCMH-RSFRAME-PRI-ONLY"><code class="constant">ATSCMH_RSFRAME_PRI_ONLY</code></a> = 0, 373 <a class="link" href="frontend-properties.html#ATSCMH-RSFRAME-PRI-SEC"><code class="constant">ATSCMH_RSFRAME_PRI_SEC</code></a> = 1, 374 <a class="link" href="frontend-properties.html#ATSCMH-RSFRAME-RES"><code class="constant">ATSCMH_RSFRAME_RES</code></a> = 2, 375}; 376 377enum atscmh_rs_code_mode { 378 <a class="link" href="frontend-properties.html#ATSCMH-RSCODE-211-187"><code class="constant">ATSCMH_RSCODE_211_187</code></a> = 0, 379 <a class="link" href="frontend-properties.html#ATSCMH-RSCODE-223-187"><code class="constant">ATSCMH_RSCODE_223_187</code></a> = 1, 380 <a class="link" href="frontend-properties.html#ATSCMH-RSCODE-235-187"><code class="constant">ATSCMH_RSCODE_235_187</code></a> = 2, 381 <a class="link" href="frontend-properties.html#ATSCMH-RSCODE-RES"><code class="constant">ATSCMH_RSCODE_RES</code></a> = 3, 382}; 383 384#define NO_STREAM_ID_FILTER (~0U) 385#define LNA_AUTO (~0U) 386 387struct dtv_cmds_h { 388 char *name; /* A display name for debugging purposes */ 389 390 __u32 cmd; /* A unique ID */ 391 392 /* Flags */ 393 __u32 set:1; /* Either a set or get property */ 394 __u32 buffer:1; /* Does this property use the buffer? */ 395 __u32 reserved:30; /* Align */ 396}; 397 398/** 399 * Scale types for the quality parameters. 400 * @<a class="link" href="frontend-properties.html#FE-SCALE-NOT-AVAILABLE"><code class="constant">FE_SCALE_NOT_AVAILABLE</code></a>: That QoS measure is not available. That 401 * could indicate a temporary or a permanent 402 * condition. 403 * @<a class="link" href="frontend-properties.html#FE-SCALE-DECIBEL"><code class="constant">FE_SCALE_DECIBEL</code></a>: The scale is measured in 0.001 dB steps, typically 404 * used on signal measures. 405 * @<a class="link" href="frontend-properties.html#FE-SCALE-RELATIVE"><code class="constant">FE_SCALE_RELATIVE</code></a>: The scale is a relative percentual measure, 406 * ranging from 0 (0%) to 0xffff (100%). 407 * @<a class="link" href="frontend-properties.html#FE-SCALE-COUNTER"><code class="constant">FE_SCALE_COUNTER</code></a>: The scale counts the occurrence of an event, like 408 * bit error, block error, lapsed time. 409 */ 410enum fecap_scale_params { 411 <a class="link" href="frontend-properties.html#FE-SCALE-NOT-AVAILABLE"><code class="constant">FE_SCALE_NOT_AVAILABLE</code></a> = 0, 412 <a class="link" href="frontend-properties.html#FE-SCALE-DECIBEL"><code class="constant">FE_SCALE_DECIBEL</code></a>, 413 <a class="link" href="frontend-properties.html#FE-SCALE-RELATIVE"><code class="constant">FE_SCALE_RELATIVE</code></a>, 414 <a class="link" href="frontend-properties.html#FE-SCALE-COUNTER"><code class="constant">FE_SCALE_COUNTER</code></a> 415}; 416 417/** 418 * struct dtv_stats - Used for reading a DTV status property 419 * 420 * @value: value of the measure. Should range from 0 to 0xffff; 421 * @scale: Filled with enum fecap_scale_params - the scale 422 * in usage for that parameter 423 * 424 * For most delivery systems, this will return a single value for each 425 * parameter. 426 * It should be noticed, however, that new OFDM delivery systems like 427 * ISDB can use different modulation types for each group of carriers. 428 * On such standards, up to 8 groups of statistics can be provided, one 429 * for each carrier group (called "layer" on ISDB). 430 * In order to be consistent with other delivery systems, the first 431 * value refers to the entire set of carriers ("global"). 432 * dtv_status:scale should use the value <a class="link" href="frontend-properties.html#FE-SCALE-NOT-AVAILABLE"><code class="constant">FE_SCALE_NOT_AVAILABLE</code></a> when 433 * the value for the entire group of carriers or from one specific layer 434 * is not provided by the hardware. 435 * st.len should be filled with the latest filled status + 1. 436 * 437 * In other words, for ISDB, those values should be filled like: 438 * u.st.stat.svalue[0] = global statistics; 439 * u.st.stat.scale[0] = <a class="link" href="frontend-properties.html#FE-SCALE-DECIBEL"><code class="constant">FE_SCALE_DECIBEL</code></a>; 440 * u.st.stat.value[1] = layer A statistics; 441 * u.st.stat.scale[1] = <a class="link" href="frontend-properties.html#FE-SCALE-NOT-AVAILABLE"><code class="constant">FE_SCALE_NOT_AVAILABLE</code></a> (if not available); 442 * u.st.stat.svalue[2] = layer B statistics; 443 * u.st.stat.scale[2] = <a class="link" href="frontend-properties.html#FE-SCALE-DECIBEL"><code class="constant">FE_SCALE_DECIBEL</code></a>; 444 * u.st.stat.svalue[3] = layer C statistics; 445 * u.st.stat.scale[3] = <a class="link" href="frontend-properties.html#FE-SCALE-DECIBEL"><code class="constant">FE_SCALE_DECIBEL</code></a>; 446 * u.st.len = 4; 447 */ 448struct <a class="link" href="frontend-properties.html#dtv-stats" title="struct dtv_stats">dtv_stats</a> { 449 __u8 scale; /* enum fecap_scale_params type */ 450 union { 451 __u64 uvalue; /* for counters and relative scales */ 452 __s64 svalue; /* for 0.001 dB measures */ 453 }; 454} __attribute__ ((packed)); 455 456 457#define MAX_DTV_STATS 4 458 459struct <a class="link" href="frontend-properties.html#dtv-fe-stats" title="struct dtv_fe_stats">dtv_fe_stats</a> { 460 __u8 len; 461 struct dtv_stats stat[MAX_DTV_STATS]; 462} __attribute__ ((packed)); 463 464struct <a class="link" href="frontend-properties.html#dtv-property" title="struct dtv_property">dtv_property</a> { 465 __u32 cmd; 466 __u32 reserved[3]; 467 union { 468 __u32 data; 469 struct dtv_fe_stats st; 470 struct { 471 __u8 data[32]; 472 __u32 len; 473 __u32 reserved1[3]; 474 void *reserved2; 475 } buffer; 476 } u; 477 int result; 478} __attribute__ ((packed)); 479 480/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */ 481#define DTV_IOCTL_MAX_MSGS 64 482 483struct <a class="link" href="frontend-properties.html#dtv-properties" title="struct dtv_properties">dtv_properties</a> { 484 __u32 num; 485 struct dtv_property *props; 486}; 487 488#if defined(__DVB_CORE__) || !defined (__KERNEL__) 489 490/* 491 * DEPRECATED: The DVBv3 ioctls, structs and enums should not be used on 492 * newer programs, as it doesn't support the second generation of digital 493 * TV standards, nor supports newer delivery systems. 494 */ 495 496enum fe_bandwidth { 497 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-8-MHZ"><code class="constant">BANDWIDTH_8_MHZ</code></a>, 498 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-7-MHZ"><code class="constant">BANDWIDTH_7_MHZ</code></a>, 499 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-6-MHZ"><code class="constant">BANDWIDTH_6_MHZ</code></a>, 500 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-AUTO"><code class="constant">BANDWIDTH_AUTO</code></a>, 501 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-5-MHZ"><code class="constant">BANDWIDTH_5_MHZ</code></a>, 502 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-10-MHZ"><code class="constant">BANDWIDTH_10_MHZ</code></a>, 503 <a class="link" href="frontend_legacy_dvbv3_api.html#BANDWIDTH-1-712-MHZ"><code class="constant">BANDWIDTH_1_712_MHZ</code></a>, 504}; 505 506/* This is needed for legacy userspace support */ 507typedef enum fe_sec_voltage fe_sec_voltage_t; 508typedef enum fe_caps fe_caps_t; 509typedef enum fe_type fe_type_t; 510typedef enum fe_sec_tone_mode fe_sec_tone_mode_t; 511typedef enum fe_sec_mini_cmd fe_sec_mini_cmd_t; 512typedef enum fe_status fe_status_t; 513typedef enum fe_spectral_inversion fe_spectral_inversion_t; 514typedef enum fe_code_rate fe_code_rate_t; 515typedef enum fe_modulation fe_modulation_t; 516typedef enum fe_transmit_mode fe_transmit_mode_t; 517typedef enum fe_bandwidth fe_bandwidth_t; 518typedef enum fe_guard_interval fe_guard_interval_t; 519typedef enum fe_hierarchy fe_hierarchy_t; 520typedef enum fe_pilot fe_pilot_t; 521typedef enum fe_rolloff fe_rolloff_t; 522typedef enum fe_delivery_system fe_delivery_system_t; 523 524struct <a class="link" href="frontend_legacy_dvbv3_api.html#dvb-qpsk-parameters" title="QPSK parameters">dvb_qpsk_parameters</a> { 525 __u32 symbol_rate; /* symbol rate in Symbols per second */ 526 fe_code_rate_t fec_inner; /* forward error correction (see above) */ 527}; 528 529struct <a class="link" href="frontend_legacy_dvbv3_api.html#dvb-qam-parameters" title="QAM parameters">dvb_qam_parameters</a> { 530 __u32 symbol_rate; /* symbol rate in Symbols per second */ 531 fe_code_rate_t fec_inner; /* forward error correction (see above) */ 532 fe_modulation_t modulation; /* modulation type (see above) */ 533}; 534 535struct <a class="link" href="frontend_legacy_dvbv3_api.html#dvb-vsb-parameters" title="VSB parameters">dvb_vsb_parameters</a> { 536 fe_modulation_t modulation; /* modulation type (see above) */ 537}; 538 539struct <a class="link" href="frontend_legacy_dvbv3_api.html#dvb-ofdm-parameters" title="OFDM parameters">dvb_ofdm_parameters</a> { 540 fe_bandwidth_t bandwidth; 541 fe_code_rate_t code_rate_HP; /* high priority stream code rate */ 542 fe_code_rate_t code_rate_LP; /* low priority stream code rate */ 543 fe_modulation_t constellation; /* modulation type (see above) */ 544 fe_transmit_mode_t transmission_mode; 545 fe_guard_interval_t guard_interval; 546 fe_hierarchy_t hierarchy_information; 547}; 548 549struct <a class="link" href="frontend_legacy_dvbv3_api.html#dvb-frontend-parameters" title="frontend parameters">dvb_frontend_parameters</a> { 550 __u32 frequency; /* (absolute) frequency in Hz for DVB-C/DVB-T/ATSC */ 551 /* intermediate frequency in kHz for DVB-S */ 552 fe_spectral_inversion_t inversion; 553 union { 554 struct dvb_qpsk_parameters qpsk; /* DVB-S */ 555 struct dvb_qam_parameters qam; /* DVB-C */ 556 struct dvb_ofdm_parameters ofdm; /* DVB-T */ 557 struct dvb_vsb_parameters vsb; /* ATSC */ 558 } u; 559}; 560 561struct <a class="link" href="frontend_legacy_dvbv3_api.html#dvb-frontend-event" title="frontend events">dvb_frontend_event</a> { 562 fe_status_t status; 563 struct dvb_frontend_parameters parameters; 564}; 565#endif 566 567#define <a class="link" href="FE_GET_PROPERTY.html" title="ioctl FE_SET_PROPERTY, FE_GET_PROPERTY">FE_SET_PROPERTY</a> _IOW('o', 82, struct dtv_properties) 568#define <a class="link" href="FE_GET_PROPERTY.html" title="ioctl FE_SET_PROPERTY, FE_GET_PROPERTY">FE_GET_PROPERTY</a> _IOR('o', 83, struct dtv_properties) 569 570/** 571 * When set, this flag will disable any zigzagging or other "normal" tuning 572 * behaviour. Additionally, there will be no automatic monitoring of the lock 573 * status, and hence no frontend events will be generated. If a frontend device 574 * is closed, this flag will be automatically turned off when the device is 575 * reopened read-write. 576 */ 577#define FE_TUNE_MODE_ONESHOT 0x01 578 579#define <a class="link" href="FE_GET_INFO.html" title="ioctl FE_GET_INFO">FE_GET_INFO</a> _IOR('o', 61, struct dvb_frontend_info) 580 581#define <a class="link" href="FE_DISEQC_RESET_OVERLOAD.html" title="ioctl FE_DISEQC_RESET_OVERLOAD">FE_DISEQC_RESET_OVERLOAD</a> _IO('o', 62) 582#define <a class="link" href="FE_DISEQC_SEND_MASTER_CMD.html" title="ioctl FE_DISEQC_SEND_MASTER_CMD">FE_DISEQC_SEND_MASTER_CMD</a> _IOW('o', 63, struct dvb_diseqc_master_cmd) 583#define <a class="link" href="FE_DISEQC_RECV_SLAVE_REPLY.html" title="ioctl FE_DISEQC_RECV_SLAVE_REPLY">FE_DISEQC_RECV_SLAVE_REPLY</a> _IOR('o', 64, struct dvb_diseqc_slave_reply) 584#define <a class="link" href="FE_DISEQC_SEND_BURST.html" title="ioctl FE_DISEQC_SEND_BURST">FE_DISEQC_SEND_BURST</a> _IO('o', 65) /* fe_sec_mini_cmd_t */ 585 586#define <a class="link" href="FE_SET_TONE.html" title="ioctl FE_SET_TONE">FE_SET_TONE</a> _IO('o', 66) /* fe_sec_tone_mode_t */ 587#define <a class="link" href="FE_SET_VOLTAGE.html" title="ioctl FE_SET_VOLTAGE">FE_SET_VOLTAGE</a> _IO('o', 67) /* fe_sec_voltage_t */ 588#define <a class="link" href="FE_ENABLE_HIGH_LNB_VOLTAGE.html" title="ioctl FE_ENABLE_HIGH_LNB_VOLTAGE">FE_ENABLE_HIGH_LNB_VOLTAGE</a> _IO('o', 68) /* int */ 589 590#define <a class="link" href="FE_READ_STATUS.html" title="ioctl FE_READ_STATUS">FE_READ_STATUS</a> _IOR('o', 69, fe_status_t) 591#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_READ_BER" title="FE_READ_BER">FE_READ_BER</a> _IOR('o', 70, __u32) 592#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_READ_SIGNAL_STRENGTH" title="FE_READ_SIGNAL_STRENGTH">FE_READ_SIGNAL_STRENGTH</a> _IOR('o', 71, __u16) 593#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_READ_SNR" title="FE_READ_SNR">FE_READ_SNR</a> _IOR('o', 72, __u16) 594#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_READ_UNCORRECTED_BLOCKS" title="FE_READ_UNCORRECTED_BLOCKS">FE_READ_UNCORRECTED_BLOCKS</a> _IOR('o', 73, __u32) 595 596#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_SET_FRONTEND" title="FE_SET_FRONTEND">FE_SET_FRONTEND</a> _IOW('o', 76, struct dvb_frontend_parameters) 597#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_GET_FRONTEND" title="FE_GET_FRONTEND">FE_GET_FRONTEND</a> _IOR('o', 77, struct dvb_frontend_parameters) 598#define <a class="link" href="FE_SET_FRONTEND_TUNE_MODE.html" title="ioctl FE_SET_FRONTEND_TUNE_MODE">FE_SET_FRONTEND_TUNE_MODE</a> _IO('o', 81) /* unsigned int */ 599#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_GET_EVENT" title="FE_GET_EVENT">FE_GET_EVENT</a> _IOR('o', 78, struct dvb_frontend_event) 600 601#define <a class="link" href="frontend_legacy_dvbv3_api.html#FE_DISHNETWORK_SEND_LEGACY_CMD" title="FE_DISHNETWORK_SEND_LEGACY_CMD">FE_DISHNETWORK_SEND_LEGACY_CMD</a> _IO('o', 80) /* unsigned int */ 602 603#endif /*_DVBFRONTEND_H_*/ 604</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dmx_h.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="dvbapi.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="net_h.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix H. DVB Demux Header File </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix J. DVB Network Header File</td></tr></table></div></body></html> 605