DVBCore  17.9.0
Open Source DVB Engine
 All Data Structures Files Functions Typedefs Macros Pages
Macros | Functions
stbsitab.c File Reference

STB layer SI table parsing. More...

#include <stdio.h>
#include <string.h>
#include <techtype.h>
#include <dbgfuncs.h>
#include "stbhwc.h"
#include "stbheap.h"
#include "stbuni.h"
#include "stbsiflt.h"
#include "stbdpc.h"
#include "stbsitab.h"

Macros

#define STB_SI_PRINT(x)
 
#define DEBUG_SI_EIT_CONTENT_VALUE   FALSE
 
#define DEBUG_SI_SDT_CONTENT_VALUE   FALSE
 
#define DEBUG_SI_PMT_CONTENT_VALUE   FALSE
 
#define DEBUG_SI_NIT_CONTENT_VALUE   FALSE
 
#define DEBUG_SI_BAT_CONTENT_VALUE   FALSE
 
#define DEBUG_RCT_LINK_INFO_VALUE   FALSE
 
#define DEBUG_SI_RCT_CONTENT_VALUE   FALSE
 
#define DEBUG_SI_TDT_TOT_CONTENT_VALUE   FALSE
 
#define DEBUG_SERVICE_DESC_VALUE   FALSE
 
#define DEBUG_SHORT_EVENT_DESC_VALUE   FALSE
 
#define DEBUG_TERR_DEL_SYS_DESC_VALUE   FALSE
 
#define DEBUG_SAT_DEL_SYS_DESC_VALUE   FALSE
 
#define DEBUG_CABLE_DEL_SYS_DESC_VALUE   FALSE
 
#define SI_PAT_PID   0x0000
 
#define SI_CAT_PID   0x0001
 
#define SI_NIT_PID   0x0010
 
#define SI_SDT_PID   0x0011
 
#define SI_BAT_PID   0x0011
 
#define SI_EIT_PID   0x0012
 
#define SI_TDT_PID   0x0014
 
#define SI_TOT_PID   0x0014
 
#define SI_PAT_TID   0x00
 
#define SI_CAT_TID   0x01
 
#define SI_PMT_TID   0x02
 
#define SI_NIT_ACTUAL_TID   0x40
 
#define SI_NIT_OTHER_TID   0x41
 
#define SI_SDT_ACTUAL_TID   0x42
 
#define SI_SDT_OTHER_TID   0x46
 
#define SI_BAT_TID   0x4A
 
#define SI_EITPF_ACTUAL_TID   0x4E
 
#define SI_EITPF_OTHER_TID   0x4F
 
#define SI_EITSC_ACTUAL_TID   0x50
 
#define SI_EITSC_OTHER_TID   0x60
 
#define SI_TDT_TID   0x70
 
#define SI_TOT_TID   0x73
 
#define SI_AIT_TID   0x74
 
#define SI_RCT_TID   0x76
 
#define SI_EIT_PLUS_TID   0xD1
 
#define CA_DTAG   0x09
 
#define ISO_LANG_DTAG   0x0a
 
#define CAROUSEL_ID_DTAG   0x13
 
#define PRIV_DATA_INDICATOR_DTAG   0x0f
 
#define NET_NAME_DTAG   0x40
 
#define SERV_LIST_DTAG   0x41
 
#define SAT_DEL_SYS_DTAG   0x43
 
#define CABLE_DEL_SYS_DTAG   0x44
 
#define SERVICE_DTAG   0x48
 
#define LINKAGE_DTAG   0x4a
 
#define SHORT_EVENT_DTAG   0x4d
 
#define EXTENDED_EVENT_DTAG   0x4e
 
#define COMPONENT_DTAG   0x50
 
#define STREAM_ID_DTAG   0x52
 
#define CA_ID_DTAG   0x53
 
#define CONTENT_DTAG   0x54
 
#define PARENTAL_RATING_DTAG   0x55
 
#define TELETEXT_DTAG   0x56
 
