DVBCore  22.3.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
718 typedef struct si_component_desc
719 {
720  U8BIT tag;
721  U8BIT content;
722  U8BIT type;
723  U32BIT lang_code;
724  SI_STRING_DESC *desc_str;
726 
728 {
729  U32BIT lang_code;
730  SI_STRING_DESC *name_str;
731  SI_STRING_DESC *provider_str;
733 
734 typedef struct
735 {
736  U32BIT lang_code;
737  SI_STRING_DESC *name_str;
739 
741 {
742  U32BIT lang_code;
743  U8BIT name_id;
744  SI_STRING_DESC *name_str;
746 
747 typedef enum
748 {
749  RUN_STATE_UNDEFINED = 0,
750  RUN_STATE_NOT_RUNNING,
751  RUN_STATE_STARTS_SOON,
752  RUN_STATE_PAUSING,
753  RUN_STATE_RUNNING,
754  RUN_STATE_OFF_AIR
755 } E_RUNNING_STATE;
756 
757 typedef struct si_sdt_service_entry
758 {
759  struct si_sdt_service_entry *next;
760  U16BIT serv_id;
761  BOOLEAN eit_sched_avail;
762  BOOLEAN eit_now_next_avail;
763  U8BIT running_status;
764  BOOLEAN all_streams_free;
765  U8BIT serv_type;
766  SI_STRING_DESC *name_str;
767  SI_STRING_DESC *provider_str;
768  U8BIT num_ca_id_entries;
769  U16BIT *ca_id_desc_array;
770  U8BIT num_component_entries;
771  SI_COMPONENT_DESC *component_desc_array;
772  U16BIT num_multiling_names;
773  SI_MULTILING_SERV_NAME_DESC *multiling_name_desc_array;
774  U16BIT num_preferred_names;
775  SI_PREFERRED_NAME_DESC *preferred_name_desc_array;
776  U16BIT num_linkage_entries;
777  SI_LINKAGE_DESC_ENTRY *linkage_desc_list;
778  SI_LINKAGE_DESC_ENTRY *last_linkage_entry;
779  SI_STRING_DESC *def_authority;
780  SI_STRING_DESC *short_name_str;
781  U16BIT num_multiling_short_names;
782  SI_MULTILING_SHORT_NAME_DESC *multiling_short_name_array;
783  SI_GUIDANCE_DESC *guidance;
784  SI_FTA_CONTENT_DESC *fta_content_desc;
785  SI_TARGET_REGION_DESC *target_region_list;
786  SI_SERV_AVAIL_DESC *serv_avail_desc_list;
787  U8BIT *ci_protection_desc;
788  SI_FREESAT_PREFIX_DESC *freesat_prefix_list;
789  SI_URI_LINKAGE_DESC *uri_linkage_list;
791 
792 typedef struct si_sdt_table
793 {
794  U8BIT version;
795  U16BIT tran_id;
796  U16BIT orig_net_id;
797  U16BIT num_services;
798  SI_SDT_SERVICE_ENTRY *service_list;
799  SI_SDT_SERVICE_ENTRY *last_service_entry;
800 } SI_SDT_TABLE;
801 
802 
803 //--------------------------------------------------
804 // BAT table structures
805 
806 typedef struct si_freesat_lcn
807 {
808  BOOLEAN numeric_selection;
809  BOOLEAN visible_flag;
810  BOOLEAN user_cust;
811  U16BIT lcn;
812  U16BIT region_id;
813  struct si_freesat_lcn *next;
815 
817 {
818  U16BIT tran_id;
819  U16BIT orig_net_id;
820  U16BIT service_id;
821  U16BIT freesat_id;
822  struct si_bat_freesat_region_lcn_entry *next;
823  SI_FREESAT_LCN *freesat_lcn_list;
825 
827 {
828  struct si_bat_transport_entry *next;
829  U16BIT tran_id;
830  U16BIT orig_net_id;
831  SI_SERV_LIST_DESC *serv_list_desc_array;
832  U16BIT num_serv_list_entries;
833  U16BIT num_lcn_entries;
834  SI_LCN_DESC *lcn_desc_array;
835  SI_BAT_FREESAT_REGION_LCN_ENTRY *lcn_region_list;
836  SI_STRING_DESC *def_authority;
837  SI_FTA_CONTENT_DESC *fta_content_desc;
838  U16BIT *int_rest_serv_array; /* Interactive restrictive services */
839  U8BIT num_int_rest_serv;
841 
843 {
844  U32BIT lang_code;
845  SI_STRING_DESC *name_str;
847 
849 {
850  U8BIT group_type;
851  U16BIT group_id;
852  SI_MULTILANG_GROUP_NAME_DESC *string_array;
853  U8BIT num_group_names;
854  struct si_bat_freesat_group_name_entry *next_group;
856 
858 {
859  U16BIT group_id;
860  BOOLEAN non_destructive_flag;
861  BOOLEAN return_channel_access_flag;
862  BOOLEAN g2_extension_flag;
863  U8BIT g2_flags;
864  U8BIT num_services;
865  U16BIT *freesat_id;
866  struct si_bat_freesat_serv_group_entry *next_group;
868 
870 {
871  U8BIT *data;
872  U8BIT length;
873  struct si_bat_freesat_iactive_storage_desc *next_desc;
875 
876 typedef struct si_bat_freesat_region
877 {
878  U16BIT region_id;
879  U32BIT lang_code;
880  SI_STRING_DESC *region_name;
881  struct si_bat_freesat_region *next;
883 
885 {
886  U16BIT orig_net_id;
887  U16BIT transport_id;
888  U16BIT service_id;
889  struct si_freesat_info_location *next;
891 
892 typedef struct si_bat_table
893 {
894  U8BIT version;
895  U16BIT bouquet_id;
896  SI_STRING_DESC *bouquet_name;
897  SI_STRING_DESC *def_authority;
898  SI_BAT_FREESAT_REGION *region_list;
899  U16BIT num_linkage_entries;
900  SI_LINKAGE_DESC_ENTRY *linkage_desc_list;
901  SI_LINKAGE_DESC_ENTRY *last_linkage_entry;
902  U16BIT num_transports;
903  SI_BAT_TRANSPORT_ENTRY *transport_list;
904  SI_BAT_TRANSPORT_ENTRY *last_transport_entry;
905  SI_BAT_FREESAT_GROUP_NAME_ENTRY *group_name_list;
906  U16BIT num_serv_groups;
907  SI_BAT_FREESAT_SERV_GROUP_ENTRY *serv_group_array;
908  SI_FTA_CONTENT_DESC *fta_content_desc;
909  SI_BAT_FREESAT_IACTIVE_STORAGE_DESC *iactive_storage_desc_list;
910  SI_BAT_FREESAT_INFO_LOCATION *info_location_list;
911  SI_FREESAT_PREFIX_DESC *freesat_prefix_list;
912  SI_URI_LINKAGE_DESC *uri_linkage_list;
913 } SI_BAT_TABLE;
914 
915 
916 //--------------------------------------------------
917 // EIT table structures
918 
920 {
921  U8BIT tag;
922  U32BIT lang_code;
923  SI_STRING_DESC *desc_str;
925 
926 typedef struct si_content_desc
927 {
928  U8BIT level_1;
929  U8BIT level_2;
930  U8BIT user_1;
931  U8BIT user_2;
933 
935 {
936  U32BIT country_code;
937  U8BIT rating;
939 
940 typedef struct si_short_event_desc
941 {
942  U32BIT lang_code;
943  SI_STRING_DESC *name_str;
944  SI_STRING_DESC *desc_str;
946 
948 {
949  U8BIT desc_number;
950  U8BIT last_desc_number;
951  U32BIT lang_code;
952  U8BIT num_items;
953  SI_STRING_DESC **item_desc_array;
954  SI_STRING_DESC **item_text_array;
955  SI_STRING_DESC *text_str;
957 
958 typedef struct si_crid_desc
959 {
960  struct si_crid_desc *next;
961  U8BIT type;
962  SI_STRING_DESC *crid_str;
963 } SI_CRID_DESC;
964 
965 typedef struct si_eit_event_entry
966 {
967  struct si_eit_event_entry *next;
968  U8BIT sect_num;
969  U16BIT event_id;
970  U16BIT start_date; // mjd format
971  U8BIT start_hrs;
972  U8BIT start_mins;
973  U8BIT start_secs;
974  U8BIT duration_hrs;
975  U8BIT duration_mins;
976  U8BIT duration_secs;
977  U8BIT running_status;
978  BOOLEAN all_streams_free;
979  U8BIT preferred_name_id;
980  U8BIT num_ca_id_entries;
981  U16BIT *ca_id_desc_array;
982  U8BIT num_component_entries;
983  SI_COMPONENT_DESC *component_desc_array;
984  U8BIT num_content_entries;
985  SI_CONTENT_DESC *content_desc_array;
986  U8BIT num_multiling_component_entries;
987  SI_MULTILING_COMPONENT_DESC *multiling_component_desc_array;
988  U8BIT num_parental_rating_entries;
989  SI_PARENTAL_RATING_DESC *parental_rating_desc_array;
990  U8BIT num_short_event_entries;
991  SI_SHORT_EVENT_DESC *short_event_desc_array;
992  U8BIT num_extended_event_entries;
993  SI_EXTENDED_EVENT_DESC *extended_event_desc_array;
994  U8BIT num_crids;
995  SI_CRID_DESC *crid_list;
996  SI_CRID_DESC *last_crid_entry;
997  SI_GUIDANCE_DESC *guidance;
998  SI_FTA_CONTENT_DESC *fta_content_desc;
1000 
1001 typedef struct si_eit_table
1002 {
1003  U8BIT version;
1004  U8BIT table_id;
1005  U16BIT serv_id;
1006  U16BIT tran_id;
1007  U16BIT orig_net_id;
1008  U8BIT last_table_id;
1009  U16BIT num_events;
1010  SI_EIT_EVENT_ENTRY *event_list;
1011  SI_EIT_EVENT_ENTRY *last_event_entry;
1012 } SI_EIT_TABLE;
1013 
1014 
1015 //--------------------------------------------------
1016 // Time and date table structures
1017 typedef struct si_lto_desc
1018 {
1019  U32BIT country_code;
1020  U8BIT region;
1021  BOOLEAN offset_negative;
1022  U8BIT offset_hrs;
1023  U8BIT offset_mins;
1024  U16BIT change_date; // mjd format
1025  U8BIT change_hrs;
1026  U8BIT change_mins;
1027  U8BIT change_secs;
1028  U8BIT next_offset_hrs;
1029  U8BIT next_offset_mins;
1030 } SI_LTO_DESC;
1031 
1032 typedef struct si_time_table
1033 {
1034  U16BIT date; // mjd format
1035  U8BIT hrs;
1036  U8BIT mins;
1037  U8BIT secs;
1038  U16BIT num_lto_entries;
1039  SI_LTO_DESC *lto_desc_array;
1040 } SI_TIME_TABLE;
1041 
1042 
1043 //--------------------------------------------------
1044 // Related content table (RCT) structures
1045 typedef enum
1046 {
1047  RCT_LINK_TYPE_URI = 0x0,
1048  RCT_LINK_TYPE_BINARY = 0x1,
1049  RCT_LINK_TYPE_URI_BINARY = 0x2,
1050  RCT_LINK_TYPE_DESCRIPTOR = 0x3
1051 } E_RCT_LINK_TYPE;
1052 
1053 typedef enum
1054 {
1055  RCT_HOW_RELATED_TVA_2004 = 0x00,
1056  RCT_HOW_RELATED_TVA_2005 = 0x01,
1057  RCT_HOW_RELATED_TVA_2007 = 0x02
1058 } E_RCT_HOW_RELATED;
1059 
1060 typedef enum
1061 {
1062  RCT_TERMID_IS_TRAILER_OF = 0x0002,
1063  RCT_TERMID_IS_GROUP_TRAILER_OF = 0x0005
1064 } E_RCT_TERM_ID;
1065 
1066 typedef struct si_rct_promo_text
1067 {
1068  U32BIT lang_code;
1069  SI_STRING_DESC *string;
1071 
1072 typedef struct si_rct_link_info
1073 {
1074  E_RCT_LINK_TYPE link_type;
1075  E_RCT_HOW_RELATED how_related;
1076  U16BIT term_id;
1077  U8BIT group_id;
1078  U8BIT precedence;
1079  U8BIT *uri_string;
1080  U8BIT num_items;
1081  SI_RCT_PROMO_TEXT *promo_text_array;
1082  BOOLEAN can_use_default_icon;
1083  U8BIT icon_id;
1084  SI_SHORT_EVENT_DESC *event_desc;
1085  U8BIT num_icons;
1086  SI_IMAGE_ICON_DESC *icon_array;
1088 
1089 typedef struct si_rct_subtable_data
1090 {
1091  U16BIT year_offset;
1092  U8BIT link_count;
1093  SI_RCT_LINK_INFO *link_array;
1094  U8BIT num_icons;
1095  SI_IMAGE_ICON_DESC *icon_array;
1096  struct si_rct_subtable_data *next;
1098 
1099 typedef struct si_rct_subtable
1100 {
1101  U8BIT version;
1102  U16BIT service_id;
1103  SI_RCT_SUBTABLE_DATA *data;
1104  struct si_rct_subtable *next;
1105 } SI_RCT_SUBTABLE;
1106 
1107 typedef struct si_rct_table
1108 {
1109  SI_RCT_SUBTABLE *subtables;
1110 } SI_RCT_TABLE;
1111 
1112 
1113 //---Global Function prototypes for public use---------------------------------
1114 
1120 void STB_SISetCountryPrivateDataSpecifier(U32BIT code);
1121 
1126 void STB_SISetFreesatPrivateDataSpecifierMode(BOOLEAN mode);
1127 
1132 void STB_SISetCiplusPrivateDataSpecifierMode(BOOLEAN mode);
1133 
1138 void STB_SISetEacemPrivateDataSpecifierMode(BOOLEAN mode);
1139 
1144 void STB_SISetNZSatPrivateDataSpecifierMode(BOOLEAN mode);
1145 
1150 void STB_SISetNordigPrivateDataSpecifierMode(BOOLEAN mode);
1151 
1152 void STB_SISetUserDefinedDescriptorFunction(U8BIT dtag, STB_SI_USER_DEF_DESCRIP_FUNCTION func);
1154 
1155 void *STB_SIRequestPat(U8BIT path, E_SI_REQUEST_TYPE req_type,
1156  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1157 
1158 void *STB_SIRequestPmt(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT pmt_pid,
1159  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1160  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1161 void STB_SIModifyPmtRequest(void *fhandle, U16BIT sid_match, U16BIT sid_mask, U16BIT table_count);
1162 
1163 void *STB_SIRequestNit(U8BIT path, E_SI_REQUEST_TYPE req_type,
1164  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1165 
1176 void *STB_SIRequestNitFromPid(U8BIT path, U16BIT pid, BOOLEAN actual, E_SI_REQUEST_TYPE req_type,
1177  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1178 
1188 void* STB_SIRequestNitWithId(U8BIT path, U16BIT network_id, E_SI_REQUEST_TYPE req_type,
1189  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1190 
1191 void *STB_SIRequestSdt(U8BIT path, E_SI_REQUEST_TYPE req_type,
1192  BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other,
1193  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count,
1194  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1195 
1196 void *STB_SIRequestSdtFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1197  BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other,
1198  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count,
1199  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1200 
1201 void STB_SIModifySdtRequest(void *fhandle, BOOLEAN inc_sdt_actual, BOOLEAN inc_sdt_other,
1202  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count);
1203 
1204 void *STB_SIRequestBat(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT bouquet_id_match,
1205  U16BIT bouquet_id_mask, U16BIT table_count, void (*callback)(void *, U32BIT, SI_TABLE_RECORD *),
1206  U32BIT ret_param);
1207 
1208 void *STB_SIRequestBatFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1209  U16BIT tran_id_match, U16BIT tran_id_mask, U16BIT table_count,
1210  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1211 
1212 void *STB_SIRequestEit(U8BIT path, E_SI_REQUEST_TYPE req_type, E_SI_EIT_TABLE_REQ reqd_eit_tables,
1213  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1214  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1215 
1216 void *STB_SIRequestEitFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, E_SI_EIT_TABLE_REQ reqd_eit_tables,
1217  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1218  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1219 
1220 void STB_SIModifyEitRequest(void *fhandle, E_SI_EIT_TABLE_REQ reqd_eit_tables,
1221  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count);
1222 
1223 void *STB_SIRequestSched(U8BIT path, E_SI_REQUEST_TYPE req_type, E_SI_SCHED_TABLE_REQ reqd_eit_tables,
1224  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1225  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1226 
1227 void *STB_SIRequestSchedFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type, E_SI_SCHED_TABLE_REQ reqd_eit_tables,
1228  U16BIT sid_match, U16BIT sid_mask, U16BIT table_count,
1229  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1230 
1231 void *STB_SIRequestTdt(U8BIT path, E_SI_REQUEST_TYPE req_type,
1232  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1233 
1234 void *STB_SIRequestTdtFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1235  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1236 
1237 void *STB_SIRequestTot(U8BIT path, E_SI_REQUEST_TYPE req_type,
1238  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1239 
1240 void *STB_SIRequestTotFromPid(U8BIT path, U16BIT pid, E_SI_REQUEST_TYPE req_type,
1241  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1242 
1243 void *STB_SIRequestCat(U8BIT path, E_SI_REQUEST_TYPE req_type,
1244  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1245 
1246 void *STB_SIRequestRct(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT rct_pid,
1247  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1248 
1257 
1258 U8BIT* STB_SIReadString(U8BIT nbytes, U8BIT *dptr, SI_STRING_DESC **str_ptr);
1259 
1260 BOOLEAN STB_SIParseDelSysDesc(U8BIT *data, SI_DELIVERY_SYS_DESC_TYPE *type, SI_DELIVERY_SYS_DESC **desc);
1261 BOOLEAN STB_SIParseServiceDescriptor(U8BIT *data, U8BIT *type, SI_STRING_DESC **provider,
1262  SI_STRING_DESC **name);
1263 BOOLEAN STB_SIParseShortEventDescriptor(U8BIT *data, SI_SHORT_EVENT_DESC **event_desc);
1264 
1265 /*!**************************************************************************
1266  * @brief Parses the given PMT to produce an array of the CA system IDs required
1267  * by the service or streams on the service. The array of IDs will be
1268  * allocated by this function and should be freed using STB_SIReleaseCaIdDescArray.
1269  * @param pmt_data - raw PMT section data
1270  * @param pmt_ca_ids - pointer to an array that will be allocated containing
1271  * the CA IDs found in the PMT
1272  * @return Number of CA IDs found in the PMT and returned in the array,
1273  * 0 if none are found.
1274  ****************************************************************************/
1275 U16BIT STB_SIGetPmtCaIdDescArray(U8BIT *pmt_data, U16BIT **pmt_ca_ids);
1276 
1286 void *STB_SIRequestAit(U8BIT path, E_SI_REQUEST_TYPE req_type, U16BIT ait_pid,
1287  void (*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param);
1288 
1289 void STB_SIReleasePatTable(SI_PAT_TABLE *pat_table);
1290 void STB_SIReleasePmtTable(SI_PMT_TABLE *pmt_table);
1291 void STB_SIReleaseNitTable(SI_NIT_TABLE *nit_table);
1292 void STB_SIReleaseSdtTable(SI_SDT_TABLE *sdt_table);
1293 void STB_SIReleaseEitTable(SI_EIT_TABLE *eit_table);
1294 void STB_SIReleaseTimeTable(SI_TIME_TABLE *time_table);
1295 void STB_SIReleaseRctTable(SI_RCT_TABLE *rct_table);
1296 void STB_SIReleaseBatTable(SI_BAT_TABLE *bat_table);
1297 
1298 // the following functions can be used to release individual table entry structures from the parsed
1299 // tables. They are mainly intended for releasing entries which have been transferred
1300 // out of the parsed tables by the application SI handler and are therefore not released when the
1301 // table is released.
1309 
1310 /* TODO These can probably become local functions */
1313 // the following functions can be used to release individual descriptor array elements from the
1314 // parsed tables. They are mainly intended for releasing descriptors which have been transferred
1315 // out of the parsed tables by the application SI handler (by setting the table element pointing to
1316 // the descriptor array to NULL), and are therefore not released when the table is released.
1317 void STB_SIReleaseDelSysDesc(SI_DELIVERY_SYS_DESC *desc, SI_DELIVERY_SYS_DESC_TYPE type);
1319 void STB_SIReleaseCaDescArray(SI_CA_DESC *desc_array, U16BIT num_entries);
1320 void STB_SIReleaseCaIdDescArray(U16BIT *desc_array, U8BIT num_entries);
1321 void STB_SIReleaseComponentDescArray(SI_COMPONENT_DESC *desc_array, U8BIT num_entries);
1322 void STB_SIReleaseContentDescArray(SI_CONTENT_DESC *desc_array, U8BIT num_entries);
1325 void STB_SIReleaseImageIconDescArray(SI_IMAGE_ICON_DESC *icon_array, U8BIT num_icons);
1326 void STB_SIReleaseIsoLangDescArray(SI_ISO_LANG_DESC *desc_array, U16BIT num_entries);
1327 void STB_SIReleaseLinkageDescList(SI_LINKAGE_DESC_ENTRY *desc_list, U16BIT num_entries);
1328 void STB_SIReleaseLtoDescArray(SI_LTO_DESC *desc_array, U16BIT num_entries);
1329 void STB_SIReleaseMultilingComponentDescArray(SI_MULTILING_COMPONENT_DESC *desc_array, U8BIT num_entries);
1330 void STB_SIReleaseMultilingNetNameDescArray(SI_MULTILING_NET_NAME_DESC *desc_array, U16BIT num_entries);
1331 void STB_SIReleaseMultilingServNameDescArray(SI_MULTILING_SERV_NAME_DESC *desc_array, U16BIT num_entries);
1332 void STB_SIReleaseMultilingShortNameArray(SI_MULTILING_SHORT_NAME_DESC *desc_array, U16BIT num_entries);
1333 void STB_SIReleaseParentalRatingDescArray(SI_PARENTAL_RATING_DESC *desc_array, U8BIT num_entries);
1334 void STB_SIReleaseServListDescArray(SI_SERV_LIST_DESC *desc_array, U16BIT num_entries);
1335 void STB_SIReleaseShortEventDescArray(SI_SHORT_EVENT_DESC *desc_array, U8BIT num_entries);
1336 void STB_SIReleaseExtendedEventDescArray(SI_EXTENDED_EVENT_DESC *desc_array, U8BIT num_entries);
1337 void STB_SIReleaseSubtitleDescArray(SI_SUBTITLE_DESC *desc_array, U16BIT num_entries);
1338 void STB_SIReleaseCaptionServiceDescArray(SI_CAPTION_SERVICE_DESC *desc_array, U16BIT num_entries);
1339 void STB_SIReleaseTeletextDescArray(SI_TELETEXT_DESC *desc_array, U16BIT num_entries);
1340 void STB_SIReleaseLcnDescArray(SI_LCN_DESC *desc_array, U16BIT num_entries);
1341 void STB_SIReleaseNordigLcn2DescArray(SI_NORDIG_LCN_DESC *desc_array, U16BIT num_entries);
1342 void STB_SIReleasePrefNameDescArray(SI_PREFERRED_NAME_DESC *desc_array, U16BIT num_entries);
1343 void STB_SIReleaseCRIDList(SI_CRID_DESC *crid_list);
1352 
1353 #endif // _STBSITAB_H
1354 
1355 //*****************************************************************************
1356 // End of file
1357 //*****************************************************************************
1358 
Definition: stbsitab.h:940
void STB_SIReleaseAvailabilityDescriptorList(SI_SERV_AVAIL_DESC *desc_list)
Frees the memory used by the descriptor list specified.
Definition: stbsitab.c:12873
Definition: stbsitab.h:661
Definition: stbsitab.h:876
Definition: stbsitab.h:153
void STB_SIReleaseURILinkageList(SI_URI_LINKAGE_DESC *list)
Frees a list of URI linkage descriptors.
Definition: stbsitab.c:13167
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:13325
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:12623
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:12535
Definition: stbsitab.h:331
void STB_SIReleaseBatTable(SI_BAT_TABLE *bat_table)
Frees the memory used by the bat table.
Definition: stbsitab.c:11571
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:816
Definition: stbsitab.h:740
Definition: stbsitab.h:498
Definition: stbsitab.h:857
void STB_SIReleaseRctTable(SI_RCT_TABLE *rct_table)
Frees memory used by an RCT table.
Definition: stbsitab.c:11740
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:9291
Definition: stbsitab.h:432
Definition: stbsitab.h:135
Definition: stbsitab.h:869
Definition: stbsitab.h:647
void STB_SIReleaseCRIDList(SI_CRID_DESC *crid_list)
Frees the memory used by the descriptor list specified.
Definition: stbsitab.c:13023
Definition: stbsitab.h:489
Header file - macros and function prototypes for public use.
Definition: stbsitab.h:1089
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:9759
void STB_SIReleaseLinkageDescList(SI_LINKAGE_DESC_ENTRY *desc_list, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12446
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:12836
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:11402
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:12773
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:12311
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:11720
Definition: stbsitab.h:244
Definition: stbsitab.h:757
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:806
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:947
void STB_SIReleaseStringDesc(SI_STRING_DESC *desc)
Frees the memory used by the descriptor specified.
Definition: stbsitab.c:12188
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:12137
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:12933
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:10775
Definition: stbsitab.h:926
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:13082
void STB_SIReleaseNordigLcn2DescArray(SI_NORDIG_LCN_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12958
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:10113
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:11683
Definition: stbsitab.h:919
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:12264
void STB_SIReleaseCaDescArray(SI_CA_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12212
void STB_SIReleaseMultilingComponentDescArray(SI_MULTILING_COMPONENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12502
void STB_SIReleaseTeletextDescArray(SI_TELETEXT_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12908
Definition: stbsitab.h:734
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:12568
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:11324
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:934
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:1099
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:11215
void STB_SIReleaseIsoLangDescArray(SI_ISO_LANG_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12421
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:11292
Definition: stbsitab.h:965
Definition: stbsitab.h:208
Definition: stbsitab.h:842
void STB_SIReleaseGuidanceDesc(SI_GUIDANCE_DESC *desc_ptr)
Frees the memory used by the descriptor specified.
Definition: stbsitab.c:12345
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:11091
Definition: stbsitab.h:426
void STB_SIReleaseSdtTable(SI_SDT_TABLE *sdt_table)
Frees the memory used by the sdt table.
Definition: stbsitab.c:11535
void STB_SIReleaseCIPlusServiceList(SI_CIPLUS_SERVICE *service_list)
Frees a CI+ service list.
Definition: stbsitab.c:13136
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:12030
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:11979
Definition: stbsitab.h:792
void STB_SIReleaseShortEventDescArray(SI_SHORT_EVENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12673
Definition: stbsitab.h:1107
Definition: stbsitab.h:958
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:10864
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:848
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:13109
Definition: stbsitab.h:727
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:13044
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:11948
void STB_SIReleasePrefNameDescArray(SI_PREFERRED_NAME_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12993
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:884
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:1032
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:13205
void STB_SIReleaseRctSubtable(SI_RCT_SUBTABLE *sub_ptr)
Frees memory used by an RCT subtable.
Definition: stbsitab.c:12064
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:12294
Definition: stbsitab.h:1066
void STB_SIReleaseExtendedEventDescArray(SI_EXTENDED_EVENT_DESC *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12706
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:1017
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:11804
void STB_SIReleasePatTable(SI_PAT_TABLE *pat_table)
Frees the memory used by the pat table.
Definition: stbsitab.c:11366
Definition: stbsitab.h:654
Definition: stbsitab.h:1001
void STB_SIReleaseCaIdDescArray(U16BIT *desc_array, U8BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12238
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:12382
Definition: stbsitab.h:892
void STB_SIReleaseNitTransportEntry(SI_NIT_TRANSPORT_ENTRY *entry_ptr)
Frees the memory used by the table entry specified.
Definition: stbsitab.c:11871
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:12648
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:10499
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:12091
Definition: stbsitab.h:455
Definition: stbds.h:126
Definition: stbsitab.h:826
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:11913
void STB_SIReleaseNitTable(SI_NIT_TABLE *nit_table)
Frees the memory used by the nit table.
Definition: stbsitab.c:11443
void STB_SIReleaseSubtitleDescArray(SI_SUBTITLE_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12754
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:11784
void STB_SIReleaseLtoDescArray(SI_LTO_DESC *desc_array, U16BIT num_entries)
Frees the memory used by the descriptor array specified.
Definition: stbsitab.c:12477
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:12797
Definition: stbsitab.h:718