DVBCore  21.9.0
Open Source DVB Engine
stbsitab.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 _STBSITAB_H
28 #define _STBSITAB_H
29 
30 #include "techtype.h"
31 #include "stbsiflt.h"
32 #include "stbdpc.h"
33 
34 //---Constant and macro definitions for public use-----------------------------
35 
36 /* CRID related defines */
37 #define CRID_LOCATION_MASK 0x03
38 #define CRID_TYPE_MASK 0xfc
39 #define CRID_TYPE_SHIFT 2
40 
41 #define CRID_LOCATION_0 0x00
42 #define CRID_LOCATION_1 0x01
43 
44 #define DVB_INVALID_ID 0x1fff
45 #define DVB_INVALID_CAROUSEL_ID 0xffffffff
46 
47 
48 //---Enumerations for public use-----------------------------------------------
49 
50 typedef enum
51 {
52  USER_DEF_DESCRIP_NOT_USED = 0,
53  USER_DEF_DESCRIP_LOGICAL_CHAN_NUM = 1,
54  USER_DEF_DESCRIP_PREF_NAME_LIST = 2,
55  USER_DEF_DESCRIP_PREF_NAME_ID = 3
56 } STB_SI_USER_DEF_DESCRIP_FUNCTION;
57 
58 typedef enum
59 {
60  EIT_NOW_NEXT_ACT = 0,
61  EIT_NOW_NEXT_OTHER = 1,
62  EIT_NOW_NEXT_ALL = 2,
63  EIT_PF_PLUS = 3
64 } E_SI_EIT_TABLE_REQ;
65 
66 typedef enum
67 {
68  EIT_SCHED_ACT = 0,
69  EIT_SCHED_OTHER = 1,
70  EIT_SCHED_ACT_4DAY = 2,
71  EIT_SCHED_OTHER_4DAY = 3,
72  EIT_SCHED_ALL_4DAY = 4,
73  EIT_SCHED_ALL_8DAY = 5,
74  EIT_SCHED_ALL = 6
75 } E_SI_SCHED_TABLE_REQ;
76 
77 typedef enum
78 {
79  CTYPE_DVB_SUBTITLE = 0x310,
80  CTYPE_DVB_SUBTITLE_4_3 = 0x311,
81  CTYPE_DVB_SUBTITLE_16_9 = 0x312,
82  CTYPE_DVB_SUBTITLE_221_1 = 0x313,
83  CTYPE_DVB_SUBTITLE_HD = 0x314,
84 
85  CTYPE_DVB_SUBTITLE_HH = 0x320,
86  CTYPE_DVB_SUBTITLE_HH_4_3 = 0x321,
87  CTYPE_DVB_SUBTITLE_HH_16_9 = 0x322,
88  CTYPE_DVB_SUBTITLE_HH_221_1 = 0x323,
89  CTYPE_DVB_SUBTITLE_HH_HD = 0x324,
90 } E_SI_COMPONENT_TYPE_SUBTITLE;
91 
92 typedef enum /* see ETSI 300468 */
93 {
94  /* MPEG1 Audio Description types */
95  CTYPE_MPEG1_AD_VISUAL = 0x240,
96  CTYPE_MPEG1_AD_HEARING = 0x241,
97  CTYPE_MPEG1_AD_RCVR_MIX = 0x247,
98  CTYPE_MPEG1_AD_BCAST_MIX = 0x248,
99 
100  /* AC3, Full Service Audio description types */
101  CTYPE_AC3_FS_VISUAL = 0x450, /* to 0x457 */
102  CTYPE_AC3_FS_HEARING = 0x458, /* to 0x45f */
103  CTYPE_AC3_FS_DIALOGUE = 0x420, /* to 0x427 */
104  CTYPE_AC3_FS_COMMENTARY = 0x468,
105  CTYPE_AC3_FS_EMERGENCY = 0x470,
106 
107  /* E-AC3, Full Service Audio description types */
108  CTYPE_EAC3_FS_VISUAL = 0x4d0, /* to 0x4d7 */
109  CTYPE_EAC3_FS_HEARING = 0x4d8, /* to 0x4df */
110  CTYPE_EAC3_FS_DIALOGUE = 0x4a0, /* to 0x4a7 */
111  CTYPE_EAC3_FS_COMMENTARY = 0x4e8,
112  CTYPE_EAC3_FS_EMERGENCY = 0x4f0,
113 
114  /* HE-AAC Audio Description types */
115  CTYPE_HEAAC_AD_VISUAL = 0x640,
116  CTYPE_HEAAC_AD_HEARING = 0x641,
117  CTYPE_HEAAC_AD_RCVR_MIX = 0x647,
118  CTYPE_HEAAC_AD_BCAST_MIX = 0x648,
119 
120  /* HE-AAC v2 Audio Description types */
121  CTYPE_HEAACV2_AD_VISUAL = 0x644,
122  CTYPE_HEAACV2_AD_HEARING = 0x645,
123  CTYPE_HEAACV2_AD_RCVR_MIX = 0x649,
124  CTYPE_HEAACV2_AD_BCAST_MIX = 0x64a,
125 
126  /* Supplementary Audio */
127  CTYPE_MPEG1_SA_RCVR_MIX = 0x242,
128  CTYPE_HEAAC_SA_RCVR_MIX = 0x642,
129  CTYPE_HEAACV2_SA_RCVR_MIX = 0x646
130 } E_SI_COMPONENT_TYPE_AUDIO_DESC;
131 
132 //---Global type defs for public use-------------------------------------------
133 
134 // common structures used in following tables
135 typedef struct si_string
136 {
137  U8BIT nbytes;
138  U8BIT *str_ptr;
140 
141 typedef struct si_linkage_desc
142 {
143  struct si_linkage_desc *next;
144  U32BIT private_data_code;
145  U16BIT orig_net_id;
146  U16BIT tran_id;
147  U16BIT serv_id;
148  U8BIT link_type;
149  U8BIT data_length;
150  U8BIT data;
152 
153 typedef struct si_guidance_desc
154 {
155  U8BIT guidance_type;
156  BOOLEAN guidance_mode;
157  U8BIT num_langs;
158  U32BIT *lang_codes;
159  SI_STRING_DESC **strings;
161 
162 typedef struct si_fta_content_desc
163 {
164  BOOLEAN do_not_scramble;
165  U8BIT access_over_internet;
166  BOOLEAN do_not_apply_revocation;
168 
169 typedef struct si_target_region
170 {
171  struct si_target_region *next;
172  U8BIT region_depth;
173  U8BIT primary_region_code;
174  U8BIT secondary_region_code;
175  U8BIT tertiary_region_code;
177 
178 typedef struct si_target_region_desc
179 {
180  struct si_target_region_desc *next;
181  U32BIT country_code;
182  SI_TARGET_REGION *region_list;
184 
185 typedef struct si_serv_avail_desc
186 {
187  struct si_serv_avail_desc *next;
188  U16BIT num_of_cell_ids;
189  U16BIT *cell_ids;
190  BOOLEAN availability_flag;
192 
193 typedef enum
194 {
195  ICON_TRANS_LOCAL = 0x0,
196  ICON_TRANS_URL = 0x1,
197  ICON_TRANS_RES1 = 0x2,
198  ICON_TRANS_RES2 = 0x3
199 } E_ICON_TRANSPORT_MODE;
200 
201 typedef enum
202 {
203  ICON_COORDS_576 = 0x0,
204  ICON_COORDS_720 = 0x1,
205  ICON_COORDS_1080 = 0x2
206 } E_ICON_COORD_SYSTEM;
207 
208 typedef struct si_image_icon_desc
209 {
210  U8BIT desc_num;
211  U8BIT last_desc_num;
212  U8BIT icon_id;
213  E_ICON_TRANSPORT_MODE transport_mode;
214  BOOLEAN position_defined;
215  E_ICON_COORD_SYSTEM coord_system;
216  U16BIT x_pos;
217  U16BIT y_pos;
218  U8BIT *icon_type;
219  U32BIT data_len;
220  U8BIT *icon_data;
222 
223 typedef struct si_uri_linkage_desc
224 {
225  U32BIT private_data_code;
226  U8BIT uri_linkage_type;
227  SI_STRING_DESC *uri;
228  U16BIT min_polling_interval;
229  U8BIT private_data_length;
230  U8BIT *private_data;
231  struct si_uri_linkage_desc *next;
233 
234 
235 //--------------------------------------------------
236 // PAT table structures
237 typedef struct si_pat_service_entry
238 {
239  struct si_pat_service_entry *next;
240  U16BIT serv_id;
241  U16BIT pmt_pid;
243 
244 typedef struct si_pat_table
245 {
246  U8BIT version;
247  U16BIT tran_id;
248  U16BIT num_services;
249  SI_PAT_SERVICE_ENTRY *service_list;
250  SI_PAT_SERVICE_ENTRY *last_service_entry;
251 } SI_PAT_TABLE;
252 
253 //--------------------------------------------------
254 // PMT table structures
255 typedef struct si_dvb_subt_desc
256 {
257  U32BIT lang_code;
258  U8BIT type;
259  U16BIT composition_page;
260  U16BIT ancillary_page;
262 
263 typedef struct si_teletext_desc
264 {
265  U32BIT lang_code;
266  U8BIT type;
267  U8BIT magazine;
268  U8BIT page;
270 
272 {
273  U32BIT lang_code;
274  BOOLEAN digital_cc;
275  union
276  {
277  BOOLEAN line21_field;
278  U8BIT caption_service_number;
279  } u;
280  BOOLEAN easy_reader;
281  BOOLEAN wide_aspect_ratio;
283 
284 typedef struct si_ca_desc
285 {
286  U16BIT ca_id;
287  U16BIT ca_pid;
288 } SI_CA_DESC;
289 
290 typedef struct si_iso_lang_desc
291 {
292  U32BIT lang_code;
293  U8BIT audio_type;
295 
296 /* Structure used when parsing AC-3 and E-AC3 descriptors */
297 typedef struct si_ac3_desc
298 {
299  U8BIT dtag;
300  BOOLEAN component_type_flag;
301  U8BIT component_type;
302  BOOLEAN bsid_flag;
303  U8BIT bsid;
304  BOOLEAN mainid_flag;
305  U8BIT mainid;
306  BOOLEAN asvc_flag;
307  U8BIT asvc;
308  BOOLEAN mixinfoexists;
309  BOOLEAN substream1_flag;
310  U8BIT substream1;
311  BOOLEAN substream2_flag;
312  U8BIT substream2;
313  BOOLEAN substream3_flag;
314  U8BIT substream3;
315 } SI_AC3_DESC;
316 
317 typedef struct si_ad_desc
318 {
319  U32BIT lang_code;
320  BOOLEAN mix_type;
321  U8BIT edit_class;
322 } SI_AD_DESC;
323 
324 typedef struct si_aac_desc
325 {
326  U8BIT profile_level;
327  BOOLEAN type_present;
328  U8BIT aac_type;
329 } SI_AAC_DESC;
330 
331 typedef struct si_service_move_desc
332 {
333  U16BIT onet_id;
334  U16BIT ts_id;
335  U16BIT service_id;
337 
338 typedef struct si_app_sig_desc
339 {
340  U16BIT app_type;
341  U8BIT ait_version;
343 
344 typedef enum
345 {
346  SI_STREAM_TYPE_VIDEO1 = 0x01,
347  SI_STREAM_TYPE_VIDEO2 = 0x02,
348  SI_STREAM_TYPE_AUDIO1 = 0x03,
349  SI_STREAM_TYPE_AUDIO2 = 0x04,
350  SI_STREAM_TYPE_PRIVATE = 0x05,
351  SI_STREAM_TYPE_PES_PKT = 0x06,
352  SI_STREAM_TYPE_MHEG = 0x07,
353  SI_STREAM_TYPE_DATA_A = 0x0a,
354  SI_STREAM_TYPE_DATA_B = 0x0b,
355  SI_STREAM_TYPE_DATA_C = 0x0c,
356  SI_STREAM_TYPE_DATA_D = 0x0d,
357  SI_STREAM_TYPE_AUX = 0x0e,
358  SI_STREAM_TYPE_AAC = 0x0f,
359  SI_STREAM_TYPE_HEAAC = 0x11,
360  SI_STREAM_TYPE_H264 = 0x1b,
361  SI_STREAM_TYPE_H265 = 0x24,
362  SI_STREAM_TYPE_AC3 = 0x81,
363  SI_STREAM_TYPE_AVS = 0x42
364 } SI_STREAM_TYPE;
365 
367 {
368  U8BIT data_type;
369  U8BIT component_tag;
371 
372 typedef struct si_pmt_stream_entry
373 {
374  struct si_pmt_stream_entry *next;
375  SI_STREAM_TYPE type;
376  U16BIT pid;
377  U8BIT *tag_array_ptr;
378  U8BIT num_tag_entries;
379  U16BIT num_iso_lang_entries;
380  SI_ISO_LANG_DESC *iso_lang_desc_array;
381  U16BIT num_ca_entries;
382  SI_CA_DESC *ca_desc_array;
383  U16BIT num_subtitle_entries;
384  SI_SUBTITLE_DESC *subtitle_desc_array;
385  U16BIT num_teletext_entries;
386  SI_TELETEXT_DESC *teletext_desc_array;
387  U16BIT num_caption_service_entries;
388  SI_CAPTION_SERVICE_DESC *captions_service_desc_array;
389  SI_SERVICE_MOVE_DESC *service_move;
390  U16BIT num_app_sig_entries;
391  SI_APP_SIG_DESC *app_sig_desc_array;
392  BOOLEAN has_ait;
393  BOOLEAN has_rct;
394  U8BIT num_tunnelled_entries;
395  SI_FREESAT_TUNNELLED_DATA_DESC *tunnelled_desc_array;
396  U32BIT carousel_id;
397 
398  SI_AC3_DESC *ac3_descriptor;
399  SI_AD_DESC *audio_desc;
400  SI_AAC_DESC *aac_descriptor;
402 
403 typedef struct si_pmt_table
404 {
405  U8BIT version;
406  U16BIT serv_id;
407  U16BIT pcr_pid;
408  U16BIT num_ca_entries;
409  SI_CA_DESC *ca_desc_array;
410  U8BIT num_tunnelled_entries;
411  SI_FREESAT_TUNNELLED_DATA_DESC *tunnelled_desc_array;
412  U8BIT content_protection_level;
413  U16BIT num_streams;
414  SI_PMT_STREAM_ENTRY *stream_list;
415  SI_PMT_STREAM_ENTRY *last_stream_entry;
416 } SI_PMT_TABLE;
417 
418 //--------------------------------------------------
419 // NIT table structures
421 {
422  U32BIT lang_code;
423  SI_STRING_DESC *name_str;
425 
426 typedef struct si_serv_list_desc
427 {
428  U16BIT serv_id;
429  U8BIT serv_type;
431 
432 typedef struct uk_dtt_lcn_desc
433 {
434  U16BIT serv_id;
435  U16BIT serv_lcn;
436  BOOLEAN visible;
437 } SI_LCN_DESC;
438 
439 typedef struct
440 {
441  U16BIT serv_id;
442  U16BIT serv_lcn;
443  BOOLEAN visible;
445 
446 typedef struct
447 {
448  U8BIT chan_list_id;
449  SI_STRING_DESC *chan_list_name;
450  U32BIT country_code;
451  U8BIT num_services;
452  SI_NORDIG_SERV_LCN *serv_array;
454 
455 typedef struct si_terr_del_sys_desc
456 {
457  U32BIT freq_hz;
458  E_STB_DP_TBWIDTH bwidth;
459  E_STB_DP_TMODE mode;
461 
462 typedef struct si_t2_del_sys_cell
463 {
464  U16BIT cell_id;
465  U8BIT num_freqs;
466  U32BIT freq_hz[6];
468 
469 typedef struct si_t2_del_sys_desc
470 {
471  U8BIT plp_id;
472  U16BIT t2_system_id;
473  E_STB_DP_TBWIDTH bwidth;
474  E_STB_DP_TMODE mode;
475  U8BIT num_cells;
476  SI_T2_DEL_SYS_CELL *cell;
478 
479 typedef struct
480 {
481  BOOLEAN is_t2;
482  union
483  {
486  } u;
488 
489 typedef struct si_cable_del_sys_desc
490 {
491  U32BIT freq_hz;
492  U8BIT fec_outer;
493  U8BIT fec_inner;
494  U8BIT modulation;
495  U32BIT symbol_rate;
497 
498 typedef struct si_sat_del_sys_desc
499 {
500  U32BIT freq_hz;
501  U16BIT position;
502  U16BIT sym_rate;
503  E_STB_DP_POLARITY polarity;
504  BOOLEAN east_west;
505  E_STB_DP_FEC fec_code;
506  BOOLEAN dvb_s2;
507  E_STB_DP_MODULATION modulation;
509 
510 typedef enum si_delivery_sys_desc_type
511 {
512  SI_DEL_SYS_DESC_TYPE_TERR,
513  SI_DEL_SYS_DESC_TYPE_SAT,
514  SI_DEL_SYS_DESC_TYPE_CABLE
515 } SI_DELIVERY_SYS_DESC_TYPE;
516 
517 typedef union si_delivery_sys_desc
518 {
520  SI_CABLE_DEL_SYS_DESC cable;
521  SI_TERR_DEL_SYS terr;
523 
525 {
526  U16BIT serv_id;
527  BOOLEAN service_selectable;
528  BOOLEAN service_visible;
530 
531 typedef struct si_nit_region_name
532 {
533  U8BIT region_depth;
534  SI_STRING_DESC *region_name;
535  U8BIT primary_region_code;
536  U8BIT secondary_region_code;
537  U16BIT tertiary_region_code;
539 
541 {
542  struct si_nit_target_region_name_desc *next;
543  U32BIT country_code;
544  U32BIT lang_code;
545  U8BIT num_names;
546  SI_NIT_REGION_NAME *name_array;
548 
549 typedef struct si_ciplus_service
550 {
551  struct si_ciplus_service *next;
552  U16BIT id;
553  U8BIT type;
554  BOOLEAN visible;
555  BOOLEAN selectable;
556  U16BIT lcn;
557  SI_STRING_DESC *provider_str;
558  SI_STRING_DESC *name_str;
560 
561 typedef enum
562 {
563  FREQ_LIST_CODING_TYPE_SATELLITE = 1,
564  FREQ_LIST_CODING_TYPE_CABLE = 2,
565  FREQ_LIST_CODING_TYPE_TERRESTRIAL = 3
566 } SI_FREQ_LIST_CODING_TYPE;
567 
569 {
570  struct si_nit_frequency_list_desc *next;
571  U8BIT coding_type;
572  U8BIT num_frequencies;
573  U32BIT *frequency_array;
575 
577 {
578  struct si_nit_transport_entry *next;
579  U16BIT tran_id;
580  U16BIT orig_net_id;
581  SI_DELIVERY_SYS_DESC_TYPE del_sys_desc_type;
582  SI_DELIVERY_SYS_DESC *del_sys_desc;
583  SI_NIT_FREQUENCY_LIST_DESC *freq_list;
584  U16BIT num_serv_list_entries;
585  SI_SERV_LIST_DESC *serv_list_desc_array;
586  U16BIT num_lcn_entries;
587  SI_LCN_DESC *lcn_desc_array;
588  SI_STRING_DESC *def_authority;
589  U16BIT num_serv_attr_entries;
590  SI_SERV_ATTRIBUTE_DESC *serv_attr_array;
591  U16BIT num_nordig_lcn_entries;
592  SI_NORDIG_LCN_DESC *nordig_lcn_desc_array;
593  U16BIT num_hd_lcn_entries;
594  SI_LCN_DESC *hd_lcn_desc_array;
595  SI_FTA_CONTENT_DESC *fta_content_desc;
596  SI_TARGET_REGION_DESC *target_region_list;
597  U16BIT num_ciplus_services;
598  SI_CIPLUS_SERVICE *ciplus_service_list;
599  SI_CIPLUS_SERVICE *last_ciplus_service;
601 
602 typedef enum
603 {
604  CATEGORY_ALL_RECEIVERS = 0,
605  CATEGORY_T2_RECEIVERS = 1
606 } SI_NIT_RECEIVER_CATEGORY;
607 
608 typedef enum
609 {
610  NET_CHANGE_MESSAGE_ONLY = 0x0,
611  NET_CHANGE_MINOR_DEFAULT = 0x1,
612  NET_CHANGE_MULTIPLEX_REMOVE = 0x2,
613  NET_CHANGE_SERVICE_CHANGE = 0x3,
614  NET_CHANGE_MINOR_RESERVED_1 = 0x4,
615  NET_CHANGE_MINOR_RESERVED_2 = 0x5,
616  NET_CHANGE_MINOR_RESERVED_3 = 0x6,
617  NET_CHANGE_MINOR_RESERVED_4 = 0x7,
618  NET_CHANGE_MAJOR_DEFAULT = 0x8,
619  NET_CHANGE_MULTIPLEX_FREQ_CHANGE = 0x9,
620  NET_CHANGE_MULTIPLEX_COVERAGE_CHANGE = 0xA,
621  NET_CHANGE_MULTIPLEX_ADDED = 0xB,
622  NET_CHANGE_MAJOR_RESERVED_1 = 0xC,
623  NET_CHANGE_MAJOR_RESERVED_2 = 0xD,
624  NET_CHANGE_MAJOR_RESERVED_3 = 0xE,
625  NET_CHANGE_MAJOR_RESERVED_4 = 0xF
626 } SI_NIT_NETWORK_CHANGE_TYPE;
627 
628 typedef struct si_nit_change_entry
629 {
630  U8BIT change_id;
631  U8BIT version;
632  U16BIT start_date;
633  U8BIT start_hours;
634  U8BIT start_mins;
635  U8BIT start_secs;
636  U8BIT dur_hours;
637  U8BIT dur_mins;
638  U8BIT dur_secs;
639  SI_NIT_RECEIVER_CATEGORY receiver_category;
640  SI_NIT_NETWORK_CHANGE_TYPE change_type;
641  U8BIT message_id;
642  BOOLEAN invariant_ts_present;
643  U16BIT invariant_ts_tsid;
644  U16BIT invariant_ts_onid;
646 
648 {
649  U16BIT cell_id;
650  U8BIT num_changes;
651  SI_NIT_CHANGE_ENTRY *change_array;
653 
654 typedef struct si_nit_message_entry
655 {
656  U8BIT message_id;
657  U32BIT lang_code;
658  SI_STRING_DESC *message;
660 
662 {
663  U16BIT onet_id;
664  U16BIT trans_id;
665  U16BIT serv_id;
666  U8BIT num_data_types;
667  U8BIT *data_types;
668  struct si_freesat_linkage_desc *next;
670 
672 {
673  U8BIT prefix_index;
674  SI_STRING_DESC *uri_prefix;
675  struct si_freesat_prefix_desc *next;
677 
679 {
680  U16BIT lcn;
681  U8BIT event_info_len;
682  U8BIT app_domain_len;
683  SI_STRING_DESC *provider_str;
684  SI_STRING_DESC *name_str;
685  U8BIT *event_info;
686  U8BIT *app_domain_id;
688 
689 typedef struct si_nit_table
690 {
691  U8BIT version;
692  U16BIT net_id;
693  SI_STRING_DESC *name_str;
694  U16BIT num_multiling_net_names;
695  SI_MULTILING_NET_NAME_DESC *multiling_net_name_desc_array;
696  U16BIT num_linkage_entries;
697  SI_LINKAGE_DESC_ENTRY *linkage_desc_list;
698  SI_LINKAGE_DESC_ENTRY *last_linkage_entry;
699  SI_STRING_DESC *def_authority;
700  U16BIT num_transports;
701  SI_NIT_TRANSPORT_ENTRY *transport_list;
702  SI_NIT_TRANSPORT_ENTRY *last_transport_entry;
703  U16BIT num_change_notifies;
704  SI_NIT_CHANGE_NOTIFY_DESC *change_notify_array;
705  U16BIT num_messages;
706  SI_NIT_MESSAGE_ENTRY *message_array;
707  SI_FTA_CONTENT_DESC *fta_content_desc;
708  SI_NIT_TARGET_REGION_NAME_DESC *target_region_name_list;
709  SI_TARGET_REGION_DESC *target_region_list;
710  SI_FREESAT_LINKAGE_DESC *freesat_linkage_desc;
711  SI_FREESAT_PREFIX_DESC *freesat_prefix_list;
712  SI_URI_LINKAGE_DESC *uri_linkage_list;
713  SI_CIPLUS_VIRTUAL_CHANNEL *ciplus_virtual_channel;
714 } SI_NIT_TABLE;
715 
716 //--------------------------------------------------
717 // SDT table structures
719 {
720  U32BIT lang_code;
721  SI_STRING_DESC *name_str;
722  SI_STRING_DESC *provider_str;
724 
725 typedef struct
726 {
727  U32BIT lang_code;
728  SI_STRING_DESC *name_str;
730 
732 {
733  U32BIT lang_code;
734  U8BIT name_id;
735  SI_STRING_DESC *name_str;
737 
738 typedef enum
739 {
740  RUN_STATE_UNDEFINED = 0,
741  RUN_STATE_NOT_RUNNING,
742  RUN_STATE_STARTS_SOON,
743  RUN_STATE_PAUSING,
744  RUN_STATE_RUNNING,
745  RUN_STATE_OFF_AIR
746 } E_RUNNING_STATE;
747 
748 typedef struct si_sdt_service_entry
749 {
750  struct si_sdt_service_entry *next;
751  U16BIT serv_id;
752  BOOLEAN eit_sched_avail;
753  BOOLEAN eit_now_next_avail;
754  U8BIT running_status;
755  BOOLEAN all_streams_free;
756  U8BIT serv_type;
757  SI_STRING_DESC *name_str;
758  SI_STRING_DESC *provider_str;
759  U8BIT num_ca_id_entries;
760  U16BIT *ca_id_desc_array;
761  U16BIT num_multiling_names;
762  SI_MULTILING_SERV_NAME_DESC *multiling_name_desc_array;
763  U16BIT num_preferred_names;
764  SI_PREFERRED_NAME_DESC *preferred_name_desc_array;
765  U16BIT num_linkage_entries;
766  SI_LINKAGE_DESC_ENTRY *linkage_desc_list;
767  SI_LINKAGE_DESC_ENTRY *last_linkage_entry;
768  SI_STRING_DESC *def_authority;
769  SI_STRING_DESC *short_name_str;
770  U16BIT num_multiling_short_names;
771  SI_MULTILING_SHORT_NAME_DESC *multiling_short_name_array;
772  SI_GUIDANCE_DESC *guidance;
773  SI_FTA_CONTENT_DESC *fta_content_desc;
774  SI_TARGET_REGION_DESC *target_region_list;
775  SI_SERV_AVAIL_DESC *serv_avail_desc_list;
776  U8BIT *ci_protection_desc;
777  SI_FREESAT_PREFIX_DESC *freesat_prefix_list;
778  SI_URI_LINKAGE_DESC *uri_linkage_list;
780 
781 typedef struct si_sdt_table
782 {
783  U8BIT version;
784  U16BIT tran_id;
785  U16BIT orig_net_id;
786  U16BIT num_services;
787  SI_SDT_SERVICE_ENTRY *service_list;
788  SI_SDT_SERVICE_ENTRY *last_service_entry;
789 } SI_SDT_TABLE;
790 
791 
792 //--------------------------------------------------
793 // BAT table structures
794 
795 typedef struct si_freesat_lcn
796 {
797  BOOLEAN numeric_selection;
798  BOOLEAN visible_flag;
799  BOOLEAN user_cust;
800  U16BIT lcn;
801  U16BIT region_id;
802  struct si_freesat_lcn *next;
804 
806 {
807  U16BIT tran_id;
808  U16BIT orig_net_id;
809  U16BIT service_id;
810  U16BIT freesat_id;
811  struct si_bat_freesat_region_lcn_entry *next;
812  SI_FREESAT_LCN *freesat_lcn_list;
814 
816 {
817  struct si_bat_transport_entry *next;
818  U16BIT tran_id;
819  U16BIT orig_net_id;
820  SI_SERV_LIST_DESC *serv_list_desc_array;
821  U16BIT num_serv_list_entries;
822  U16BIT num_lcn_entries;
823  SI_LCN_DESC *lcn_desc_array;
824  SI_BAT_FREESAT_REGION_LCN_ENTRY *lcn_region_list;
825  SI_STRING_DESC *def_authority;
826  SI_FTA_CONTENT_DESC *fta_content_desc;
827  U16BIT *int_rest_serv_array; /* Interactive restrictive services */
828  U8BIT num_int_rest_serv;
830 
832 {
833  U32BIT lang_code;
834  SI_STRING_DESC *name_str;
836 
838 {
839  U8BIT group_type;
840  U16BIT group_id;
841  SI_MULTILANG_GROUP_NAME_DESC *string_array;
842  U8BIT num_group_names;
843  struct si_bat_freesat_group_name_entry *next_group;
845 
847 {
848  U16BIT group_id;
849  BOOLEAN non_destructive_flag;
850  BOOLEAN return_channel_access_flag;
851  BOOLEAN g2_extension_flag;
852  U8BIT g2_flags;
853  U8BIT num_services;
854  U16BIT *freesat_id;
855  struct si_bat_freesat_serv_group_entry *next_group;
857 
859 {
860  U8BIT *data;
861  U8BIT length;
862  struct si_bat_freesat_iactive_storage_desc *next_desc;
864 
865 typedef struct si_bat_freesat_region
866 {
867  U16BIT region_id;
868  U32BIT lang_code;
869  SI_STRING_DESC *region_name;
870  struct si_bat_freesat_region *next;
872 
874 {
875  U16BIT orig_net_id;
876  U16BIT transport_id;
877  U16BIT service_id;
878  struct si_freesat_info_location *next;
880 
881 typedef struct si_bat_table
882 {
883  U8BIT version;
884  U16BIT bouquet_id;
885  SI_STRING_DESC *bouquet_name;
886  SI_STRING_DESC *def_authority;
887  SI_BAT_FREESAT_REGION *region_list;
888  U16BIT num_linkage_entries;
889  SI_LINKAGE_DESC_ENTRY *linkage_desc_list;
890  SI_LINKAGE_DESC_ENTRY *last_linkage_entry;
891  U16BIT num_transports;
892  SI_BAT_TRANSPORT_ENTRY *transport_list;
893  SI_BAT_TRANSPORT_ENTRY *last_transport_entry;
894  SI_BAT_FREESAT_GROUP_NAME_ENTRY *group_name_list;
895  U16BIT num_serv_groups;
896  SI_BAT_FREESAT_SERV_GROUP_ENTRY *serv_group_array;
897  SI_FTA_CONTENT_DESC *fta_content_desc;
898  SI_BAT_FREESAT_IACTIVE_STORAGE_DESC *iactive_storage_desc_list;
899  SI_BAT_FREESAT_INFO_LOCATION *info_location_list;
900  SI_FREESAT_PREFIX_DESC *freesat_prefix_list;
901  SI_URI_LINKAGE_DESC *uri_linkage_list;
902 } SI_BAT_TABLE;
903 
904 
905 //--------------------------------------------------
906 // EIT table structures
907 
908 typedef struct si_component_desc
909 {
910  U8BIT tag;
911  U8BIT content;
912  U8BIT type;
913  U32BIT lang_code;
914  SI_STRING_DESC *desc_str;
916 
918 {
919  U8BIT tag;
920  U32BIT lang_code;
921  SI_STRING_DESC *desc_str;
923 
924 typedef struct si_content_desc
925 {
926  U8BIT level_1;
927  U8BIT level_2;
928  U8BIT user_1;
929  U8BIT user_2;
931 
933 {
934  U32BIT country_code;
935  U8BIT rating;
937 
938 typedef struct si_short_event_desc
939 {
940  U32BIT lang_code;
941  SI_STRING_DESC *name_str;
942  SI_STRING_DESC *desc_str;
944 
946 {
947  U8BIT desc_number;
948  U8BIT last_desc_number;
949  U32BIT lang_code;
950  U8BIT num_items;
951  SI_STRING_DESC **item_desc_array;
952  SI_STRING_DESC **item_text_array;
953  SI_STRING_DESC *text_str;
955 
956 typedef struct si_crid_desc
957 {
958  struct si_crid_desc *next;
959  U8BIT type;
960  SI_STRING_DESC *crid_str;
961 } SI_CRID_DESC;
962 
963 typedef struct si_eit_event_entry
964 {
965  struct si_eit_event_entry *next;
966  U8BIT sect_num;
967  U16BIT event_id;
968  U16BIT start_date; // mjd format
969  U8BIT start_hrs;
970  U8BIT start_mins;
971  U8BIT start_secs;
972  U8BIT duration_hrs;
973  U8BIT duration_mins;
974  U8BIT duration_secs;
975  U8BIT running_status;
976  BOOLEAN all_streams_free;
977  U8BIT preferred_name_id;
978  U8BIT num_ca_id_entries;
979  U16BIT *ca_id_desc_array;
980  U8BIT num_component_entries;
981  SI_COMPONENT_DESC *component_desc_array;
982  U8BIT num_content_entries;
983  SI_CONTENT_DESC *content_desc_array;
984  U8BIT num_multiling_component_entries;
985  SI_MULTILING_COMPONENT_DESC *multiling_component_desc_array;
986  U8BIT num_parental_rating_entries;
987  SI_PARENTAL_RATING_DESC *parental_rating_desc_array;
988  U8BIT num_short_event_entries;
989  SI_SHORT_EVENT_DESC *short_event_desc_array;
990  U8BIT num_extended_event_entries;
991  SI_EXTENDED_EVENT_DESC *extended_event_desc_array;
992  U8BIT num_crids;
993  SI_CRID_DESC *crid_list;
994  SI_CRID_DESC *last_crid_entry;
995  SI_GUIDANCE_DESC *guidance;
996  SI_FTA_CONTENT_DESC *fta_content_desc;
998 
999 typedef struct si_eit_table
1000 {
1001  U8BIT version;
1002  U8BIT table_id;
1003  U16BIT serv_id;
1004  U16BIT tran_id;
1005  U16BIT orig_net_id;
1006  U8BIT last_table_id;
1007  U16BIT num_events;
1008  SI_EIT_EVENT_ENTRY *event_list;
1009  SI_EIT_EVENT_ENTRY *last_event_entry;
1010 } SI_EIT_TABLE;
1011 
1012 
1013 //--------------------------------------------------
1014 // Time and date table structures
1015 typedef struct si_lto_desc
1016 {
1017  U32BIT country_code;
1018  U8BIT region;
1019  BOOLEAN offset_negative;
1020  U8BIT offset_hrs;
1021  U8BIT offset_mins;
1022  U16BIT change_date; // mjd format
1023  U8BIT change_hrs;
1024  U8BIT change_mins;
1025  U8BIT change_secs;
1026  U8BIT next_offset_hrs;
1027  U8BIT next_offset_mins;
1028 } SI_LTO_DESC;
1029 
1030 typedef struct si_time_table
1031 {
1032  U16BIT date; // mjd format
1033  U8BIT hrs;
1034  U8BIT mins;
1035  U8BIT secs;
1036  U16BIT num_lto_entries;
1037  SI_LTO_DESC *lto_desc_array;
1038 } SI_TIME_TABLE;
1039 
1040 
1041 //--------------------------------------------------
1042 // Related content table (RCT) structures
1043 typedef enum
1044 {
1045  RCT_LINK_TYPE_URI = 0x0,
1046  RCT_LINK_TYPE_BINARY = 0x1,
1047  RCT_LINK_TYPE_URI_BINARY = 0x2,
1048  RCT_LINK_TYPE_DESCRIPTOR = 0x3
1049 } E_RCT_LINK_TYPE;
1050 
1051 typedef enum
1052 {
1053  RCT_HOW_RELATED_TVA_2004 = 0x00,
1054  RCT_HOW_RELATED_TVA_2005 = 0x01,
1055  RCT_HOW_RELATED_TVA_2007 = 0x02
1056 } E_RCT_HOW_RELATED;
1057 
1058 typedef enum
1059 {
1060  RCT_TERMID_IS_TRAILER_OF = 0x0002,
1061  RCT_TERMID_IS_GROUP_TRAILER_OF = 0x0005
1062 } E_RCT_TERM_ID;
1063 
1064 typedef struct si_rct_promo_text
1065 {
1066  U32BIT lang_code;
1067  SI_STRING_DESC *string;
1069 
1070 typedef struct si_rct_link_info
1071 {
1072  E_RCT_LINK_TYPE link_type;
1073  E_RCT_HOW_RELATED how_related;
1074  U16BIT term_id;
1075  U8BIT group_id;
1076  U8BIT precedence;
1077  U8BIT *uri_string;
1078  U8BIT num_items;
1079  SI_RCT_PROMO_TEXT *promo_text_array;
1080  BOOLEAN can_use_default_icon;
1081  U8BIT icon_id;
1082  SI_SHORT_EVENT_DESC *event_desc;
1083  U8BIT num_icons;
1084  SI_IMAGE_ICON_DESC *icon_array;
1086 
1087 typedef struct si_rct_subtable_data
1088 {
1089  U16BIT year_offset;
1090  U8BIT link_count;
1091  SI_RCT_LINK_INFO *link_array;
1092  U8BIT num_icons;
1093  SI_IMAGE_ICON_DESC *icon_array;
1094  struct si_rct_subtable_data *next;
1096 
1097 typedef struct si_rct_subtable
1098 {
1099  U8BIT version;
1100  U16BIT service_id;
1101  SI_RCT_SUBTABLE_DATA *data;
1102  struct si_rct_subtable *next;
1103 } SI_RCT_SUBTABLE;
1104 
1105 typedef struct si_rct_table
1106 {
1107  SI_RCT_SUBTABLE *subtables;
1108 } SI_RCT_TABLE;
1109 
1110 
1111 //---Global Function prototypes for public use---------------------------------
1112 
1118 void STB_SISetCountryPrivateDataSpecifier(U32BIT code);
1119 
1124 void STB_SISetFreesatPrivateDataSpecifierMode(BOOLEAN mode);
1125 
1130 void STB_SISetCiplusPrivateDataSpecifierMode(BOOLEAN mode);
1131 
1136 void STB_SISetEacemPrivateDataSpecifierMode(BOOLEAN mode);
1137 
1142 void STB_SISetNZSatPrivateDataSpecifierMode(BOOLEAN mode);
1143 
1148 void STB_SISetNordigPrivateDataSpecifierMode(BOOLEAN mode);
1149 
1150 void STB_SISetUserDefinedDescriptorFunction(U8BIT dtag, STB_SI_USER_DEF_DESCRIP_FUNCTION func);
1152 
1153 void *STB_SIRequestPat(U8BIT path, E_SI_REQUEST_TYPE req_type,
1154  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1155 
1156 void *STB_SIRequestPmt(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT pmt_pid,
1157  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1158  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1159 void STB_SIModifyPmtRequest(void *fhandle, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count);
1160 
1161 void *STB_SIRequestNit(U8BIT path, E_SI_REQUEST_TYPE req_type,
1162  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1163 
1174 void *STB_SIRequestNitFromPid(U8BIT path, U16BIT pid, BOOLEAN actual, E_SI_REQUEST_TYPE req_type,
1175  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1176 
1186 void* STB_SIRequestNitWithId(U8BIT path, U16BIT network_id, E_SI_REQUEST_TYPE req_type,
1187  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1188 
1189 void *STB_SIRequestSdt(U8BIT path, E_SI_REQUEST_TYPE req_type,
1190  BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other,
1191  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count,
1192  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1193 
1194 void *STB_SIRequestSdtFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1195  BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other,
1196  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count,
1197  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1198 
1199 void STB_SIModifySdtRequest(void *fhandle, BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other,
1200  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count);
1201 
1202 void *STB_SIRequestBat(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT bouquet_id_match,
1203  U16BIT bouquet_id_mask, U16BIT table_count, void (*callback)(void *, U32BIT, SI_TABLE_RECORD *),
1204  U32BIT ret_param);
1205 
1206 void *STB_SIRequestBatFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1207  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count,
1208  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1209 
1210 void *STB_SIRequestEit(U8BIT path, E_SI_REQUEST_TYPE req_type, E_SI_EIT_TABLE_REQ reqd_eit_tables,
1211  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1212  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1213 
1214 void *STB_SIRequestEitFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, E_SI_EIT_TABLE_REQ reqd_eit_tables,
1215  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1216  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1217 
1218 void STB_SIModifyEitRequest(void *fhandle, E_SI_EIT_TABLE_REQ reqd_eit_tables,
1219  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count);
1220 
1221 void *STB_SIRequestSched(U8BIT path, E_SI_REQUEST_TYPE req_type, E_SI_SCHED_TABLE_REQ reqd_eit_tables,
1222  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1223  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1224 
1225 void *STB_SIRequestSchedFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, E_SI_SCHED_TABLE_REQ reqd_eit_tables,
1226  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1227  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1228 
1229 void *STB_SIRequestTdt(U8BIT path, E_SI_REQUEST_TYPE req_type,
1230  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1231 
1232 void *STB_SIRequestTdtFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1233  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1234 
1235 void *STB_SIRequestTot(U8BIT path, E_SI_REQUEST_TYPE req_type,
1236  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1237 
1238 void *STB_SIRequestTotFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1239  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1240 
1241 void *STB_SIRequestCat(U8BIT path, E_SI_REQUEST_TYPE req_type,
1242  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1243 
1244 void *STB_SIRequestRct(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT rct_pid,
1245  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1246 
1255 
1256 U8BIT* STB_SIReadString(U8BIT nbytes, U8BIT *dptr, SI_STRING_DESC **str_ptr);
1257 
1258 BOOLEAN STB_SIParseDelSysDesc(U8BIT *data, SI_DELIVERY_SYS_DESC_TYPE *type, SI_DELIVERY_SYS_DESC **desc);
1259 BOOLEAN STB_SIParseServiceDescriptor(U8BIT *data, U8BIT *type, SI_STRING_DESC **provider,
1260  SI_STRING_DESC **name);
1261 BOOLEAN STB_SIParseShortEventDescriptor(U8BIT *data, SI_SHORT_EVENT_DESC **event_desc);
1262 
1263 /*!**************************************************************************
1264  * @brief Parses the given PMT to produce an array of the CA system IDs required
1265  * by the service or streams on the service. The array of IDs will be
1266  * allocated by this function and should be freed using STB_SIReleaseCaIdDescArray.
1267  * @param pmt_data - raw PMT section data
1268  * @param pmt_ca_ids - pointer to an array that will be allocated containing
1269  * the CA IDs found in the PMT
1270  * @return Number of CA IDs found in the PMT and returned in the array,
1271  * 0 if none are found.
1272  ****************************************************************************/
1273 U16BIT STB_SIGetPmtCaIdDescArray(U8BIT *pmt_data, U16BIT **pmt_ca_ids);
1274 
1284 void *STB_SIRequestAit(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT ait_pid,
1285  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1286 
1287 void STB_SIReleasePatTable(SI_PAT_TABLE *pat_table);
1288 void STB_SIReleasePmtTable(SI_PMT_TABLE *pmt_table);
1289 void STB_SIReleaseNitTable(SI_NIT_TABLE *nit_table);
1290 void STB_SIReleaseSdtTable(SI_SDT_TABLE *sdt_table);
1291 void STB_SIReleaseEitTable(SI_EIT_TABLE *eit_table);
1292 void STB_SIReleaseTimeTable(SI_TIME_TABLE *time_table);
1293 void STB_SIReleaseRctTable(SI_RCT_TABLE *rct_table);
1294 void STB_SIReleaseBatTable(SI_BAT_TABLE *bat_table);
1295 
1296 // the following functions can be used to release individual table entry structures from the parsed
1297 // tables. They are mainly intended for releasing entries which have been transferred
1298 // out of the parsed tables by the application SI handler and are therefore not released when the
1299 // table is released.
1307 
1308 /* TODO These can probably become local functions */
1311 // the following functions can be used to release individual descriptor array elements from the
1312 // parsed tables. They are mainly intended for releasing descriptors which have been transferred
1313 // out of the parsed tables by the application SI handler (by setting the table element pointing to
1314 // the descriptor array to NULL), and are therefore not released when the table is released.
1315 void STB_SIReleaseDelSysDesc(SI_DELIVERY_SYS_DESC *desc, SI_DELIVERY_SYS_DESC_TYPE type);
1317 void STB_SIReleaseCaDescArray(SI_CA_DESC *desc_array, U16BIT num_entries);
1318 void STB_SIReleaseCaIdDescArray(U16BIT *desc_array, U8BIT num_entries);
1319 void STB_SIReleaseComponentDescArray(SI_COMPONENT_DESC *desc_array, U8BIT num_entries);
1320 void STB_SIReleaseContentDescArray(SI_CONTENT_DESC *desc_array, U8BIT num_entries);
1323 void STB_SIReleaseImageIconDescArray(SI_IMAGE_ICON_DESC *icon_array, U8BIT num_icons);
1324 void STB_SIReleaseIsoLangDescArray(SI_ISO_LANG_DESC *desc_array, U16BIT num_entries);
1325 void STB_SIReleaseLinkageDescList(SI_LINKAGE_DESC_ENTRY *desc_list, U16BIT num_entries);
1326 void STB_SIReleaseLtoDescArray(SI_LTO_DESC *desc_array, U16BIT num_entries);
1327 void STB_SIReleaseMultilingComponentDescArray(SI_MULTILING_COMPONENT_DESC *desc_array, U8BIT num_entries);
1328 void STB_SIReleaseMultilingNetNameDescArray(SI_MULTILING_NET_NAME_DESC *desc_array, U16BIT num_entries);
1329 void STB_SIReleaseMultilingServNameDescArray(SI_MULTILING_SERV_NAME_DESC *desc_array, U16BIT num_entries);
1330 void STB_SIReleaseMultilingShortNameArray(SI_MULTILING_SHORT_NAME_DESC *desc_array, U16BIT num_entries);
1331 void STB_SIReleaseParentalRatingDescArray(SI_PARENTAL_RATING_DESC *desc_array, U8BIT num_entries);
1332 void STB_SIReleaseServListDescArray(SI_SERV_LIST_DESC *desc_array, U16BIT num_entries);
1333 void STB_SIReleaseShortEventDescArray(SI_SHORT_EVENT_DESC *desc_array, U8BIT num_entries);
1334 void STB_SIReleaseExtendedEventDescArray(SI_EXTENDED_EVENT_DESC *desc_array, U8BIT num_entries);
1335 void STB_SIReleaseSubtitleDescArray(SI_SUBTITLE_DESC *desc_array, U16BIT num_entries);
1336 void STB_SIReleaseCaptionServiceDescArray(SI_CAPTION_SERVICE_DESC *desc_array, U16BIT num_entries);
1337 void STB_SIReleaseTeletextDescArray(SI_TELETEXT_DESC *desc_array, U16BIT num_entries);
1338 void STB_SIReleaseLcnDescArray(SI_LCN_DESC *desc_array, U16BIT num_entries);
1339 void STB_SIReleaseNordigLcn2DescArray(SI_NORDIG_LCN_DESC *desc_array, U16BIT num_entries);
1340 void STB_SIReleasePrefNameDescArray(SI_PREFERRED_NAME_DESC *desc_array, U16BIT num_entries);
1341 void STB_SIReleaseCRIDList(SI_CRID_DESC *crid_list);
1350 
1351 #endif // _STBSITAB_H
1352 
1353 //*****************************************************************************
1354 // End of file
1355 //*****************************************************************************
1356 
Definition: stbsitab.h:938
void STB_SIReleaseAvailabilityDescriptorList(SI_SERV_AVAIL_DESC *desc_list)
Frees the memory used by the descriptor list specified.
Definition: stbsitab.c:12866
Definition: stbsitab.h:661
Definition: stbsitab.h:865
Definition: stbsitab.h:153
void STB_SIReleaseURILinkageList(SI_URI_LINKAGE_DESC *list)
Frees a list of URI linkage descriptors.
Definition: stbsitab.c:13160
void * STB_SIRequestNitWithId(U8BIT path, U16BIT network_id, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for NITactual and NITother for the given network ID.
Definition: stbsitab.c:8069
void * STB_SIRequestAit(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT ait_pid, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for AIT on given PID.
Definition: stbsitab.c:13318
Definition: stbsitab.h:284
void STB_SIReleaseParentalRatingDescArray(SI_PARENTAL_RATING_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12616
void STB_SIReleaseMultilingNetNameDescArray(SI_MULTILING_NET_NAME_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12528
Definition: stbsitab.h:331
void STB_SIReleaseBatTable(SI_BAT_TABLE *bat_table)
Frees the memory used by the bat table.
Definition: stbsitab.c:11566
void * STB_SIRequestEitFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, E_SI_EIT_TABLE_REQ reqd_eit_tables, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for EIT.
Definition: stbsitab.c:8387
Definition: stbsitab.h:689
void * STB_SIRequestTotFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for TOT.
Definition: stbsitab.c:8639
Definition: stbsitab.h:805
Definition: stbsitab.h:731
Definition: stbsitab.h:498
Definition: stbsitab.h:846
void STB_SIReleaseRctTable(SI_RCT_TABLE *rct_table)
Frees memory used by an RCT table.
Definition: stbsitab.c:11735
SI_NIT_TABLE * STB_SIParseNitTable(SI_TABLE_RECORD *table_rec)
Parses the Nit table supplied in TABLE_RECORD format to create a NIT_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleaseNitTable to free the data.
Definition: stbsitab.c:9294
Definition: stbsitab.h:432
Definition: stbsitab.h:135
Definition: stbsitab.h:858
Definition: stbsitab.h:647
void STB_SIReleaseCRIDList(SI_CRID_DESC *crid_list)
Frees the memory used by the descriptor list specified.
Definition: stbsitab.c:13016
Definition: stbsitab.h:489
Header file - macros and function prototypes for public use.
Definition: stbsitab.h:1087
void * STB_SIRequestNitFromPid(U8BIT path, U16BIT pid, BOOLEAN actual, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Create an SI filter for an NIT table.
Definition: stbsitab.c:8030
SI_SDT_TABLE * STB_SIParseSdtTable(SI_TABLE_RECORD *table_rec)
Parses the Sdt table supplied in TABLE_RECORD format to create a SDT_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleaseSdtTable to free the data.
Definition: stbsitab.c:9762
void STB_SIReleaseLinkageDescList(SI_LINKAGE_DESC_ENTRY *desc_list, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12439
Definition: stbsitab.h:479
void STB_SIReleaseTargetRegionList(SI_TARGET_REGION_DESC *desc_list)
Frees the memory used by the descriptor list specified.
Definition: stbsitab.c:12829
void STB_SIModifyEitRequest(void *fhandle, E_SI_EIT_TABLE_REQ reqd_eit_tables, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count)
Modifies request for SDT to look for different transport on SAME PID.
Definition: stbsitab.c:8425
void STB_SIReleasePmtTable(SI_PMT_TABLE *pmt_table)
Frees the memory used by the pmt table.
Definition: stbsitab.c:11397
Definition: stbsitab.h:403
void STB_SIReleaseCaptionServiceDescArray(SI_CAPTION_SERVICE_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12766
void STB_SISetCountryPrivateDataSpecifier(U32BIT code)
Sets the country specific private data specifier code that will be used when parsing SI tables...
Definition: stbsitab.c:7761
void STB_SIReleaseFreqListDescArray(SI_NIT_FREQUENCY_LIST_DESC *freq_list)
Frees the memory used by the frequency list descriptor.
Definition: stbsitab.c:12304
Definition: stbsitab.h:671
void STB_SIReleaseTimeTable(SI_TIME_TABLE *time_table)
Frees the memory used by the time table (tdt or tot)
Definition: stbsitab.c:11715
Definition: stbsitab.h:244
Definition: stbsitab.h:748
void * STB_SIRequestCat(U8BIT path, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for CAT.
Definition: stbsitab.c:8672
Definition: stbsitab.h:795
void STB_SIClearUserDefinedDescriptorFunctions(void)
Clear all entries in the user defined SI descriptor table.
Definition: stbsitab.c:7876
Definition: stbsitab.h:185
Definition: stbsitab.h:945
void STB_SIReleaseStringDesc(SI_STRING_DESC *desc)
Frees the memory used by the descriptor specified.
Definition: stbsitab.c:12181
SI_PAT_TABLE * STB_SIParsePatTable(SI_TABLE_RECORD *table_rec)
Parses the Pat table supplied in TABLE_RECORD format to create a PAT_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleasePatTable to free the data.
Definition: stbsitab.c:8742
void STB_SIReleaseDelSysDesc(SI_DELIVERY_SYS_DESC *desc, SI_DELIVERY_SYS_DESC_TYPE type)
Frees the memory used by the descriptor specified.
Definition: stbsitab.c:12130
Definition: stbsitab.h:576
void STB_SIReleaseLcnDescArray(SI_LCN_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12926
SI_TIME_TABLE * STB_SIParseTimeTable(SI_TABLE_RECORD *table_rec)
Parses the tdt or tot table supplied in TABLE_RECORD format to create a TIME_TABLE structure...
Definition: stbsitab.c:10770
Definition: stbsitab.h:924
Definition: stbsitab.h:324
Definition: stbsiflt.h:84
void STB_SIReleaseFreesatLinkageDesc(SI_FREESAT_LINKAGE_DESC *desc)
Frees memory used by an SI_FREESAT_LINKAGE_DESC structure.
Definition: stbsitab.c:13075
void STB_SIReleaseNordigLcn2DescArray(SI_NORDIG_LCN_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12951
SI_BAT_TABLE * STB_SIParseBatTable(SI_TABLE_RECORD *table_rec)
Parses the BAT table supplied in TABLE_RECORD format to create a SI_BAT_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleaseBatTable to free the data.
Definition: stbsitab.c:10108
void * STB_SIRequestPat(U8BIT path, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for PAT.
Definition: stbsitab.c:7904
void STB_SIReleaseEitTable(SI_EIT_TABLE *eit_table)
Frees the memory used by the eit table.
Definition: stbsitab.c:11678
Definition: stbsitab.h:917
void * STB_SIRequestSdtFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other, U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for SDT.
Definition: stbsitab.c:8164
Definition: stbsitab.h:317
Definition: stbsitab.h:568
Definition: stbsitab.h:524
void * STB_SIRequestTdt(U8BIT path, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for TDT.
Definition: stbsitab.c:8539
void STB_SISetUserDefinedDescriptorFunction(U8BIT dtag, STB_SI_USER_DEF_DESCRIP_FUNCTION func)
Sets the function allocated to the user defined descriptor.
Definition: stbsitab.c:7848
void STB_SIReleaseComponentDescArray(SI_COMPONENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12257
void STB_SIReleaseCaDescArray(SI_CA_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12205
void STB_SIReleaseMultilingComponentDescArray(SI_MULTILING_COMPONENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12495
void STB_SIReleaseTeletextDescArray(SI_TELETEXT_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12901
Definition: stbsitab.h:725
void STB_SIReleaseMultilingServNameDescArray(SI_MULTILING_SERV_NAME_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12561
BOOLEAN STB_SIParseShortEventDescriptor(U8BIT *data, SI_SHORT_EVENT_DESC **event_desc)
Parses a short event descriptor, tag 0x4d, that must be released by calling STB_SIReleaseShortEventDe...
Definition: stbsitab.c:11319
Definition: stbsitab.h:338
Definition: stbsitab.h:628
void * STB_SIRequestBatFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for Bat.
Definition: stbsitab.c:8303
Definition: stbsitab.h:932
void * STB_SIRequestPmt(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT pmt_pid, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for PMT.
Definition: stbsitab.c:7941
Definition: stbsitab.h:1097
BOOLEAN STB_SIParseDelSysDesc(U8BIT *data, SI_DELIVERY_SYS_DESC_TYPE *type, SI_DELIVERY_SYS_DESC **desc)
Parses and allocates a system delivery descriptor which should be freed by calling STB_SIReleaseDelSy...
Definition: stbsitab.c:11210
void STB_SIReleaseIsoLangDescArray(SI_ISO_LANG_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12414
Definition: stbsitab.h:469
BOOLEAN STB_SIParseServiceDescriptor(U8BIT *data, U8BIT *type, SI_STRING_DESC **provider, SI_STRING_DESC **name)
Parses a service descriptor, tag 0x48, allocating SI strings that must be freed using STB_SIReleaseSt...
Definition: stbsitab.c:11287
Definition: stbsitab.h:963
Definition: stbsitab.h:208
Definition: stbsitab.h:831
void STB_SIReleaseGuidanceDesc(SI_GUIDANCE_DESC *desc_ptr)
Frees the memory used by the descriptor specified.
Definition: stbsitab.c:12338
SI_PMT_TABLE * STB_SIParsePmtTable(SI_TABLE_RECORD *table_rec)
Parses the Pmt table supplied in TABLE_RECORD format to create a PMT_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleasePmtTable to free the data.
Definition: stbsitab.c:8869
Definition: stbsitab.h:223
U8BIT * STB_SIReadString(U8BIT nbytes, U8BIT *dptr, SI_STRING_DESC **str_ptr)
Copies a string from a descriptor for the specified length. Converts the number of bytes specified in...
Definition: stbsitab.c:11086
Definition: stbsitab.h:426
void STB_SIReleaseSdtTable(SI_SDT_TABLE *sdt_table)
Frees the memory used by the sdt table.
Definition: stbsitab.c:11530
void STB_SIReleaseCIPlusServiceList(SI_CIPLUS_SERVICE *service_list)
Frees a CI+ service list.
Definition: stbsitab.c:13129
Definition: stbsitab.h:420
void STB_SIReleaseEitEventEntry(SI_EIT_EVENT_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:12023
void * STB_SIRequestBat(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT bouquet_id_match, U16BIT bouquet_id_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for Bat.
Definition: stbsitab.c:8264
void STB_SIReleaseSdtServiceEntry(SI_SDT_SERVICE_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11974
Definition: stbsitab.h:781
void STB_SIReleaseShortEventDescArray(SI_SHORT_EVENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12666
Definition: stbsitab.h:1105
Definition: stbsitab.h:956
Definition: stbsitab.h:162
void * STB_SIRequestTdtFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for TDT.
Definition: stbsitab.c:8573
void STB_SISetEacemPrivateDataSpecifierMode(BOOLEAN mode)
Enables or disables use of the EACEM private data specifier when parsing SI tables.
Definition: stbsitab.c:7801
Definition: stbsitab.h:549
void STB_SISetCiplusPrivateDataSpecifierMode(BOOLEAN mode)
Enables or disables use of the CI+ private data specifier when parsing SI tables. ...
Definition: stbsitab.c:7788
SI_RCT_TABLE * STB_SIParseRctTable(SI_TABLE_RECORD *table_rec)
Parses the related content table (RCT) to create an SI_RCT_TABLE structure.
Definition: stbsitab.c:10859
Definition: stbsitab.h:178
Definition: stbsitab.h:141
Definition: stbsitab.h:372
Definition: stbsitab.h:678
System Wide Global Technical Data Type Definitions.
Definition: stbsitab.h:837
void * STB_SIRequestSched(U8BIT path, E_SI_REQUEST_TYPE req_type, E_SI_SCHED_TABLE_REQ reqd_eit_tables, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for EIT schedule table.
Definition: stbsitab.c:8460
void STB_SIReleaseFreesatPrefixList(SI_FREESAT_PREFIX_DESC *list)
Frees memory used by an SI_FREESAT_PREFIX_DESC structure.
Definition: stbsitab.c:13102
Definition: stbsitab.h:718
void * STB_SIRequestRct(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT rct_pid, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for RCT on given PID.
Definition: stbsitab.c:8706
Definition: stbsitab.h:263
void STB_SIReleaseRctLinkInfo(SI_RCT_LINK_INFO *link_info)
Frees memory used by an SI_RCT_LINK_INFO structure.
Definition: stbsitab.c:13037
Definition: stbsitab.h:169
Definition: stbsitab.h:366
void * STB_SIRequestSchedFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, E_SI_SCHED_TABLE_REQ reqd_eit_tables, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for EIT schedule table.
Definition: stbsitab.c:8502
void STB_SISetNordigPrivateDataSpecifierMode(BOOLEAN mode)
Enables or disables use of the Nordig private data specifier when parsing SI tables.
Definition: stbsitab.c:7827
void STB_SIReleaseBatLcnEntry(SI_BAT_FREESAT_REGION_LCN_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11943
void STB_SIReleasePrefNameDescArray(SI_PREFERRED_NAME_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12986
Definition: stbsitab.h:517
void * STB_SIRequestNit(U8BIT path, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for NIT(actual)
Definition: stbsitab.c:8001
Definition: stbsitab.h:237
Definition: stbsitab.h:462
Definition: stbsitab.h:873
void STB_SIModifySdtRequest(void *fhandle, BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other, U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count)
Modifies request for SDT to look for different transport on SAME PID.
Definition: stbsitab.c:8217
void * STB_SIRequestEit(U8BIT path, E_SI_REQUEST_TYPE req_type, E_SI_EIT_TABLE_REQ reqd_eit_tables, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for EIT.
Definition: stbsitab.c:8345
Definition: stbsitab.h:1030
U16BIT STB_SIGetPmtCaIdDescArray(U8BIT *pmt_data, U16BIT **pmt_ca_ids)
Parses the given PMT to produce an array of the CA system IDs required by the service or streams on t...
Definition: stbsitab.c:13198
void STB_SIReleaseRctSubtable(SI_RCT_SUBTABLE *sub_ptr)
Frees memory used by an RCT subtable.
Definition: stbsitab.c:12057
Definition: stbsitab.h:255
void STB_SIReleaseContentDescArray(SI_CONTENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12287
Definition: stbsitab.h:1064
void STB_SIReleaseExtendedEventDescArray(SI_EXTENDED_EVENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12699
void STB_SISetNZSatPrivateDataSpecifierMode(BOOLEAN mode)
Enables or disables use of the New Zealand satellite private data specifier when parsing SI tables...
Definition: stbsitab.c:7814
Definition: stbsitab.h:1015
void STB_SIModifyPmtRequest(void *fhandle, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count)
Modifies request for PMT to look for different service on SAME PID.
Definition: stbsitab.c:7975
void STB_SIReleasePmtStreamEntry(SI_PMT_STREAM_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11799
void STB_SIReleasePatTable(SI_PAT_TABLE *pat_table)
Frees the memory used by the pat table.
Definition: stbsitab.c:11361
Definition: stbsitab.h:654
Definition: stbsitab.h:999
void STB_SIReleaseCaIdDescArray(U16BIT *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12231
void STB_SIReleaseImageIconDescArray(SI_IMAGE_ICON_DESC *icon_array, U8BIT num_icons)
Frees an array of image icons, including the memory used by each one.
Definition: stbsitab.c:12375
Definition: stbsitab.h:881
void STB_SIReleaseNitTransportEntry(SI_NIT_TRANSPORT_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11866
void * STB_SIRequestSdt(U8BIT path, E_SI_REQUEST_TYPE req_type, BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other, U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for SDT.
Definition: stbsitab.c:8107
void STB_SIReleaseServListDescArray(SI_SERV_LIST_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12641
Definition: stbsitab.h:297
SI_EIT_TABLE * STB_SIParseEitTable(SI_TABLE_RECORD *table_rec)
Parses the Eit table supplied in TABLE_RECORD format to create a EIT_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleaseEitTable to free the data.
Definition: stbsitab.c:10494
Definition: stbsitab.h:540
void STB_SIReleaseRctSubtableData(SI_RCT_SUBTABLE_DATA *data_ptr)
Frees memory used by an SI_RCT_SUBTABLE_DATA structure.
Definition: stbsitab.c:12084
Definition: stbsitab.h:455
Definition: stbds.h:126
Definition: stbsitab.h:815
Definition: stbsitab.h:439
void STB_SIReleaseBatTransportEntry(SI_BAT_TRANSPORT_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11908
void STB_SIReleaseNitTable(SI_NIT_TABLE *nit_table)
Frees the memory used by the nit table.
Definition: stbsitab.c:11438
void STB_SIReleaseSubtitleDescArray(SI_SUBTITLE_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12747
Definition: stbsitab.h:290
Definition: stbsitab.h:531
Definition: stbsitab.h:446
void * STB_SIRequestTot(U8BIT path, E_SI_REQUEST_TYPE req_type, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
Generates request for TOT.
Definition: stbsitab.c:8606
void STB_SIReleasePatStreamEntry(SI_PAT_SERVICE_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11779
void STB_SIReleaseLtoDescArray(SI_LTO_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12470
Header file - macros and function prototypes for public use.
Definition: stbsitab.h:271
void STB_SISetFreesatPrivateDataSpecifierMode(BOOLEAN mode)
Enables or disables use of the Freesat private data specifier when parsing SI tables.
Definition: stbsitab.c:7775
void STB_SIReleaseTargetRegionNameList(SI_NIT_TARGET_REGION_NAME_DESC *desc_list)
Frees the memory used by the descriptor list specified.
Definition: stbsitab.c:12790
Definition: stbsitab.h:908