DVBCore  22.11.0
Open Source DVB Engine
ap_cfg.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 // pre-processor mechanism so multiple inclusions don't cause compilation error
26 
27 #ifndef _AP_CFG_H
28 #define _AP_CFG_H
29 
30 #include "techtype.h"
31 #include "stbdpc.h"
32 #include "stbsitab.h"
33 
34 //---Constant and macro definitions for public use-----------------------------
35 
36 #define ACFG_INVALID_REGION 255
37 #define ACFG_INVALID_LANG 255
38 
39 /* Country codes - please add new countries in alphabetical order */
40 
41 #define COUNTRY_CODE_ARGENTINA (U32BIT)(('a' << 16) | ('r' << 8) | 'g')
42 #define COUNTRY_CODE_AUSTRALIA (U32BIT)(('a' << 16) | ('u' << 8) | 's')
43 #define COUNTRY_CODE_AUSTRIA (U32BIT)(('a' << 16) | ('u' << 8) | 't')
44 #define COUNTRY_CODE_BELGIUM (U32BIT)(('b' << 16) | ('e' << 8) | 'l')
45 #define COUNTRY_CODE_BOLIVIA (U32BIT)(('b' << 16) | ('o' << 8) | 'l')
46 #define COUNTRY_CODE_BRAZIL (U32BIT)(('b' << 16) | ('r' << 8) | 'a')
47 #define COUNTRY_CODE_CHILE (U32BIT)(('c' << 16) | ('h' << 8) | 'l')
48 #define COUNTRY_CODE_CHINA (U32BIT)(('c' << 16) | ('h' << 8) | 'i')
49 #define COUNTRY_CODE_COLOMBIA (U32BIT)(('c' << 16) | ('o' << 8) | 'l')
50 #define COUNTRY_CODE_COSTARICA (U32BIT)(('c' << 16) | ('r' << 8) | 'i')
51 #define COUNTRY_CODE_CROATIA (U32BIT)(('h' << 16) | ('r' << 8) | 'v')
52 #define COUNTRY_CODE_CZECHREP (U32BIT)(('c' << 16) | ('z' << 8) | 'e')
53 #define COUNTRY_CODE_DENMARK (U32BIT)(('d' << 16) | ('n' << 8) | 'k')
54 #define COUNTRY_CODE_DOMINICANREP (U32BIT)(('d' << 16) | ('m' << 8) | 'a')
55 #define COUNTRY_CODE_ECUADOR (U32BIT)(('e' << 16) | ('c' << 8) | 'u')
56 #define COUNTRY_CODE_ELSALVADOR (U32BIT)(('s' << 16) | ('l' << 8) | 'v')
57 #define COUNTRY_CODE_FINLAND (U32BIT)(('f' << 16) | ('i' << 8) | 'n')
58 #define COUNTRY_CODE_FRANCE (U32BIT)(('f' << 16) | ('r' << 8) | 'a')
59 #define COUNTRY_CODE_GERMANY (U32BIT)(('d' << 16) | ('e' << 8) | 'u')
60 #define COUNTRY_CODE_GUATEMALA (U32BIT)(('g' << 16) | ('t' << 8) | 'm')
61 #define COUNTRY_CODE_HONDURAS (U32BIT)(('h' << 16) | ('n' << 8) | 'd')
62 #define COUNTRY_CODE_HUNGARY (U32BIT)(('h' << 16) | ('u' << 8) | 'n')
63 #define COUNTRY_CODE_IRELAND (U32BIT)(('i' << 16) | ('r' << 8) | 'l')
64 #define COUNTRY_CODE_ITALY (U32BIT)(('i' << 16) | ('t' << 8) | 'a')
65 #define COUNTRY_CODE_LATVIA (U32BIT)(('l' << 16) | ('v' << 8) | 'a')
66 #define COUNTRY_CODE_LUXEMBOURG (U32BIT)(('l' << 16) | ('u' << 8) | 'x')
67 #define COUNTRY_CODE_MEXICO (U32BIT)(('m' << 16) | ('e' << 8) | 'x')
68 #define COUNTRY_CODE_NETHERLANDS (U32BIT)(('n' << 16) | ('l' << 8) | 'd')
69 #define COUNTRY_CODE_NICARAGUA (U32BIT)(('n' << 16) | ('i' << 8) | 'c')
70 #define COUNTRY_CODE_NORWAY (U32BIT)(('n' << 16) | ('o' << 8) | 'r')
71 #define COUNTRY_CODE_PANAMA (U32BIT)(('p' << 16) | ('a' << 8) | 'n')
72 #define COUNTRY_CODE_PERU (U32BIT)(('p' << 16) | ('e' << 8) | 'r')
73 #define COUNTRY_CODE_POLAND (U32BIT)(('p' << 16) | ('o' << 8) | 'l')
74 #define COUNTRY_CODE_PORTUGAL (U32BIT)(('p' << 16) | ('o' << 8) | 'r')
75 #define COUNTRY_CODE_RUSSIA (U32BIT)(('r' << 16) | ('u' << 8) | 's')
76 #define COUNTRY_CODE_SERBIA (U32BIT)(('s' << 16) | ('r' << 8) | 'b')
77 #define COUNTRY_CODE_SLOVAKIA (U32BIT)(('s' << 16) | ('v' << 8) | 'k')
78 #define COUNTRY_CODE_SLOVENIA (U32BIT)(('s' << 16) | ('v' << 8) | 'n')
79 #define COUNTRY_CODE_SOUTHAFRICA (U32BIT)(('z' << 16) | ('a' << 8) | 'f')
80 #define COUNTRY_CODE_SPAIN (U32BIT)(('e' << 16) | ('s' << 8) | 'p')
81 #define COUNTRY_CODE_SWEDEN (U32BIT)(('s' << 16) | ('w' << 8) | 'e')
82 #define COUNTRY_CODE_SWITZERLAND (U32BIT)(('c' << 16) | ('h' << 8) | 'e')
83 #define COUNTRY_CODE_UK (U32BIT)(('g' << 16) | ('b' << 8) | 'r')
84 #define COUNTRY_CODE_UKRAINE (U32BIT)(('u' << 16) | ('k' << 8) | 'r')
85 #define COUNTRY_CODE_VENEZUELA (U32BIT)(('v' << 16) | ('e' << 8) | 'n')
86 
87 #define COUNTRY_CODE_USERDEFINED (U32BIT)(('u' << 24) | ('s' << 16) | ('e' << 8) | 'r')
88 
89 
90 // define language codes. (note these should all be lower-case - si handling converts received
91 // codes into lower-case when the tables are parsed)
92 
93 #define ENGLISH_LANG_CODE (('e' << 16) | ('n' << 8) | 'g')
94 #define WELSH1_LANG_CODE (('w' << 16) | ('e' << 8) | 'l')
95 #define WELSH2_LANG_CODE (('c' << 16) | ('y' << 8) | 'm')
96 #define GAELIC_LANG_CODE (('g' << 16) | ('l' << 8) | 'a')
97 #define IRISH1_LANG_CODE (('i' << 16) | ('r' << 8) | 'i')
98 #define IRISH2_LANG_CODE (('g' << 16) | ('l' << 8) | 'e')
99 #define DUTCH1_LANG_CODE (('n' << 16) | ('l' << 8) | 'd')
100 #define DUTCH2_LANG_CODE (('d' << 16) | ('u' << 8) | 't')
101 #define GERMAN1_LANG_CODE (('g' << 16) | ('e' << 8) | 'r')
102 #define GERMAN2_LANG_CODE (('d' << 16) | ('e' << 8) | 'u')
103 #define FRENCH1_LANG_CODE (('f' << 16) | ('r' << 8) | 'e')
104 #define FRENCH2_LANG_CODE (('f' << 16) | ('r' << 8) | 'a')
105 #define RUSSIAN_LANG_CODE (('r' << 16) | ('u' << 8) | 's')
106 #define SIMPLIFIED_CHINESE_LANG_CODE (('c' << 16) | ('h' << 8) | 'i')
107 #define TRADITIONAL_CHINESE_LANG_CODE (('c' << 16) | ('h' << 8) | 'i')
108 #define FINNISH_LANG_CODE (('f' << 16) | ('i' << 8) | 'n')
109 #define SWEDISH_LANG_CODE (('s' << 16) | ('w' << 8) | 'e')
110 #define NORWEGIAN_LANG_CODE (('n' << 16) | ('o' << 8) | 'r')
111 #define DANISH_LANG_CODE (('d' << 16) | ('a' << 8) | 'n')
112 #define MANDARIN_LANG_CODE (('c' << 16) | ('m' << 8) | 'n')
113 #define CANTONESE_LANG_CODE (('y' << 16) | ('u' << 8) | 'e')
114 #define MAORI1_LANG_CODE (('m' << 16) | ('a' << 8) | 'o')
115 #define MAORI2_LANG_CODE (('m' << 16) | ('r' << 8) | 'i')
116 #define JAPANESE_LANG_CODE (('j' << 16) | ('p' << 8) | 'n')
117 #define ITALIAN_LANG_CODE (('i' << 16) | ('t' << 8) | 'a')
118 #define SPANISH1_LANG_CODE (('s' << 16) | ('p' << 8) | 'a')
119 #define SPANISH2_LANG_CODE (('e' << 16) | ('s' << 8) | 'l')
120 #define KOREAN_LANG_CODE (('k' << 16) | ('o' << 8) | 'r')
121 #define HINDI_LANG_CODE (('h' << 16) | ('i' << 8) | 'n')
122 #define CZECH1_LANG_CODE (('c' << 16) | ('z' << 8) | 'e')
123 #define CZECH2_LANG_CODE (('c' << 16) | ('e' << 8) | 's')
124 #define SLOVAK1_LANG_CODE (('s' << 16) | ('l' << 8) | 'k')
125 #define SLOVAK2_LANG_CODE (('s' << 16) | ('l' << 8) | 'o')
126 #define AFRIKAANS_LANG_CODE (('a' << 16) | ('f' << 8) | 'r')
127 #define NDEBELE_LANG_CODE (('n' << 16) | ('b' << 8) | 'l')
128 #define NORTHERN_SOTHO_LANG_CODE (('n' << 16) | ('s' << 8) | 'o')
129 #define SOUTHERN_SOTHO_LANG_CODE (('s' << 16) | ('o' << 8) | 't')
130 #define SWATI_LANG_CODE (('s' << 16) | ('s' << 8) | 'w')
131 #define TSONGA_LANG_CODE (('t' << 16) | ('s' << 8) | 'o')
132 #define TSWANA_LANG_CODE (('t' << 16) | ('s' << 8) | 'n')
133 #define VENDA_LANG_CODE (('v' << 16) | ('e' << 8) | 'n')
134 #define XHOSA_LANG_CODE (('x' << 16) | ('h' << 8) | 'o')
135 #define ZULU_LANG_CODE (('z' << 16) | ('u' << 8) | 'l')
136 #define CROATIAN_LANG_CODE (('h' << 16) | ('r' << 8) | 'v')
137 #define HUNGARIAN_LANG_CODE (('h' << 16) | ('u' << 8) | 'n')
138 #define LATVIAN_LANG_CODE (('l' << 16) | ('a' << 8) | 'v')
139 #define LUXEMBOURGISH_LANG_CODE (('l' << 16) | ('t' << 8) | 'z')
140 #define POLISH_LANG_CODE (('p' << 16) | ('o' << 8) | 'l')
141 #define PORTUGUESE_LANG_CODE (('p' << 16) | ('o' << 8) | 'r')
142 #define SERBIAN_LANG_CODE (('s' << 16) | ('r' << 8) | 'p')
143 #define ROMANIAN1_LANG_CODE (('r' << 16) | ('o' << 8) | 'n')
144 #define ROMANIAN2_LANG_CODE (('r' << 16) | ('u' << 8) | 'm')
145 #define ALBANIAN1_LANG_CODE (('s' << 16) | ('q' << 8) | 'i')
146 #define ALBANIAN2_LANG_CODE (('a' << 16) | ('l' << 8) | 'b')
147 #define SLOVENE_LANG_CODE (('s' << 16) | ('l' << 8) | 'v')
148 #define CATALAN_LANG_CODE (('c' << 16) | ('a' << 8) | 't')
149 #define GALICIAN_LANG_CODE (('g' << 16) | ('l' << 8) | 'g')
150 #define BASQUE1_LANG_CODE (('e' << 16) | ('u' << 8) | 's')
151 #define BASQUE2_LANG_CODE (('b' << 16) | ('a' << 8) | 'q')
152 #define UKRAINIAN_LANG_CODE (('u' << 16) | ('k' << 8) | 'r')
153 #define UND_LANG_CODE (('u' << 16) | ('n' << 8) | 'd')
154 #define ARABIC_LANG_CODE (('a' << 16) | ('r' << 8) | 'a')
155 
156 //---Enumerations for public use-----------------------------------------------
157 
158 /* Language IDs */
159 enum E_DVB_LANGUAGE_IDS
160 {
161  DVB_LANGUAGE_ENGLISH,
162  DVB_LANGUAGE_WELSH,
163  DVB_LANGUAGE_GAELIC,
164  DVB_LANGUAGE_IRISH,
165  DVB_LANGUAGE_FRENCH,
166  DVB_LANGUAGE_GERMAN,
167  DVB_LANGUAGE_DUTCH,
168  DVB_LANGUAGE_RUSSIAN,
169  DVB_LANGUAGE_SIMPLIFIED_CHINESE,
170  DVB_LANGUAGE_TRADITIONAL_CHINESE,
171  DVB_LANGUAGE_FINNISH,
172  DVB_LANGUAGE_SWEDISH,
173  DVB_LANGUAGE_NORWEGIAN,
174  DVB_LANGUAGE_DANISH,
175  DVB_LANGUAGE_MANDARIN,
176  DVB_LANGUAGE_CANTONESE,
177  DVB_LANGUAGE_MAORI,
178  DVB_LANGUAGE_JAPANESE,
179  DVB_LANGUAGE_ITALIAN,
180  DVB_LANGUAGE_SPANISH,
181  DVB_LANGUAGE_KOREAN,
182  DVB_LANGUAGE_HINDI,
183  DVB_LANGUAGE_CZECH,
184  DVB_LANGUAGE_SLOVAK,
185  DVB_LANGUAGE_AFRIKAANS,
186  DVB_LANGUAGE_NDEBELE,
187  DVB_LANGUAGE_NORTHERN_SOTHO,
188  DVB_LANGUAGE_SOUTHERN_SOTHO,
189  DVB_LANGUAGE_SWATI,
190  DVB_LANGUAGE_TSONGA,
191  DVB_LANGUAGE_TSWANA,
192  DVB_LANGUAGE_VENDA,
193  DVB_LANGUAGE_XHOSA,
194  DVB_LANGUAGE_ZULU,
195  DVB_LANGUAGE_CROATIAN,
196  DVB_LANGUAGE_HUNGARIAN,
197  DVB_LANGUAGE_LATVIAN,
198  DVB_LANGUAGE_LUXEMBOURGISH,
199  DVB_LANGUAGE_POLISH,
200  DVB_LANGUAGE_PORTUGUESE,
201  DVB_LANGUAGE_SERBIAN,
202  DVB_LANGUAGE_ROMANIAN,
203  DVB_LANGUAGE_ALBANIAN,
204  DVB_LANGUAGE_SLOVENE,
205  DVB_LANGUAGE_CATALAN,
206  DVB_LANGUAGE_GALICIAN,
207  DVB_LANGUAGE_BASQUE,
208  DVB_LANGUAGE_UKRAINIAN,
209  DVB_LANGUAGE_ARABIC
210 };
211 
212 /* Database lang definitions */
213 enum E_DB_LANGS
214 {
215  ACFG_DB_LANG_ENGLISH,
216  ACFG_DB_LANG_WELSH1,
217  ACFG_DB_LANG_WELSH2,
218  ACFG_DB_LANG_GAELIC,
219  ACFG_DB_LANG_IRISH1,
220  ACFG_DB_LANG_IRISH2,
221  ACFG_DB_LANG_DUTCH1,
222  ACFG_DB_LANG_DUTCH2,
223  ACFG_DB_LANG_GERMAN1,
224  ACFG_DB_LANG_GERMAN2,
225  ACFG_DB_LANG_FRENCH1,
226  ACFG_DB_LANG_FRENCH2,
227  ACFG_DB_LANG_RUSSIAN,
228  ACFG_DB_LANG_SIMPLIFIED_CHINESE,
229  ACFG_DB_LANG_TRADITIONAL_CHINESE,
230  ACFG_DB_LANG_FINNISH,
231  ACFG_DB_LANG_SWEDISH,
232  ACFG_DB_LANG_NORWEGIAN,
233  ACFG_DB_LANG_DANISH,
234  ACFG_DB_LANG_MANDARIN,
235  ACFG_DB_LANG_CANTONESE,
236  ACFG_DB_LANG_MAORI1,
237  ACFG_DB_LANG_MAORI2,
238  ACFG_DB_LANG_JAPANESE,
239  ACFG_DB_LANG_ITALIAN,
240  ACFG_DB_LANG_SPANISH1,
241  ACFG_DB_LANG_SPANISH2,
242  ACFG_DB_LANG_KOREAN,
243  ACFG_DB_LANG_HINDI,
244  ACFG_DB_LANG_CZECH1,
245  ACFG_DB_LANG_CZECH2,
246  ACFG_DB_LANG_SLOVAK1,
247  ACFG_DB_LANG_SLOVAK2,
248  ACFG_DB_LANG_AFRIKAANS,
249  ACFG_DB_LANG_NDEBELE,
250  ACFG_DB_LANG_NORTHERN_SOTHO,
251  ACFG_DB_LANG_SOUTHERN_SOTHO,
252  ACFG_DB_LANG_SWATI,
253  ACFG_DB_LANG_TSONGA,
254  ACFG_DB_LANG_TSWANA,
255  ACFG_DB_LANG_VENDA,
256  ACFG_DB_LANG_XHOSA,
257  ACFG_DB_LANG_ZULU,
258  ACFG_DB_LANG_CROATIAN,
259  ACFG_DB_LANG_HUNGARIAN,
260  ACFG_DB_LANG_LATVIAN,
261  ACFG_DB_LANG_LUXEMBOURGISH,
262  ACFG_DB_LANG_POLISH,
263  ACFG_DB_LANG_PORTUGUESE,
264  ACFG_DB_LANG_SERBIAN,
265  ACFG_DB_LANG_ROMANIAN1,
266  ACFG_DB_LANG_ROMANIAN2,
267  ACFG_DB_LANG_ALBANIAN1,
268  ACFG_DB_LANG_ALBANIAN2,
269  ACFG_DB_LANG_SLOVENE,
270  ACFG_DB_LANG_CATALAN,
271  ACFG_DB_LANG_GALICIAN,
272  ACFG_DB_LANG_BASQUE1,
273  ACFG_DB_LANG_BASQUE2,
274  ACFG_DB_LANG_UKRAINIAN,
275  ACFG_DB_LANG_UND,
276  ACFG_DB_LANG_ARABIC,
277  ACFG_NUM_DB_LANGUAGES
278 };
279 
280 /* Types of SI updates that are to be supported without requiring a scan to update the service database */
281 typedef enum
282 {
283  ACFG_DYNAMIC_SI_UPDATE_NONE = 0,
284  ACFG_DYNAMIC_SI_UPDATE_LCNS = 0x0001, /* Dynamic reassigmment of LCNs */
285  ACFG_DYNAMIC_SI_UPDATE_SERVICE_ADD = 0x0002,
286  ACFG_DYNAMIC_SI_UPDATE_SERVICE_REMOVE = 0x0004,
287  ACFG_DYNAMIC_SI_UPDATE_SERVICE_MOVE = 0x0008
288 } E_ACFG_DYNAMIC_SI_UPDATE_TYPE;
289 
290 
291 //---Global type defs for public use-------------------------------------------
292 
293 typedef struct ana_rf_channel_data
294 {
295  U8BIT *name;
296  U32BIT freq_hz;
298 
299 typedef struct ter_rf_channel_data
300 {
301  U8BIT *name;
302  U32BIT freq_hz;
303  E_STB_DP_TBWIDTH bwidth;
304  E_STB_DP_TMODE mode;
305  E_STB_DP_TTYPE type;
307 
308 typedef struct cab_rf_channel_data
309 {
310  U8BIT *name;
311  U32BIT freq_hz;
312  E_STB_DP_CMODE mode;
313  U16BIT symbol_rate;
315 
316 typedef struct
317 {
318  U16BIT update_types;
319  U16BIT original_network_id;
321 
322 typedef BOOLEAN (*AllocLcnFunc)(E_STB_DP_SIGNAL_TYPE tuner_type);
323 typedef void (*DBTidyFunc)(E_STB_DP_SIGNAL_TYPE tuner_type, BOOLEAN search_completed, BOOLEAN manual);
324 
325 typedef struct region_data_entry
326 {
327  U8BIT *name;
328  U8BIT code;
330 
331 typedef struct
332 {
333  U16BIT language_id;
334  U8BIT ids[3];
336 
337 typedef struct
338 {
339  U8BIT table_id;
340  STB_SI_USER_DEF_DESCRIP_FUNCTION func;
342 
343 
344 typedef struct
345 {
346  U8BIT *country_name;
347  U32BIT country_code;
348  U16BIT terr_onet_id;
349  U16BIT cab_onet_id;
350  U16BIT sat_onet_id;
351  U32BIT private_data_specifier;
352  U16BIT terr_first_unallocated_lcn;
353  U16BIT terr_last_unallocated_lcn;
354  U16BIT cab_first_unallocated_lcn;
355  U16BIT cab_last_unallocated_lcn;
356  U16BIT sat_first_unallocated_lcn;
357  U16BIT sat_last_unallocated_lcn;
358  AllocLcnFunc terr_lcn_func;
359  AllocLcnFunc cab_lcn_func;
360  AllocLcnFunc sat_lcn_func;
361  DBTidyFunc terr_db_tidy_func;
362  DBTidyFunc cab_db_tidy_func;
363  DBTidyFunc sat_db_tidy_func;
364  U16BIT start_watershed;
365  U16BIT end_watershed;
366  U8BIT num_regions;
367  ACFG_REGION_DATA *region_data;
368  U8BIT *event_content_types;
369  U16BIT num_ana_rf_channels;
370  ACFG_ANA_RF_CHANNEL_DATA *ana_rf_channel_table_ptr;
371  U16BIT num_ter_rf_channels;
372  ACFG_TER_RF_CHANNEL_DATA *ter_rf_channel_table_ptr;
373  U16BIT num_cab_rf_channels;
374  ACFG_CAB_RF_CHANNEL_DATA *cab_rf_channel_table_ptr;
375  U16BIT min_sat_freq;
376  U16BIT max_sat_freq;
377  U16BIT sat_freq_inc;
378  U8BIT num_symbol_rates;
379  U16BIT sat_symbol_rates[8];
380  BOOLEAN include_dvbs2;
381  BOOLEAN aerial_power_option_reqd;
382  BOOLEAN default_aerial_power;
383  BOOLEAN aerial_tuning_screen_reqd;
384  BOOLEAN nordig_compliant;
385  BOOLEAN terr_nordig_service;
386  BOOLEAN cab_nordig_service;
387  BOOLEAN sat_nordig_service;
388  U8BIT num_db_langs;
389  ACFG_LANGUAGE_IDS *db_lang_data;
390  U8BIT eit_searches_per_day; /* Number of times per day to perform an EIT search when in stand-by */
391  U8BIT eit_update_time; /* Maximum time needed to receive all the events on a transport */
392  ACFG_COUNTRY_SPECIFIC_DESCRIPTOR *si_descs; /* Array of SI descriptors, terminated by an entry with table ID 0 */
393  U8BIT default_secondary_language; /* Fall back language ID where a secondary language isn't defined */
394  ACFG_DYNAMIC_SI_UPDATES *terr_dynamic_si_updates;
395  ACFG_DYNAMIC_SI_UPDATES *cab_dynamic_si_updates;
396  ACFG_DYNAMIC_SI_UPDATES *sat_dynamic_si_updates;
398 
399 //---Global Function prototypes for public use---------------------------------
400 
405 U8BIT ACFG_GetNumCountries(void);
406 
411 U32BIT ACFG_GetCountry(void);
412 
420 void ACFG_GetCountryList(U8BIT ***str_array_ptr, U8BIT *num_countries_ptr);
421 
427 void ACFG_ReleaseCountryList(U8BIT **str_array, U8BIT num_countries);
428 
436 BOOLEAN ACFG_GetCountryConfig(U32BIT country_code, ACFG_COUNTRY_CONFIG *config);
437 
448 BOOLEAN ACFG_SetCountryConfig(U32BIT country_code, ACFG_COUNTRY_CONFIG *config);
449 
455 U8BIT ACFG_GetNumRegions(U32BIT country_code);
456 
467 BOOLEAN ACFG_GetRegionList(U32BIT country_code, U8BIT ***str_array_ptr, U8BIT *num_regions_ptr);
468 
476 BOOLEAN ACFG_GetRegionCode(U32BIT country_code, U8BIT region_id, U8BIT *code_ptr);
477 
483 void ACFG_ReleaseRegionList(U8BIT **str_array, U8BIT num_regions);
484 
490 U8BIT ACFG_GetCountryIndex(U32BIT country_code);
491 
496 U8BIT ACFG_GetRegionId(void);
497 
503 BOOLEAN ACFG_SetCountry(U32BIT country_code);
504 
511 U8BIT ACFG_GetNumDbLanguages(U32BIT country_code);
512 
523 BOOLEAN ACFG_SetDbLanguages(U32BIT country_code, ACFG_LANGUAGE_IDS *languages, U8BIT num_languages);
524 
536 BOOLEAN ACFG_GetDbLangList(U32BIT country_code, U8BIT ***str_array_ptr, U8BIT *num_langs_ptr);
537 
550 U8BIT* ACFG_GetDbLangId(U32BIT country_code, U8BIT lang_entry);
551 
557 void ACFG_ReleaseDbLangList(U8BIT **str_array, U8BIT num_langs);
558 
564 U8BIT ACFG_ConvertLangCodeToId(U32BIT lang_code);
565 
571 U32BIT ACFG_ConvertLangIdToCode(U8BIT lang_id);
572 
580 void ACFG_SetCountryIds(U32BIT country_code, U8BIT region_id, U8BIT audio_lang_id, U8BIT sub_lang_id);
581 
586 U8BIT ACFG_GetPrimaryAudioLangId(void);
587 
592 U8BIT ACFG_GetSecondaryAudioLangId(void);
593 
598 U8BIT ACFG_GetPrimaryTextLangId(void);
599 
604 U8BIT ACFG_GetSecondaryTextLangId(void);
605 
611 void ACFG_SetPrimaryAudioLangId(U8BIT lang_id);
612 
617 void ACFG_SetSecondaryAudioLangId(U8BIT lang_id);
618 
623 void ACFG_SetPrimaryTextLangId(U8BIT lang_id);
624 
629 void ACFG_SetSecondaryTextLangId(U8BIT lang_id);
630 
639 
647 BOOLEAN ACFG_GetAnaRfChannelTable(U32BIT country_code, ACFG_ANA_RF_CHANNEL_DATA **rf_chan_data_ptr,
648  U16BIT *num_entries_ptr);
649 
657 BOOLEAN ACFG_GetTerRfChannelTable(U32BIT country_code, ACFG_TER_RF_CHANNEL_DATA **rf_chan_data_ptr,
658  U16BIT *num_entries_ptr);
659 
667 BOOLEAN ACFG_GetCabRfChannelTable(U32BIT country_code, ACFG_CAB_RF_CHANNEL_DATA **rf_chan_data_ptr,
668  U16BIT *num_entries_ptr);
669 
675 void ACFG_SetCableChannelTable(ACFG_CAB_RF_CHANNEL_DATA *cable_channel_data, U16BIT number_channels);
676 
682 U32BIT ACFG_GetCountryCode(U8BIT country_id);
683 
690 U16BIT ACFG_GetOriginalNetworkID(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type);
691 
699 void ACFG_SetOriginalNetworkID(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type, U16BIT onet_id);
700 
707 U32BIT ACFG_GetPrivateDataSpecifier(U32BIT country_code);
708 
716 U16BIT ACFG_GetFirstUnallocatedLcn(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type);
717 
725 U16BIT ACFG_GetLastUnallocatedLcn(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type);
726 
734 BOOLEAN ACFG_GetWatershedTimes(U32BIT country_code, U16BIT *start_time, U16BIT *end_time);
735 
742 U16BIT ACFG_GetMinSatelliteScanFreq(U32BIT country_code);
743 
750 U16BIT ACFG_GetMaxSatelliteScanFreq(U32BIT country_code);
751 
758 U16BIT ACFG_GetSatelliteScanFreqInc(U32BIT country_code);
759 
766 U16BIT* ACFG_GetSatelliteScanSymbolRates(U32BIT country_code);
767 
774 U8BIT ACFG_GetSatelliteScanNumSymbolRates(U32BIT country_code);
775 
782 BOOLEAN ACFG_GetSatelliteScanDvbS2(U32BIT country_code);
783 
790 BOOLEAN ACFG_GetAerialPowerOptionReqd(U32BIT country_code);
791 
798 BOOLEAN ACFG_GetDefaultAerialPower(U32BIT country_code);
799 
806 BOOLEAN ACFG_GetAerialTuningScreenReqd(U32BIT country_code);
807 
816 U8BIT* ACFG_GetEventContentTypes(U32BIT country_code);
817 
824 void ACFG_SetBackgroundSearchTime(U16BIT start_time, U16BIT end_time);
825 
831 void ACFG_GetBackgroundSearchTime(U16BIT *start_time, U16BIT *end_time);
832 
837 void ACFG_SetBackgroundServiceSearch(BOOLEAN enabled);
838 
843 BOOLEAN ACFG_GetBackgroundServiceSearch(void);
844 
849 void ACFG_SetBackgroundSSUSearch(BOOLEAN enabled);
850 
855 BOOLEAN ACFG_GetBackgroundSSUSearch(void);
856 
861 BOOLEAN ACFG_IsNordigCountry(void);
862 
869 BOOLEAN ACFG_IsNordigService(E_STB_DP_SIGNAL_TYPE tuner_type);
870 
876 U8BIT ACFG_GetEitUpdateTime(void);
877 
883 U8BIT ACFG_GetEitSearchesPerDay(void);
884 
891 AllocLcnFunc ACFG_GetTerrestrialLcnFunction(U32BIT country_code);
892 
898 void ACFG_SetTerrestrialLcnFunction(U32BIT country_code, AllocLcnFunc func_ptr);
899 
906 AllocLcnFunc ACFG_GetCableLcnFunction(U32BIT country_code);
907 
913 void ACFG_SetCableLcnFunction(U32BIT country_code, AllocLcnFunc func_ptr);
914 
921 AllocLcnFunc ACFG_GetSatelliteLcnFunction(U32BIT country_code);
922 
928 void ACFG_SetSatelliteLcnFunction(U32BIT country_code, AllocLcnFunc func_ptr);
929 
936 DBTidyFunc ACFG_GetTerrestrialDBTidyFunction(U32BIT country_code);
937 
944 DBTidyFunc ACFG_GetCableDBTidyFunction(U32BIT country_code);
945 
952 DBTidyFunc ACFG_GetSatelliteDBTidyFunction(U32BIT country_code);
953 
961 void ACFG_SetUndefinedLanguageBehaviour(U32BIT lang_code);
962 
969 
974 void ACFG_SetHostCountryLanguageModuleId(U32BIT module);
975 
985 BOOLEAN ACFG_GetDynamicSIUpdate(E_STB_DP_SIGNAL_TYPE signal_type, U16BIT onet_id,
986  E_ACFG_DYNAMIC_SI_UPDATE_TYPE update_type);
987 
998 BOOLEAN ACFG_SetDynamicSIUpdates(E_STB_DP_SIGNAL_TYPE signal_type, ACFG_DYNAMIC_SI_UPDATES *dynamic_updates,
999  U8BIT num_updates);
1000 
1001 #endif // _AP_CFG_H
void ACFG_SetTerrestrialLcnFunction(U32BIT country_code, AllocLcnFunc func_ptr)
Overrides an existing DVB-T/T2 LCN allocation function for the given country.
Definition: ap_cfg.c:1869
U32BIT ACFG_GetUndefinedLanguageBehaviour(void)
Gets the language code set by ACFG_SetUndefinedLanguageBehaviour, or &#39;und&#39; if that function has not b...
Definition: ap_cfg.c:2135
AllocLcnFunc ACFG_GetTerrestrialLcnFunction(U32BIT country_code)
Returns a pointer to a function that&#39;s used to assign LCNs following a DVB-T/T2 scan for the given co...
Definition: ap_cfg.c:1842
BOOLEAN ACFG_GetWatershedTimes(U32BIT country_code, U16BIT *start_time, U16BIT *end_time)
Get the start and end times of the watershed hours for a country.
Definition: ap_cfg.c:1308
U8BIT ACFG_GetRegionId(void)
Returns the internal ID of the region the DVB is configured for.
Definition: ap_cfg.c:189
U8BIT ACFG_GetPrimaryAudioLangId(void)
Returns the primary audio language ID.
Definition: ap_cfg.c:204
void ACFG_ReleaseRegionList(U8BIT **str_array, U8BIT num_regions)
Frees the region array previously acquired using ACFG_GetRegionList.
Definition: ap_cfg.c:747
U16BIT ACFG_GetLastUnallocatedLcn(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type)
Returns the last LCN that should be used when assigning LCNs to services that don&#39;t appear in an LCN ...
Definition: ap_cfg.c:1269
void ACFG_GetBackgroundSearchTime(U16BIT *start_time, U16BIT *end_time)
Gets the background start and end search times.
Definition: ap_cfg.c:1649
BOOLEAN ACFG_GetDynamicSIUpdate(E_STB_DP_SIGNAL_TYPE signal_type, U16BIT onet_id, E_ACFG_DYNAMIC_SI_UPDATE_TYPE update_type)
Use to check whether a dynamic SI update is enabled for the currently configured country and given si...
Definition: ap_cfg.c:2166
U16BIT ACFG_GetMinSatelliteScanFreq(U32BIT country_code)
Returns the minimum frequency to be used when performing a satellite based frequency scan in the give...
Definition: ap_cfg.c:1340
void ACFG_SetCableLcnFunction(U32BIT country_code, AllocLcnFunc func_ptr)
Overrides an existing DVB-C LCN allocation function for the given country.
Definition: ap_cfg.c:1917
U8BIT ACFG_GetSecondaryAudioLangId(void)
Returns the secondary audio language ID.
Definition: ap_cfg.c:219
U8BIT ACFG_GetEitUpdateTime(void)
Returns the number of minutes after which all the events should have been received during an EIT sear...
Definition: ap_cfg.c:1818
Header file - macros and function prototypes for public use.
void ACFG_SetSecondaryTextLangId(U8BIT lang_id)
Sets the secondary language id to be used for teletext/subtitles.
Definition: ap_cfg.c:490
BOOLEAN ACFG_GetAnaRfChannelTable(U32BIT country_code, ACFG_ANA_RF_CHANNEL_DATA **rf_chan_data_ptr, U16BIT *num_entries_ptr)
Returns a pointer to the channel table for an analog tuner for the given country. ...
Definition: ap_cfg.c:1001
void ACFG_SetBackgroundServiceSearch(BOOLEAN enabled)
Enables or disables the background service search when in standby.
Definition: ap_cfg.c:1670
Definition: ap_cfg.h:337
DBTidyFunc ACFG_GetSatelliteDBTidyFunction(U32BIT country_code)
Returns a pointer to a function that&#39;s used to tidy up the database following a DVB-S/S2 scan for the...
Definition: ap_cfg.c:2042
U8BIT ACFG_GetNumRegions(U32BIT country_code)
Returns the number of regions in the given country.
Definition: ap_cfg.c:642
void ACFG_SetPrimaryAudioLangId(U8BIT lang_id)
Sets the primary language id to be used for audio. This is the language that will be chosen first...
Definition: ap_cfg.c:415
void ACFG_SetSatelliteLcnFunction(U32BIT country_code, AllocLcnFunc func_ptr)
Overrides an existing DVB-S/S2 LCN allocation function for the given country.
Definition: ap_cfg.c:1965
void ACFG_GetCountryList(U8BIT ***str_array_ptr, U8BIT *num_countries_ptr)
Returns an array containing the names of all the countries included in the DVB. The index into this a...
Definition: ap_cfg.c:518
BOOLEAN ACFG_GetCountryConfig(U32BIT country_code, ACFG_COUNTRY_CONFIG *config)
Copies the country configuration for the given country into the provided structure. None of the included arrays should be freed.
Definition: ap_cfg.c:572
U8BIT ACFG_GetNumCountries(void)
Returns the number of country configurations included in the DVB stack.
Definition: ap_cfg.c:139
U32BIT ACFG_ConvertLangIdToCode(U8BIT lang_id)
Returns the language code for the given language id.
Definition: ap_cfg.c:957
AllocLcnFunc ACFG_GetSatelliteLcnFunction(U32BIT country_code)
Returns a pointer to a function that&#39;s used to assign LCNs following a DVB-S/S2 scan for the given co...
Definition: ap_cfg.c:1938
BOOLEAN ACFG_GetRegionList(U32BIT country_code, U8BIT ***str_array_ptr, U8BIT *num_regions_ptr)
Returns an array of pointers to strings containing the region names for the given country...
Definition: ap_cfg.c:698
void ACFG_ReleaseCountryList(U8BIT **str_array, U8BIT num_countries)
Frees a country list previously acquired using ACFG_GetCountryList.
Definition: ap_cfg.c:551
Definition: ap_cfg.h:299
U8BIT ACFG_GetPrimaryTextLangId(void)
Returns the primary DVB subtitle/teletext language ID.
Definition: ap_cfg.c:234
BOOLEAN ACFG_GetBackgroundServiceSearch(void)
Returns whether the background service search is enabled or not.
Definition: ap_cfg.c:1683
BOOLEAN ACFG_GetAerialTuningScreenReqd(U32BIT country_code)
Returns whether an aerial tuning screen should be presented by the interface before performing a DVB-...
Definition: ap_cfg.c:1546
BOOLEAN ACFG_SetCountry(U32BIT country_code)
Sets the current country and sets default values for region and language.
Definition: ap_cfg.c:265
U8BIT ACFG_GetDefaultSecondaryLangId(void)
Returns the default secondary language for audio and subtitles as defined for the selected country...
Definition: ap_cfg.c:2071
U8BIT ACFG_GetSecondaryTextLangId(void)
Returns the secondary DVB subtitle/teletext language ID.
Definition: ap_cfg.c:249
BOOLEAN ACFG_GetCabRfChannelTable(U32BIT country_code, ACFG_CAB_RF_CHANNEL_DATA **rf_chan_data_ptr, U16BIT *num_entries_ptr)
Returns a pointer to the channel table for a cable tuner for the given country.
Definition: ap_cfg.c:1059
DBTidyFunc ACFG_GetCableDBTidyFunction(U32BIT country_code)
Returns a pointer to a function that&#39;s used to tidy up the database following a DVB-C scan for the gi...
Definition: ap_cfg.c:2014
BOOLEAN ACFG_GetBackgroundSSUSearch(void)
Returns whether the background SSU search is enabled or not.
Definition: ap_cfg.c:1713
void ACFG_SetCableChannelTable(ACFG_CAB_RF_CHANNEL_DATA *cable_channel_data, U16BIT number_channels)
Replaces the cable tuning table for the current country with the one provided.
Definition: ap_cfg.c:1086
BOOLEAN ACFG_GetDefaultAerialPower(U32BIT country_code)
Returns the default aerial power option setting for DVB-T/T2 for the given country.
Definition: ap_cfg.c:1521
Definition: ap_cfg.h:308
BOOLEAN ACFG_GetSatelliteScanDvbS2(U32BIT country_code)
Returns whether DVB-S2 should be included when performing a satellite based frequency scan in the giv...
Definition: ap_cfg.c:1470
void ACFG_SetSecondaryAudioLangId(U8BIT lang_id)
Sets the secondary language id to be used for audio.
Definition: ap_cfg.c:440
BOOLEAN ACFG_IsNordigCountry(void)
Returns whether the current country requires Nordig compliance for SI.
Definition: ap_cfg.c:1730
U8BIT * ACFG_GetDbLangId(U32BIT country_code, U8BIT lang_entry)
Returns an array of language ids for a given country and index into the language array. A language id is one of the ACFG_DB_LANG_XXXX values above and there might be more than one for a given language. For example german language has two ids associated to it: ACFG_DB_LANG_GERMAN1 and ACFG_DB_LANG_GERMAN2 because german language can have two different codes, &#39;deu&#39; and &#39;ger&#39;. See also functions ACFG_ConvertLangIdToCode and ACFG_ConvertLangCodeToId. The returned pointer is an internal array and must not be freed.
Definition: ap_cfg.c:900
void ACFG_SetPrimaryTextLangId(U8BIT lang_id)
Sets the primary language id to be used for teletext/subtitles.
Definition: ap_cfg.c:465
Header file - macros and function prototypes for public use.
U8BIT ACFG_ConvertLangCodeToId(U32BIT lang_code)
Returns the language id for the given language code.
Definition: ap_cfg.c:931
Definition: ap_cfg.h:344
BOOLEAN ACFG_IsNordigService(E_STB_DP_SIGNAL_TYPE tuner_type)
Returns whether the broadcast SI data for the given tuner type is to be treated as Nordig compliant...
Definition: ap_cfg.c:1757
BOOLEAN ACFG_GetDbLangList(U32BIT country_code, U8BIT ***str_array_ptr, U8BIT *num_langs_ptr)
Returns an array of pointers to strings containing the available language names for the given country...
Definition: ap_cfg.c:844
BOOLEAN ACFG_GetRegionCode(U32BIT country_code, U8BIT region_id, U8BIT *code_ptr)
Returns the region code that identifies the given region.
Definition: ap_cfg.c:1572
U8BIT ACFG_GetEitSearchesPerDay(void)
Returns the number of EIT searches that should be performed per day when the box is in standby...
Definition: ap_cfg.c:1795
void ACFG_SetBackgroundSearchTime(U16BIT start_time, U16BIT end_time)
Sets the start and end times during which background searches are allowed run when in standby...
Definition: ap_cfg.c:1631
U8BIT ACFG_GetSatelliteScanNumSymbolRates(U32BIT country_code)
Returns the number of items in the fixed array of symbol rates to be used when performing a satellite...
Definition: ap_cfg.c:1444
DBTidyFunc ACFG_GetTerrestrialDBTidyFunction(U32BIT country_code)
Returns a pointer to a function that&#39;s used to tidy up the database following a DVB-T/T2 scan for the...
Definition: ap_cfg.c:1986
U16BIT ACFG_GetOriginalNetworkID(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type)
Returns the original network ID for the given country and tuner type.
Definition: ap_cfg.c:1130
Definition: ap_cfg.h:331
U32BIT ACFG_GetPrivateDataSpecifier(U32BIT country_code)
Returns the private data specifier value for the given country.
Definition: ap_cfg.c:1204
U32BIT ACFG_GetCountry(void)
Returns the country code the DVB is configured for.
Definition: ap_cfg.c:150
System Wide Global Technical Data Type Definitions.
void ACFG_SetUndefinedLanguageBehaviour(U32BIT lang_code)
Sets the language code to be used when the SI descriptors contain &#39;und&#39;, &#39;qaa&#39; or don&#39;t contain any l...
Definition: ap_cfg.c:2115
BOOLEAN ACFG_SetCountryConfig(U32BIT country_code, ACFG_COUNTRY_CONFIG *config)
Sets the country configuration settings that will be used for given country. This could be used to ov...
Definition: ap_cfg.c:605
U16BIT ACFG_GetSatelliteScanFreqInc(U32BIT country_code)
Returns the increment frequency to be used when performing a satellite based frequency scan in the gi...
Definition: ap_cfg.c:1392
AllocLcnFunc ACFG_GetCableLcnFunction(U32BIT country_code)
Returns a pointer to a function that&#39;s used to assign LCNs following a DVB-C scan for the given count...
Definition: ap_cfg.c:1890
U8BIT ACFG_GetCountryIndex(U32BIT country_code)
Returns the index in the list of countries known by the DVB, of the given country.
Definition: ap_cfg.c:166
Definition: ap_cfg.h:325
Definition: ap_cfg.h:316
BOOLEAN ACFG_GetAerialPowerOptionReqd(U32BIT country_code)
Returns whether the aerial power option is required for DVB-T/T2 for the given country.
Definition: ap_cfg.c:1496
U8BIT * ACFG_GetEventContentTypes(U32BIT country_code)
Returns the event content types for the given country. This defines how the content type value broadc...
Definition: ap_cfg.c:1603
void ACFG_SetCountryIds(U32BIT country_code, U8BIT region_id, U8BIT audio_lang_id, U8BIT sub_lang_id)
Saves the configured country and changes settings related to the country.
Definition: ap_cfg.c:297
U16BIT * ACFG_GetSatelliteScanSymbolRates(U32BIT country_code)
Returns a fixed array of symbol rates to be used when performing a satellite based frequency scan in ...
Definition: ap_cfg.c:1418
U16BIT ACFG_GetFirstUnallocatedLcn(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type)
Returns the first LCN that should be used when assigning LCNs to services that don&#39;t appear in an LCN...
Definition: ap_cfg.c:1230
void ACFG_SetBackgroundSSUSearch(BOOLEAN enabled)
Enables or disables the background SSU search when in standby.
Definition: ap_cfg.c:1700
BOOLEAN ACFG_GetTerRfChannelTable(U32BIT country_code, ACFG_TER_RF_CHANNEL_DATA **rf_chan_data_ptr, U16BIT *num_entries_ptr)
Returns a pointer to the channel table for a terrestrial tuner for the given country.
Definition: ap_cfg.c:1030
U16BIT ACFG_GetMaxSatelliteScanFreq(U32BIT country_code)
Returns the maximum frequency to be used when performing a satellite based frequency scan in the give...
Definition: ap_cfg.c:1366
Definition: ap_cfg.h:293
void ACFG_ReleaseDbLangList(U8BIT **str_array, U8BIT num_langs)
Frees the language array previously acquired using ACFG_GetDbLangList.
Definition: ap_cfg.c:980
void ACFG_SetHostCountryLanguageModuleId(U32BIT module)
Sets the host and country module for CI stack. Value zero for disable.
Definition: ap_cfg.c:2146
BOOLEAN ACFG_SetDbLanguages(U32BIT country_code, ACFG_LANGUAGE_IDS *languages, U8BIT num_languages)
Sets the languages that can be used for setting the default primary and secondary audio...
Definition: ap_cfg.c:771
U32BIT ACFG_GetCountryCode(U8BIT country_id)
Returns the country code for the given country index.
Definition: ap_cfg.c:1107
U8BIT ACFG_GetNumDbLanguages(U32BIT country_code)
Returns the number of languages defined for the given country that can be used for audio and subtitle...
Definition: ap_cfg.c:668
BOOLEAN ACFG_SetDynamicSIUpdates(E_STB_DP_SIGNAL_TYPE signal_type, ACFG_DYNAMIC_SI_UPDATES *dynamic_updates, U8BIT num_updates)
Sets the dynamic SI updates for the given tuner type of the currently configured country.
Definition: ap_cfg.c:2230
void ACFG_SetOriginalNetworkID(U32BIT country_code, E_STB_DP_SIGNAL_TYPE tuner_type, U16BIT onet_id)
Sets the original network ID for the given country and tuner type, replacing any existing value defin...
Definition: ap_cfg.c:1170