#define LOCAL_TIME_OFFSET_DTAG   0x58
 
#define SUBTITLE_DTAG   0x59
 
#define TERR_DEL_SYS_DTAG   0x5a
 
#define MULTILING_NET_NAME_DTAG   0x5b
 
#define MULTILING_SERV_NAME_DTAG   0x5d
 
#define MULTILING_COMPONENT_DTAG   0x5e
 
#define PRIV_DATA_SPEC_DTAG   0x5f
 
#define SERVICE_MOVE_DTAG   0x60
 
#define FREQ_LIST_DTAG   0x62
 
#define AC3_DTAG   0x6a
 
#define APP_SIG_DTAG   0x6f /* Application signalling descriptor tag value */
 
#define SERV_AVAIL_DESC_DTAG   0x72 /* Service Availability Descriptor */
 
#define DEF_AUTH_DTAG   0x73 /* Default authority descriptor tag value */
 
#define RELATED_CONTENT_DTAG   0x74 /* Related content descriptor tag value */
 
#define CONT_ID_DTAG   0x76 /* Content identifier descriptor tag value */
 
#define EAC3_DTAG   0x7a
 
#define AAC_DTAG   0x7c
 
#define FTA_CONTENT_DTAG   0x7e
 
#define EXT_DTAG   0x7f /* Extension descriptor */
 
#define USER_DEFINED_DTAG_0x83   0x83
 
#define USER_DEFINED_DTAG_0x84   0x84
 
#define USER_DEFINED_DTAG_0x85   0x85
 
#define USER_DEFINED_DTAG_0x86   0x86
 
#define USER_DEFINED_DTAG_0x87   0x87
 
#define USER_DEFINED_DTAG_0x88   0x88
 
#define USER_DEFINED_DTAG_0x89   0x89
 
#define BOUQUET_NAME_DTAG   0x47
 
#define LOGICAL_CHANNEL_DTAG   0x83
 
#define CIPLUS_SERVICE_DTAG   0xcc
 
#define CIPLUS_PROTECTION_DTAG   0xce
 
#define FREESAT_TUNNELLED_DTAG   0xd0 /* PMT 1st */
 
#define FREESAT_ALT_TUNNELLED_DTAG   0xd1 /* PMT 2nd */
 
#define FREESAT_LINK_DTAG   0xd2 /* NIT 1st */
 
#define FREESAT_REGION_LCN_DTAG   0xd3 /* BAT 2nd */
 
#define FREESAT_REGION_NAME_DTAG   0xd4 /* BAT 1st */
 
#define FREESAT_SERV_GROUP_DTAG   0xd5 /* BAT 1st */
 
#define FREESAT_IACTIVE_STORAGE_DTAG   0xd6 /* BAT 1st */
 
#define FREESAT_INFO_LOCATION_DTAG   0xd7 /* BAT 1st */
 
#define FREESAT_SERV_GROUP_NAME_DTAG   0xd8 /* BAT 1st */
 
#define FREESAT_SERV_NAME_DTAG   0xd9 /* SDT */
 
#define FREESAT_GUIDANCE_DTAG   0xda /* SDT, EIT */
 
#define FREESAT_IACTIVE_RESTRICT_DTAG   0xdb /* BAT 2nd */
 
#define FREESAT_CONTENT_MANAGE_DTAG   0xdc /* BAT 1st+2nd, SDT, EIT */
 
#define FREESAT_PREFIX_DTAG   0xdf /* NIT 1st, BAT 1st, SDT */
 
#define FREESAT_MEDIA_LOCATOR_DTAG   0xe0 /* BAT 1st, SDT, EIT */
 
#define IMAGE_ICON_DTAG   0x00
 
#define T2_DELIVERY_SYS_DTAG   0x04
 
#define SUPPLEMENTARY_AUDIO_DTAG   0x06
 
#define NETWORK_CHANGE_NOTIFY_DTAG   0x07
 
#define MESSAGE_DTAG   0x08
 
