libdvbv5  1.4.0
Library to work with Digital TV streams
dvb-v5-std.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011-2014 - Mauro Carvalho Chehab
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation version 2
7  * 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 General Public License for more details.
13  *
14  * You should have received a copy of the GNU 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  * Per-delivery system properties defined at libdvbv5 scope, following
20  * the same model as defined at the Linux DVB media specs:
21  * http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html
22  */
23 #ifndef _DVB_V5_STD_H
24 #define _DVB_V5_STD_H
25 
26 #include <stddef.h>
27 #include "dvb-frontend.h"
28 
38 /*
39  * User DTV codes, for internal usage. There are two sets of
40  * properties. One for DTV properties and another one for statistics
41  */
42 
43 /*
44  * First set: DTV properties that don't belong to Kernelspace
45  *
46  * Those properties contain data that comes from the MPEG-TS
47  * tables, like audio/video/other PIDs, and satellite config
48  */
49 
87 #define DTV_USER_COMMAND_START 256
88 
89 #define DTV_POLARIZATION (DTV_USER_COMMAND_START + 0)
90 #define DTV_VIDEO_PID (DTV_USER_COMMAND_START + 1)
91 #define DTV_AUDIO_PID (DTV_USER_COMMAND_START + 2)
92 #define DTV_SERVICE_ID (DTV_USER_COMMAND_START + 3)
93 #define DTV_CH_NAME (DTV_USER_COMMAND_START + 4)
94 #define DTV_VCHANNEL (DTV_USER_COMMAND_START + 5)
95 #define DTV_SAT_NUMBER (DTV_USER_COMMAND_START + 6)
96 #define DTV_DISEQC_WAIT (DTV_USER_COMMAND_START + 7)
97 #define DTV_DISEQC_LNB (DTV_USER_COMMAND_START + 8)
98 #define DTV_FREQ_BPF (DTV_USER_COMMAND_START + 9)
99 #define DTV_PLS_CODE (DTV_USER_COMMAND_START + 10)
100 #define DTV_PLS_MODE (DTV_USER_COMMAND_START + 11)
101 
102 #define DTV_MAX_USER_COMMAND DTV_PLS_MODE
103 
104 #define DTV_USER_NAME_SIZE (1 + DTV_MAX_USER_COMMAND - DTV_USER_COMMAND_START)
105 
121 };
122 
123 /*
124  * Second set: DTV statistics
125  *
126  * Those properties contain statistics measurements that aren't
127  * either provided by the Kernel via property cmd/value pair,
128  * like status (with has its own ioctl), or that are derivated
129  * measures from two or more Kernel reported stats.
130  */
131 
164 #define DTV_STAT_COMMAND_START 512
165 
166 #define DTV_STATUS (DTV_STAT_COMMAND_START + 0)
167 #define DTV_BER (DTV_STAT_COMMAND_START + 1)
168 #define DTV_PER (DTV_STAT_COMMAND_START + 2)
169 #define DTV_QUALITY (DTV_STAT_COMMAND_START + 3)
170 #define DTV_PRE_BER (DTV_STAT_COMMAND_START + 4)
171 
172 #define DTV_MAX_STAT_COMMAND DTV_PRE_BER
173 
174 #define DTV_STAT_NAME_SIZE (1 + DTV_MAX_STAT_COMMAND - DTV_STAT_COMMAND_START)
175 
176 /* There are currently 8 stats provided on Kernelspace */
177 #define DTV_NUM_KERNEL_STATS 8
178 
179 #define DTV_NUM_STATS_PROPS (DTV_NUM_KERNEL_STATS + DTV_STAT_NAME_SIZE)
180 
201 };
202 
203 #ifndef _DOXYGEN
204 
205 /*
206  * Some tables to translate from value to string
207  *
208  * These tables are raw ways to translate from some DTV values into strings.
209  * Please use the API-provided function dvb_cmd_name() and dvb_dvb_attr_names(),
210  * instead of using the tables directly.
211  */
212 
213 extern const unsigned int sys_dvbt_props[];
214 extern const unsigned int sys_dvbt2_props[];
215 extern const unsigned int sys_isdbt_props[];
216 extern const unsigned int sys_atsc_props[];
217 extern const unsigned int sys_atscmh_props[];
218 extern const unsigned int sys_dvbc_annex_ac_props[];
219 extern const unsigned int sys_dvbc_annex_b_props[];
220 extern const unsigned int sys_dvbs_props[];
221 extern const unsigned int sys_dvbs2_props[];
222 extern const unsigned int sys_turbo_props[];
223 extern const unsigned int sys_isdbs_props[];
224 extern const unsigned int *dvb_v5_delivery_system[];
225 extern const char *dvb_sat_pol_name[6];
226 extern const char *dvb_user_name[DTV_USER_NAME_SIZE + 1];
227 extern const char *dvb_stat_name[DTV_STAT_NAME_SIZE + 1];
228 extern const void *dvb_user_attr_names[];
229 
230 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
231 
232 #endif
dvb_quality
enum dvb_quality - provides an estimation about the user's experience while watching to a given MPEG ...
Definition: dvb-v5-std.h:196
#define DTV_USER_NAME_SIZE
Number of user commands.
Definition: dvb-v5-std.h:104
dvb_sat_polarization
enum dvb_sat_polarization - Polarization types for Satellite systems
Definition: dvb-v5-std.h:115
#define DTV_STAT_NAME_SIZE
Number of statistics commands.
Definition: dvb-v5-std.h:174