libdvbv5  1.6.3
Library to work with Digital TV devices on Linux
desc_sat.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011-2014 - Mauro Carvalho Chehab
3  * Copyright (c) 2012 - Andre Roth <neolynx@gmail.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation version 2
8  * of the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  *
20  */
21 
38 #ifndef _SAT_H
39 #define _SAT_H
40 
41 #include <libdvbv5/descriptors.h>
42 
64 struct dvb_desc_sat {
65  uint8_t type;
66  uint8_t length;
67  struct dvb_desc *next;
68 
69  uint32_t frequency;
70  uint16_t orbit;
71  uint8_t modulation_type:2;
72  uint8_t modulation_system:1;
73  uint8_t roll_off:2;
74  uint8_t polarization:2;
75  uint8_t west_east:1;
76  union {
77  uint32_t bitfield;
78  struct {
79  uint32_t fec:4;
80  uint32_t symbol_rate:28;
81  } __attribute__((packed));
82  } __attribute__((packed));
83 } __attribute__((packed));
84 
85 struct dvb_v5_fe_parms;
86 
87 #ifdef __cplusplus
88 extern "C" {
89 #endif
90 
107 int dvb_desc_sat_init(struct dvb_v5_fe_parms *parms,
108  const uint8_t *buf, struct dvb_desc *desc);
109 
117 void dvb_desc_sat_print(struct dvb_v5_fe_parms *parms,
118  const struct dvb_desc *desc);
119 
124 extern const unsigned dvbs_dvbc_dvbs_freq_inner[];
125 
130 extern const unsigned dvbs_polarization[];
131 
136 extern const unsigned dvbs_rolloff[];
137 
142 extern const unsigned dvbs_modulation[];
143 
144 #ifdef __cplusplus
145 }
146 #endif
147 
148 #endif
struct dvb_desc * next
Definition: desc_sat.h:67
uint8_t polarization
Definition: desc_sat.h:74
uint8_t length
Definition: desc_sat.h:66
const unsigned dvbs_dvbc_dvbs_freq_inner[]
converts from the descriptor's FEC into enum fe_code_rate, as defined by DVBv5 API.
void dvb_desc_sat_print(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc)
Prints the content of the satellite delivery system descriptor.
const unsigned dvbs_modulation[]
converts from the descriptor's modulation into enum fe_modulation, as defined by DVBv5 API...
int dvb_desc_sat_init(struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc)
Initializes and parses the satellite delivery system descriptor.
uint8_t type
Definition: desc_sat.h:65
uint32_t symbol_rate
Definition: desc_sat.h:80
Keeps data needed to handle the DVB frontend.
Definition: dvb-fe.h:118
uint8_t modulation_type
Definition: desc_sat.h:71
Structure containing the satellite delivery system descriptor.
Definition: desc_sat.h:64
uint32_t frequency
Definition: desc_sat.h:69
uint32_t fec
Definition: desc_sat.h:79
const unsigned dvbs_rolloff[]
converts from the descriptor's rolloff into enum fe_rolloff, as defined by DVBv5 API.
uint32_t bitfield
Definition: desc_sat.h:77
Linked list containing the several descriptors found on a MPEG-TS table.
Definition: descriptors.h:118
uint8_t modulation_system
Definition: desc_sat.h:72
uint8_t roll_off
Definition: desc_sat.h:73
const unsigned dvbs_polarization[]
converts from the descriptor's polarization into enum dvb_sat_polarization, as defined at dvb-v5-std...
uint16_t orbit
Definition: desc_sat.h:70
uint8_t west_east
Definition: desc_sat.h:75
Provides a way to handle MPEG-TS descriptors found on Digital TV streams.