#define TARGET_REGION_DTAG   0x09
 
#define TARGET_REGION_NAME_DTAG   0x0a
 
#define UK_DTT_PRIVATE_DATA_SPECIFIER   0x0000233a
 
#define CIPLUS_PRIVATE_DATA_SPECIFIER   0x00000040
 
#define FREESAT_PRIVATE_DATA_SPECIFIER   0x46534154
 
#define NORDIG_PRIVATE_DATA_SPECIFIER   0x00000029
 
#define EACEM_PRIVATE_DATA_SPECIFIER   0x00000028 /* E-Book */
 
#define NZ_DTT_PRIVATE_DATA_SPECIFIER   0x00000037 /* New Zealand Freeview DTT */
 
#define NZ_SAT_PRIVATE_DATA_SPECIFIER   0x00000029 /* New Zealand Freeview Satellite */
 
#define ZAF_DTT_PRIVATE_DATA_SPECIFIER   0x000022c6 /* South Africa (SABC) */
 
#define LANG_CODE_NAR   0x6e6172
 
#define FIRST_USER_DEFINED_DTAG   0x80
 
#define LAST_USER_DEFINED_DTAG   0xfe
 
#define NUM_USER_DEFINED_DTAGS   (LAST_USER_DEFINED_DTAG - FIRST_USER_DEFINED_DTAG + 1)
 

Functions

void STB_SISetCountryPrivateDataSpecifier (U32BIT code)
 Sets the private data identified by the specified code. More...
 
void STB_SISetFreesatPrivateDataSpecifierMode (BOOLEAN mode)
 
void STB_SISetCiplusPrivateDataSpecifierMode (BOOLEAN mode)
 
void STB_SISetEacemPrivateDataSpecifierMode (BOOLEAN mode)
 
void STB_SISetNZSatPrivateDataSpecifierMode (BOOLEAN mode)
 
void STB_SISetUserDefinedDescriptorFunction (U8BIT dtag, STB_SI_USER_DEF_DESCRIP_FUNCTION func)
 Sets the function allocated to the user defined descriptor. More...
 
