fix bug
[enigma2.git] / lib / dvb / frontendparms.h
1 #ifndef __lib_dvb_frontendparms_h
2 #define __lib_dvb_frontendparms_h
3
4 class SatelliteDeliverySystemDescriptor;
5 class CableDeliverySystemDescriptor;
6 class TerrestrialDeliverySystemDescriptor;
7
8 struct eDVBFrontendParametersSatellite
9 {
10 #ifndef SWIG
11         void set(const SatelliteDeliverySystemDescriptor  &);
12 #endif
13         struct Polarisation
14         {
15                 enum {
16                         Horizontal, Vertical, CircularLeft, CircularRight
17                 };
18         };
19         struct Inversion
20         {
21                 enum {
22                         Off, On, Unknown
23                 };
24         };
25         struct FEC
26         {
27                 enum {
28                         fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, f3_5, f4_5, f9_10, fNone=15
29                 };
30         };
31         struct System
32         {
33                 enum {
34                         DVB_S, DVB_S2
35                 };
36         };
37         struct Modulation
38         {
39                 enum {
40                         Auto, QPSK, M8PSK, QAM_16
41                 };
42         };
43         struct RollOff  // dvb-s2
44         {
45                 enum {
46                         alpha_0_35, alpha_0_25, alpha_0_20, alpha_auto
47                 };
48         };
49         bool no_rotor_command_on_tune;
50         unsigned int frequency, symbol_rate;
51         int polarisation, fec, inversion, orbital_position, system, modulation, roll_off;
52 };
53
54 struct eDVBFrontendParametersCable
55 {
56 #ifndef SWIG
57         void set(const CableDeliverySystemDescriptor  &);
58 #endif
59         struct Inversion
60         {
61                 enum {
62                         Off, On, Unknown
63                 };
64         };
65         struct FEC
66         {
67                 enum {
68                         fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, fNone=15
69                 };
70         };
71         struct Modulation {
72                 enum {
73                         Auto, QAM16, QAM32, QAM64, QAM128, QAM256
74                 };
75         };
76         unsigned int frequency, symbol_rate;
77         int modulation, inversion, fec_inner;
78 };
79
80 struct eDVBFrontendParametersTerrestrial
81 {
82 #ifndef SWIG
83  void set(const TerrestrialDeliverySystemDescriptor  &);
84 #endif
85         struct Bandwidth {
86                 enum {
87                         Bw8MHz, Bw7MHz, Bw6MHz, /*Bw5MHz,*/ BwAuto
88                 }; // Bw5Mhz nyi (compatibilty with enigma1)
89         };
90         struct FEC
91         {
92                 enum {
93                         f1_2, f2_3, f3_4, f5_6, f7_8, fAuto
94                 };
95         };
96         struct TransmissionMode {
97                 enum {
98                         TM2k, TM8k, /*TM4k,*/ TMAuto
99                 }; // TM4k nyi (compatibility with enigma1)
100         };
101         struct GuardInterval {
102                 enum {
103                         GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_Auto
104                 };
105         };
106         struct Hierarchy {
107                 enum {
108                         HNone, H1, H2, H4, HAuto
109                 };
110         };
111         struct Modulation {
112                 enum {
113                         QPSK, QAM16, QAM64, Auto
114                 };
115         };
116         struct Inversion
117         {
118                 enum {
119                         Off, On, Unknown
120                 };
121         };
122         unsigned int frequency;
123         int bandwidth;
124         int code_rate_HP, code_rate_LP;
125         int modulation;
126         int transmission_mode;
127         int guard_interval;
128         int hierarchy;
129         int inversion;
130 };
131
132 #endif