cat.h File Reference

Application interface for the CAT decoder and the CAT generator. More...

Go to the source code of this file.

Data Structures

struct  dvbpsi_cat_s
 CAT structure. More...

Defines

#define dvbpsi_NewCAT(p_cat,i_version, b_current_next)
 Allocate and initialize a new dvbpsi_cat_t structure.
#define dvbpsi_DeleteCAT(p_cat)
 Clean and free a dvbpsi_cat_t structure.

Typedefs

typedef struct dvbpsi_cat_s dvbpsi_cat_t
 dvbpsi_cat_t type definition.
typedef void(* dvbpsi_cat_callback )(void *p_cb_data, dvbpsi_cat_t *p_new_cat)
 Callback type definition.

Functions

dvbpsi_handle dvbpsi_AttachCAT (dvbpsi_cat_callback pf_callback, void *p_cb_data)
 Creation and initialization of a CAT decoder.
void dvbpsi_DetachCAT (dvbpsi_handle h_dvbpsi)
 Destroy a CAT decoder.
void dvbpsi_InitCAT (dvbpsi_cat_t *p_cat, uint8_t i_version, int b_current_next)
 Initialize a user-allocated dvbpsi_cat_t structure.
void dvbpsi_EmptyCAT (dvbpsi_cat_t *p_cat)
 Clean a dvbpsi_cat_t structure.
dvbpsi_descriptor_tdvbpsi_CATAddDescriptor (dvbpsi_cat_t *p_cat, uint8_t i_tag, uint8_t i_length, uint8_t *p_data)
 Add a descriptor in the CAT.
dvbpsi_psi_section_tdvbpsi_GenCATSections (dvbpsi_cat_t *p_cat)
 CAT generator.

Detailed Description

Application interface for the CAT decoder and the CAT generator.

>

Author:
Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr> Application interface for the CAT decoder and the CAT generator. New decoded CAT tables are sent by callback to the application. If a table wasn't active (b_current_next == 0) and the next is the same but active (b_current_next == 1) then the two lists are empty and should be caught from the previous structure.

Define Documentation

#define dvbpsi_DeleteCAT ( p_cat   ) 
Value:
do {                                                                    \
  dvbpsi_EmptyCAT(p_cat);                                               \
  free(p_cat);                                                          \
} while(0);

Clean and free a dvbpsi_cat_t structure.

Parameters:
p_cat pointer to the CAT structure
Returns:
nothing.
#define dvbpsi_NewCAT ( p_cat,
i_version,
b_current_next   ) 
Value:
do {                                                                    \
  p_cat = (dvbpsi_cat_t*)malloc(sizeof(dvbpsi_cat_t));                  \
  if(p_cat != NULL)                                                     \
    dvbpsi_InitCAT(p_cat, i_version, b_current_next);                   \
} while(0);

Allocate and initialize a new dvbpsi_cat_t structure.

Parameters:
p_cat pointer to the CAT structure
i_version CAT version
b_current_next current next indicator
Returns:
nothing.

Function Documentation

dvbpsi_handle dvbpsi_AttachCAT ( dvbpsi_cat_callback  pf_callback,
void *  p_cb_data 
)

Creation and initialization of a CAT decoder.

Parameters:
pf_callback function to call back on new CAT
p_cb_data private data given in argument to the callback
Returns:
a pointer to the decoder for future calls.
dvbpsi_descriptor_t * dvbpsi_CATAddDescriptor ( dvbpsi_cat_t p_cat,
uint8_t  i_tag,
uint8_t  i_length,
uint8_t *  p_data 
)

Add a descriptor in the CAT.

Parameters:
p_cat pointer to the CAT structure
i_tag descriptor's tag
i_length descriptor's length
p_data descriptor's data
Returns:
a pointer to the added descriptor.
void dvbpsi_DetachCAT ( dvbpsi_handle  h_dvbpsi  ) 

Destroy a CAT decoder.

Parameters:
h_dvbpsi handle to the decoder
Returns:
nothing.

The handle isn't valid any more.

void dvbpsi_EmptyCAT ( dvbpsi_cat_t p_cat  ) 

Clean a dvbpsi_cat_t structure.

Parameters:
p_cat pointer to the CAT structure
Returns:
nothing.
dvbpsi_psi_section_t * dvbpsi_GenCATSections ( dvbpsi_cat_t p_cat  ) 

CAT generator.

Parameters:
p_cat CAT structure
Returns:
a pointer to the list of generated PSI sections.

Generate CAT sections based on the dvbpsi_cat_t structure.

void dvbpsi_InitCAT ( dvbpsi_cat_t p_cat,
uint8_t  i_version,
int  b_current_next 
)

Initialize a user-allocated dvbpsi_cat_t structure.

Parameters:
p_cat pointer to the CAT structure
i_version CAT version
b_current_next current next indicator
Returns:
nothing.

Generated on 16 Oct 2009 for libdvbpsi by  doxygen 1.6.1