void STB_SIClearUserDefinedDescriptorFunctions (void)
 Clear all entries in the user defined SI descriptor table. More...
 
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. More...
 
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. More...
 
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. More...
 
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) More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
void * STB_SIRequestBatFromPid (U8BIT path, U16BIT pid, 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
SI_PAT_TABLESTB_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. More...
 
SI_PMT_TABLESTB_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. More...
 
SI_NIT_TABLESTB_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. More...
 
SI_SDT_TABLESTB_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. More...
 
SI_BAT_TABLESTB_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. More...
 
SI_EIT_TABLESTB_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. More...
 
SI_TIME_TABLESTB_SIParseTimeTable (SI_TABLE_RECORD *table_rec)
 Parses the tdt or tot table supplied in TABLE_RECORD format to create a TIME_TABLE structure. Returns a pointer to the table. Application must call STB_SIReleaseTimeTable to free the data. More...
 
SI_RCT_TABLESTB_SIParseRctTable (SI_TABLE_RECORD *table_rec)
 Parses the related content table (RCT) to create an SI_RCT_TABLE structure. More...
 
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 into a null-terminated string, removing any embedded null codes. Does not affect the coding of the string, e.g. single byte ascii or unicode. Does not remove any control characters. More...
 
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_SIReleaseDelSysDesc. Currently supports DVB-T/T2, DVB-C and DVB-S/S2 descriptors. More...
 
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_SIReleaseStringDesc. More...
 
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_SIReleaseShortEventDescArray. More...
 
void STB_SIReleasePatTable (SI_PAT_TABLE *pat_table)
 Frees the memory used by the pat table. More...
 
void STB_SIReleasePmtTable (SI_PMT_TABLE *pmt_table)
 Frees the memory used by the pmt table. More...
 
void STB_SIReleaseNitTable (SI_NIT_TABLE *nit_table)
 Frees the memory used by the nit table. More...
 
void STB_SIReleaseSdtTable (SI_SDT_TABLE *sdt_table)
 Frees the memory used by the sdt table. More...
 
void STB_SIReleaseBatTable (SI_BAT_TABLE *bat_table)
 Frees the memory used by the bat table. More...
 
void STB_SIReleaseEitTable (SI_EIT_TABLE *eit_table)
 Frees the memory used by the eit table. More...
 
void STB_SIReleaseTimeTable (SI_TIME_TABLE *time_table)
 Frees the memory used by the time table (tdt or tot) More...
 
void STB_SIReleaseRctTable (SI_RCT_TABLE *rct_table)
 Frees memory used by an RCT table. More...
 
void STB_SIReleasePatStreamEntry (SI_PAT_SERVICE_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleasePmtStreamEntry (SI_PMT_STREAM_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleaseNitTransportEntry (SI_NIT_TRANSPORT_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleaseBatTransportEntry (SI_BAT_TRANSPORT_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleaseBatLcnEntry (SI_BAT_FREESAT_REGION_LCN_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleaseSdtServiceEntry (SI_SDT_SERVICE_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleaseEitEventEntry (SI_EIT_EVENT_ENTRY *entry_ptr)
 Frees the memory used by the table entry specified. More...
 
void STB_SIReleaseRctSubtable (SI_RCT_SUBTABLE *sub_ptr)
 Frees memory used by an RCT subtable. More...
 
void STB_SIReleaseRctSubtableData (SI_RCT_SUBTABLE_DATA *data_ptr)
 Frees memory used by an SI_RCT_SUBTABLE_DATA structure. More...
 
void STB_SIReleaseDelSysDesc (SI_DELIVERY_SYS_DESC *desc, SI_DELIVERY_SYS_DESC_TYPE type)
 Frees the memory used by the descriptor specified. More...
 
void STB_SIReleaseStringDesc (SI_STRING_DESC *desc)
 Frees the memory used by the descriptor specified. More...
 
void STB_SIReleaseCaDescArray (SI_CA_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseCaIdDescArray (U16BIT *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseComponentDescArray (SI_COMPONENT_DESC *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseContentDescArray (SI_CONTENT_DESC *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseFreqListDescArray (U32BIT *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseGuidanceDesc (SI_GUIDANCE_DESC *desc_ptr)
 Frees the memory used by the descriptor specified. More...
 
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. More...
 
void STB_SIReleaseIsoLangDescArray (SI_ISO_LANG_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseLinkageDescList (SI_LINKAGE_DESC_ENTRY *list_ptr, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseLtoDescArray (SI_LTO_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseMultilingComponentDescArray (SI_MULTILING_COMPONENT_DESC *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseMultilingNetNameDescArray (SI_MULTILING_NET_NAME_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseMultilingServNameDescArray (SI_MULTILING_SERV_NAME_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseMultilingShortNameArray (SI_MULTILING_SHORT_NAME_DESC *desc_array, U16BIT num_entries)
 
void STB_SIReleaseParentalRatingDescArray (SI_PARENTAL_RATING_DESC *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseServListDescArray (SI_SERV_LIST_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseShortEventDescArray (SI_SHORT_EVENT_DESC *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseExtendedEventDescArray (SI_EXTENDED_EVENT_DESC *desc_array, U8BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseSubtitleDescArray (SI_SUBTITLE_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseTargetRegionNameList (SI_NIT_TARGET_REGION_NAME_DESC *desc_list)
 Frees the memory used by the descriptor list specified. More...
 
void STB_SIReleaseTargetRegionList (SI_TARGET_REGION_DESC *desc_list)
 Frees the memory used by the descriptor list specified. More...
 
void STB_SIReleaseAvailabilityDescriptorList (SI_SERV_AVAIL_DESC *desc_list)
 Frees the memory used by the descriptor list specified. More...
 
void STB_SIReleaseTeletextDescArray (SI_TELETEXT_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseLcnDescArray (SI_LCN_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseNordigLcn2DescArray (SI_NORDIG_LCN_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleasePrefNameDescArray (SI_PREFERRED_NAME_DESC *desc_array, U16BIT num_entries)
 Frees the memory used by the descriptor array specified. More...
 
void STB_SIReleaseCRIDList (SI_CRID_DESC *crid_list)
 Frees the memory used by the descriptor list specified. More...
 
void STB_SIReleaseRctLinkInfo (SI_RCT_LINK_INFO *link_info)
 Frees memory used by an SI_RCT_LINK_INFO structure. More...
 
void STB_SIReleaseFreesatLinkageDesc (SI_FREESAT_LINKAGE_DESC *desc)
 Frees memory used by an SI_FREESAT_LINKAGE_DESC structure. More...
 
void STB_SIReleaseFreesatPrefixList (SI_FREESAT_PREFIX_DESC *list)
 Frees memory used by an SI_FREESAT_PREFIX_DESC structure. More...
 
void STB_SIReleaseCIPlusServiceList (SI_CIPLUS_SERVICE *service_list)
 Frees a CI+ service list. More...
 
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 the service. The array of IDs will be allocated by this function and should be freed using STB_SIReleaseCAIds. More...
 
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. More...
 

Detailed Description

STB layer SI table parsing.

Date
06/03/2003

Function Documentation

void STB_SIClearUserDefinedDescriptorFunctions ( void  )

Clear all entries in the user defined SI descriptor table.


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 the service. The array of IDs will be allocated by this function and should be freed using STB_SIReleaseCAIds.

Parses the given PMT to produce an array of the CA system IDs required by the service or streams on the service. The array of IDs will be allocated by this function and should be freed using STB_SIReleaseCaIdDescArray.


Parameters
pmt_data- raw PMT section data
pmt_ca_ids- pointer to an array that will be allocated containing the CA IDs found in the PMT
Returns
Number of CA IDs found in the PMT and returned in the array, 0 if none are found.
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.

Parameters
fhandle- handle of the filter to be modified
reqd_eit_tables- defines which tables are required
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
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.

Parameters
fhandle- handle of the filter to be modified
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
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.

Parameters
fhandle- handle of the filter to be modified
inc_sdt_actual- search for sdt actual
inc_sdt_other- search for sdt other
tran_id_match- transport id to find
tran_id_mask- transport id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
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.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed sdt table
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_SIReleaseDelSysDesc. Currently supports DVB-T/T2, DVB-C and DVB-S/S2 descriptors.


Parameters
data- pointer to SI data, where the first byte is the desc tag
type- returned with type of descriptor parsed
desc- returned with pointer to parsed and descriptor
Returns
TRUE if a descriptor is parsed, FALSE otherwise
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.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed eit table
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.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed nit table
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.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed pat table
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.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed pmt table
SI_RCT_TABLE* STB_SIParseRctTable ( SI_TABLE_RECORD table_rec)

Parses the related content table (RCT) to create an SI_RCT_TABLE structure.


Parameters
table_rec- pointer to the table record to be parsed
Returns
Pointer to the parsed RCT table which must be freed using STB_SIReleaseRctTable
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.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed sdt table
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_SIReleaseStringDesc.


Parameters
data- pointer to SI data, where the first byte is the desc tag
type- pointer to return service type
provider- an SI_STRING_DESC will be allocated to return the provider string, if present
name- an SI_STRING_DESC will be allocated to return the service name string, if present
Returns
TRUE if a descriptor is parsed, FALSE otherwise
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_SIReleaseShortEventDescArray.


Parameters
data- pointer to SI data, where the first byte is the desc tag
event_desc- pointer to return an array (always 1) of parsed descriptors
Returns
TRUE if a descriptor is parsed, FALSE otherwise
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. Returns a pointer to the table. Application must call STB_SIReleaseTimeTable to free the data.

Parameters
table_rec- pointer to the table record to be parsed
Returns
pointer to the parsed time table
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 into a null-terminated string, removing any embedded null codes. Does not affect the coding of the string, e.g. single byte ascii or unicode. Does not remove any control characters.

Parameters
nbytes- number of bytes in string
dptr- pointer to first byte of string
str_ptr- pointer for the return of the null_termainated string
Returns
Updated dptr i.e. pointing to byte following the string
void STB_SIReleaseAvailabilityDescriptorList ( SI_SERV_AVAIL_DESC desc_list)

Frees the memory used by the descriptor list specified.

Parameters
desc_list- the descriptor list to be released
void STB_SIReleaseBatLcnEntry ( SI_BAT_FREESAT_REGION_LCN_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleaseBatTable ( SI_BAT_TABLE bat_table)

Frees the memory used by the bat table.

Parameters
sdt_table- pointer to the SI_BAT_TABLE structure to be freed
void STB_SIReleaseBatTransportEntry ( SI_BAT_TRANSPORT_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleaseCaDescArray ( SI_CA_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseCaIdDescArray ( U16BIT *  desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseCIPlusServiceList ( SI_CIPLUS_SERVICE service_list)

Frees a CI+ service list.


Parameters
service_list- pointer to the start of the CI+ service list
void STB_SIReleaseComponentDescArray ( SI_COMPONENT_DESC desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseContentDescArray ( SI_CONTENT_DESC desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseCRIDList ( SI_CRID_DESC crid_list)

Frees the memory used by the descriptor list specified.

Parameters
crid_list- the list to be released
void STB_SIReleaseDelSysDesc ( SI_DELIVERY_SYS_DESC desc,
SI_DELIVERY_SYS_DESC_TYPE  type 
)

Frees the memory used by the descriptor specified.

Parameters
desc- the descriptor to be released
type- the type of descriptor to be released
void STB_SIReleaseEitEventEntry ( SI_EIT_EVENT_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleaseEitTable ( SI_EIT_TABLE eit_table)

Frees the memory used by the eit table.

Parameters
eit_table- pointer to the SI_EIT_TABLE structure to be freed
void STB_SIReleaseExtendedEventDescArray ( SI_EXTENDED_EVENT_DESC desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseFreesatLinkageDesc ( SI_FREESAT_LINKAGE_DESC desc)

Frees memory used by an SI_FREESAT_LINKAGE_DESC structure.


Parameters
desc- pointer to the SI_FREESAT_LINKAGE_DESC
void STB_SIReleaseFreesatPrefixList ( SI_FREESAT_PREFIX_DESC list)

Frees memory used by an SI_FREESAT_PREFIX_DESC structure.


Parameters
list- pointer to the SI_FREESAT_PREFIX_DESC
void STB_SIReleaseFreqListDescArray ( U32BIT *  desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseGuidanceDesc ( SI_GUIDANCE_DESC desc_ptr)

Frees the memory used by the descriptor specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
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.


Parameters
icon_array- image icon array
num_icons- number of icons in the array
void STB_SIReleaseIsoLangDescArray ( SI_ISO_LANG_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseLcnDescArray ( SI_LCN_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseLinkageDescList ( SI_LINKAGE_DESC_ENTRY list_ptr,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseLtoDescArray ( SI_LTO_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseMultilingComponentDescArray ( SI_MULTILING_COMPONENT_DESC desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseMultilingNetNameDescArray ( SI_MULTILING_NET_NAME_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseMultilingServNameDescArray ( SI_MULTILING_SERV_NAME_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseNitTable ( SI_NIT_TABLE nit_table)

Frees the memory used by the nit table.

Parameters
nit_table- pointer to the SI_NIT_TABLE structure to be freed
void STB_SIReleaseNitTransportEntry ( SI_NIT_TRANSPORT_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleaseNordigLcn2DescArray ( SI_NORDIG_LCN_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseParentalRatingDescArray ( SI_PARENTAL_RATING_DESC desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleasePatStreamEntry ( SI_PAT_SERVICE_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleasePatTable ( SI_PAT_TABLE pat_table)

Frees the memory used by the pat table.

Parameters
pat_table- pointer to the SI_PAT_TABLE structure to be freed
void STB_SIReleasePmtStreamEntry ( SI_PMT_STREAM_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleasePmtTable ( SI_PMT_TABLE pmt_table)

Frees the memory used by the pmt table.

Parameters
pmt_table- pointer to the SI_PMT_TABLE structure to be freed
void STB_SIReleasePrefNameDescArray ( SI_PREFERRED_NAME_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseRctLinkInfo ( SI_RCT_LINK_INFO link_info)

Frees memory used by an SI_RCT_LINK_INFO structure.


Parameters
data_ptr- pointer to the SI_RCT_LINK_INFO structure
void STB_SIReleaseRctSubtable ( SI_RCT_SUBTABLE sub_ptr)

Frees memory used by an RCT subtable.


Parameters
sub_ptr- pointer to the SI_RCT_SUBTABLE structure to be freed
void STB_SIReleaseRctSubtableData ( SI_RCT_SUBTABLE_DATA data_ptr)

Frees memory used by an SI_RCT_SUBTABLE_DATA structure.


Parameters
data_ptr- pointer to the SI_RCT_SUBTABLE_DATA structure to be freed
void STB_SIReleaseRctTable ( SI_RCT_TABLE rct_table)

Frees memory used by an RCT table.


Parameters
rct_table- pointer to the SI_RCT_TABLE structure to be freed
void STB_SIReleaseSdtServiceEntry ( SI_SDT_SERVICE_ENTRY entry_ptr)

Frees the memory used by the table entry specified.

Parameters
entry_ptr- the entry to be released
void STB_SIReleaseSdtTable ( SI_SDT_TABLE sdt_table)

Frees the memory used by the sdt table.

Parameters
sdt_table- pointer to the SI_SDT_TABLE structure to be freed
void STB_SIReleaseServListDescArray ( SI_SERV_LIST_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseShortEventDescArray ( SI_SHORT_EVENT_DESC desc_array,
U8BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseStringDesc ( SI_STRING_DESC desc)

Frees the memory used by the descriptor specified.

Parameters
desc- the descriptor to be released
void STB_SIReleaseSubtitleDescArray ( SI_SUBTITLE_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseTargetRegionList ( SI_TARGET_REGION_DESC desc_list)

Frees the memory used by the descriptor list specified.

Parameters
desc_list- the descriptor list to be released
void STB_SIReleaseTargetRegionNameList ( SI_NIT_TARGET_REGION_NAME_DESC desc_list)

Frees the memory used by the descriptor list specified.

Parameters
desc_list- the descriptor list to be released
void STB_SIReleaseTeletextDescArray ( SI_TELETEXT_DESC desc_array,
U16BIT  num_entries 
)

Frees the memory used by the descriptor array specified.

Parameters
desc_array- the descriptor array to be released
num_entries- number of entries in the array
void STB_SIReleaseTimeTable ( SI_TIME_TABLE time_table)

Frees the memory used by the time table (tdt or tot)

Parameters
time_table- pointer to the SI_TIME_TABLE structure to be freed
void* STB_SIRequestAit ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
U16BIT  ait_pid,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for AIT on given PID.

Parameters
pathThe demux path to use
req_typeONE_SHOT or CONTINUOUS request
ait_pidPid for the AIT
callbackCallback function to receive the parsed pmt table
ret_paramParameter to be returned to callback function
Returns
Filter handle, NULL if filter not successfully setup
void* STB_SIRequestBat ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
U16BIT  bouquet_id_match,
U16BIT  bouquet_id_mask,
U16BIT  table_count,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for Bat.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
bouquet_id_match- bouquet id to find
bouquet_id_mask- bouquet id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed sdt table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestBatFromPid ( U8BIT  path,
U16BIT  pid,
E_SI_REQUEST_TYPE  req_type,
U16BIT  bouquet_id_match,
U16BIT  bouquet_id_mask,
U16BIT  table_count,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for Bat.

Parameters
path- the demux path to use
pid- the pid of where to reuest sdt
req_type- ONE_SHOT or CONTINUOUS request
bouquet_id_match- bouquet id to find
bouquet_id_mask- bouquet id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed sdt table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestCat ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for CAT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed pat table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
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(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for EIT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
reqd_eit_tables- defines which tables are required
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed eit table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
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(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for EIT.

Parameters
path- the demux path to use
pid- the pid of where to request the eit
req_type- ONE_SHOT or CONTINUOUS request
reqd_eit_tables- defines which tables are required
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed eit table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestNit ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for NIT(actual)

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed nit table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestNitFromPid ( U8BIT  path,
U16BIT  pid,
BOOLEAN  actual,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Create an SI filter for an NIT table.

Parameters
pathdemux path to be used
pidPID the table will be available on - this allows the standard PID to be overridden
actualTRUE if NITactual is to be retrieved, FALSE for NITother
req_typeONE_SHOT_REQUEST or CONTINUOUS_REQUEST
callbackfunction to be called when table is received
ret_paramvalue that will be passed to the callback function
Returns
filter handle, NULL if filter isn't created
void* STB_SIRequestPat ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for PAT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed pat table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestPmt ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
U16BIT  pmt_pid,
U16BIT  sid_match,
U16BIT  sid_mask,
U16BIT  table_count,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for PMT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
pmt_pid- pid for the pmt table
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed pmt table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestRct ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
U16BIT  rct_pid,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for RCT on given PID.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
rct_pid- pid for the rct table
callback- callback function to receive the parsed pmt table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
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(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for EIT schedule table.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
reqd_eit_tables- defines which tables are required
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed eit table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
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(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for EIT schedule table.

Parameters
path- the demux path to use
pid- the pid of where to request the schedule
req_type- ONE_SHOT or CONTINUOUS request
reqd_eit_tables- defines which tables are required
sid_match- service id to find
sid_mask- service id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed eit table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
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(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for SDT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
inc_sdt_actual- search for sdt actual
inc_sdt_other- search for sdt other
tran_id_match- transport id to find
tran_id_mask- transport id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed sdt table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
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(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for SDT.

Parameters
path- the demux path to use
pid- the pid of where to reuest sdt
req_type- ONE_SHOT or CONTINUOUS request
inc_sdt_actual- search for sdt actual
inc_sdt_other- search for sdt other
tran_id_match- transport id to find
tran_id_mask- transport id mask word for filter
table_count- number of tables expected (only relevant for non-continuous)
callback- callback function to receive the parsed sdt table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestTdt ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for TDT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed pat table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestTdtFromPid ( U8BIT  path,
U16BIT  pid,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for TDT.

Parameters
path- the demux path to use
pid- the pid of where to request the tdt
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed pat table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestTot ( U8BIT  path,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for TOT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed pat table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void* STB_SIRequestTotFromPid ( U8BIT  path,
U16BIT  pid,
E_SI_REQUEST_TYPE  req_type,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Generates request for TOT.

Parameters
path- the demux path to use
req_type- ONE_SHOT or CONTINUOUS request
callback- callback function to receive the parsed pat table
ret_param- parameter to be returned to callback function
Returns
filter handle - NULL if filter not successfully setup
void STB_SISetCountryPrivateDataSpecifier ( U32BIT  code)

Sets the private data identified by the specified code.

Parameters
code- the private_data_specifier code to be enabled
void STB_SISetUserDefinedDescriptorFunction ( U8BIT  dtag,
STB_SI_USER_DEF_DESCRIP_FUNCTION  func 
)

Sets the function allocated to the user defined descriptor.

Parameters
dtag- the descriptor tag to be allocated
func- the required function