OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [dvb/] [frontend.h] - Blame information for rev 13

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.