DVBCore  17.9.0
Open Source DVB Engine
 All Data Structures Files Functions Typedefs Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
stbsiflt.h File Reference

Header file - macros and function prototypes for public use. More...

#include "techtype.h"

Go to the source code of this file.

Data Structures

struct  si_section_record
 
struct  si_table_record
 

Macros

#define SI_BUFFER_1K   1024
 
#define SI_BUFFER_2K   2048
 
#define SI_BUFFER_4K   4096
 
#define SI_BUFFER_8K   8192
 
#define SI_BUFFER_16K   16384
 
#define SI_BUFFER_32K   32768
 
#define SI_BUFFER_64K   65535
 
#define SI_XTID_MATCH_DONT_CARE   0x0000
 
#define SI_XTID_MASK_DONT_CARE   0x0000
 

Typedefs

typedef struct si_section_record SI_SECTION_RECORD
 
typedef struct si_table_record SI_TABLE_RECORD
 
typedef void(* F_AppSiEventHandler )(U8BIT, E_APP_SI_EVENT_TYPE)
 

Enumerations

enum  E_APP_SI_EVENT_TYPE {
  STOP_SI, START_SI_SEARCHING, START_SI_UPDATING_NEW_TRANSPORT, START_SI_UPDATING_SAME_TRANSPORT,
  SI_TIMEOUT
}
 
enum  E_SI_REQUEST_TYPE { ONE_SHOT_REQUEST, CONTINUOUS_REQUEST }
 
enum  E_SI_TABLE_FORMAT_TYPE { SINGLE_SECT, MULTI_SECT }
 

Functions

void STB_SIReportCurrentPmt (U16BIT service_id, SI_TABLE_RECORD *table_rec, BOOLEAN new_serv, BOOLEAN new_pmt_version)
 Reports current pmt has arrived so that it can be passed on to interested parties. More...
 
F_AppSiEventHandler STB_SIRegisterAppSiEventHandler (F_AppSiEventHandler func_ptr)
 Registers a function to be called to handle SI events. The currently registered event handler is returned, which allows a module to override the existing function and reset it. More...
 
void * STB_SIRequestTable (U8BIT path, U16BIT pid, U8BIT tid_match, U8BIT tid_mask, E_SI_TABLE_FORMAT_TYPE format, U16BIT expected_tables, U16BIT xtid_match, U16BIT xtid_mask, E_SI_REQUEST_TYPE req_type, U16BIT buff_size, BOOLEAN crc, BOOLEAN low_priority, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param)
 Sets up filter for SI table. More...
 
void STB_SIModifyTableRequest (void *filter_handle, U8BIT tid_match, U8BIT tid_mask, U16BIT xtid_match, U16BIT xtid_mask, U16BIT expected_tables)
 modifies the section filtering on an existing filter More...
 
void STB_SIRestartTableRequest (void *filter_handle)
 restarts the section filtering on an existing filter without changing and pid or match/mask filter settings More...
 
void STB_SICancelTableRequest (void *filter_ptr)
 Stops filtering for SI table. More...
 
void STB_SIReleaseTableRecord (SI_TABLE_RECORD *table_rec)
 Frees the memory used in a table record passed to the application. More...
 
void STB_SISearchComplete (U8BIT path, BOOLEAN success, void *event_data, U32BIT data_size)
 Indicates SI search is complete. More...
 
BOOLEAN STB_SIReportCat (SI_TABLE_RECORD *table_rec)
 Reports the CAT has been received so it can be passed on to other modules. More...
 
BOOLEAN STB_SIReportBat (SI_TABLE_RECORD *table_rec)
 Reports the BAT has been received so it can be passed on to other modules. More...
 
BOOLEAN STB_SIReportNit (SI_TABLE_RECORD *table_rec)
 Reports the NIT has been received so it can be passed on to other modules. More...
 

Detailed Description

Header file - macros and function prototypes for public use.

Date
06/03/2003

Function Documentation

void STB_SICancelTableRequest ( void *  filter_handle)

Stops filtering for SI table.

