libdvbv5  1.11.0
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 modify
6  * it under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation version 2.1 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
18  *
19  */
20 
37 #ifndef _SAT_H
38 #define _SAT_H
39 
40 #include <libdvbv5/descriptors.h>
41 
63 struct dvb_desc_sat {
64  uint8_t type;
65  uint8_t length;
66  struct dvb_desc *next;
67 
68  uint32_t frequency;
69  uint16_t orbit;
70  uint8_t modulation_type:2;
71  uint8_t modulation_system:1;
72  uint8_t roll_off:2;
73  uint8_t polarization:2;
74  uint8_t west_east:1;
75  union {
76  uint32_t bitfield;
77  struct {
78  uint32_t fec:4;
79  uint32_t symbol_rate:28;
80  } __attribute__((packed));
81  } __attribute__((packed));
82 } __attribute__((packed));
83 
84 struct dvb_v5_fe_parms;
85 
86 #ifdef __cplusplus
87 extern "C" {
88 #endif
89 
106 int dvb_desc_sat_init(struct dvb_v5_fe_parms *parms,
107  const uint8_t *buf, struct dvb_desc *desc);
108 
116 void dvb_desc_sat_print(struct dvb_v5_fe_parms *parms,
117  const struct dvb_desc *desc);
118 
123 extern const unsigned dvbs_dvbc_dvbs_freq_inner[];
124 
129 extern const unsigned dvbs_polarization[];
130 
135 extern const unsigned dvbs_rolloff[];
136 
141 extern const unsigned dvbs_modulation[];
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 #endif
struct dvb_desc * next
Definition: desc_sat.h:66
uint8_t polarization
Definition: desc_sat.h:73
uint8_t length
Definition: desc_sat.h:65
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:64
uint32_t symbol_rate
Definition: desc_sat.h:79
Keeps data needed to handle the DVB frontend.
Definition: dvb-fe.h:117
uint8_t modulation_type
Definition: desc_sat.h:70
Structure containing the satellite delivery system descriptor.
Definition: desc_sat.h:63
uint32_t frequency
Definition: desc_sat.h:68
uint32_t fec
Definition: desc_sat.h:78
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:76
Linked list containing the several descriptors found on a MPEG-TS table.
Definition: descriptors.h:117
uint8_t modulation_system
Definition: desc_sat.h:71
uint8_t roll_off
Definition: desc_sat.h:72
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:69
uint8_t west_east
Definition: desc_sat.h:74
Provides a way to handle MPEG-TS descriptors found on Digital TV streams.