Parameters
filter_handle
void STB_SIModifyTableRequest ( void *  filter_handle,
U8BIT  tid_match,
U8BIT  tid_mask,
U16BIT  xtid_match,
U16BIT  xtid_mask,
U16BIT  expected_tables 
)

modifies the section filtering on an existing filter

Parameters
filter_handle- handle of the filter to be modified
tid_match- required match byte for the tid in the match/mask filter
tid_mask- required mask byte for the tid in the match/mask filter
xtid_match- required match byte for the extended tid in the match/mask filter
xtid_mask- required mask byte for the extended tid in the match/mask filter
expected_tables- number of tables expected. Used to decide when multi-table filter is complete
F_AppSiEventHandler STB_SIRegisterAppSiEventHandler ( F_AppSiEventHandler  func_ptr)

Registers a function to be called to handle SI events. The currently registered event handler is returned, which allows a module to override the existing function and reset it.

Parameters
func_ptrfunction being registered to handle SI events
Returns
previously registered function
void STB_SIReleaseTableRecord ( SI_TABLE_RECORD table_rec)

Frees the memory used in a table record passed to the application.

Parameters
table_rec- pointer to the table record to be freed
BOOLEAN STB_SIReportBat ( SI_TABLE_RECORD table_rec)

Reports the BAT has been received so it can be passed on to other modules.

Parameters
table_rec- table record containing the BAT section data
Returns
TRUE if the BAT is passed to the CA module, FALSE otherwise
BOOLEAN STB_SIReportCat ( SI_TABLE_RECORD table_rec)

Reports the CAT has been received so it can be passed on to other modules.

Parameters
table_rec- table record containing the CAT section data
Returns
TRUE if the CAT is passed to the CA module, FALSE otherwise
void STB_SIReportCurrentPmt ( U16BIT  service_id,
SI_TABLE_RECORD table_rec,
BOOLEAN  new_serv,
BOOLEAN  new_pmt_version 
)

Reports current pmt has arrived so that it can be passed on to interested parties.

Parameters
table_rec- table record containing the pmt details
new_serv- if TRUE this pmt is for a new service, if FALSE it is a new version for the same service as last time.
BOOLEAN STB_SIReportNit ( SI_TABLE_RECORD table_rec)

Reports the NIT has been received so it can be passed on to other modules.

Parameters
table_rec- table record containing the NIT section data
Returns
TRUE if the NIT is passed to the CA module, FALSE otherwise
void* STB_SIRequestTable ( U8BIT  path,
U16BIT  pid,
U8BIT  tid_match,
U8BIT  tid_mask,
E_SI_TABLE_FORMAT_TYPE  format,
U16BIT  expected_tables,
U16BIT  xtid_match,
U16BIT  xtid_mask,
E_SI_REQUEST_TYPE  req_type,
U16BIT  buff_size,
BOOLEAN  crc,
BOOLEAN  low_priority,
void(*)(void *, U32BIT, SI_TABLE_RECORD *)  callback,
U32BIT  ret_param 
)

Sets up filter for SI table.

Parameters
path- the demux path to use
pid- required pid
tid_match- required match byte for the tid in the match/mask filter
tid_mask- required mask byte for the tid in the match/mask filter
format- format of the table i.e. single or multiple section
expected_tables- number of tables expected. Used to decide when multi-table filter is complete
xtid_match- required match byte for the extended tid in the match/mask filter
xtid_mask- required mask byte for the extended tid in the match/mask filter
req_type- ONE_SHOT or CONTINUOUS request
buff_size- size of buffer to be used
crc- TRUE if crc checking required, FALSE otherwise
low_priority- TRUE if request is lower priority
callback- pointer to callback function for return of table
ret_param- parameter to be returned to callback function
Returns
filter handle or NULL if not setup
void STB_SIRestartTableRequest ( void *  filter_handle)

restarts the section filtering on an existing filter without changing and pid or match/mask filter settings

Parameters
filter_handle- handle of the filter to be modified
void STB_SISearchComplete ( U8BIT  path,
BOOLEAN  success,
void *  event_data,
U32BIT  data_size 
)

Indicates SI search is complete.

Parameters
path- the path for which searching is complete