/** * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved. * * @file al_multiplex.h * * The interface to init, uninit and manipulate transponder. * * @brief Gives the functionalities for quering as well as manipulating * the database on transponder related data. * * @note . */ #ifndef __AL_MULTIPLEX_DBMERGE_H__ #define __AL_MULTIPLEX_DBMERGE_H__ #include "al_basictypes.h" #include "al_database.h" #ifdef __cplusplus extern "C"{ #endif /**************************************************** * Enumeration definition ****************************************************//** * @addtogroup EnumDef Enumeration definition * @{ ********************************************************/ /** * @brief Enumeration of search field. */ typedef enum { AL_MULTIPLEX_SEARCHFIELD_NETID = 1 << 1, AL_MULTIPLEX_SEARCHFIELD_TSID = 1 << 2, AL_MULTIPLEX_SEARCHFIELD_FREQ = 1 << 3, AL_MULTIPLEX_SEARCHFIELD_SYMRATE = 1 << 4, } AL_Multiplex_ESearchField_t; /**************************************************** * Structure definition ****************************************************//** * @} * @addtogroup StructDef Structure definition * @{ ********************************************************/ /** * @brief Structure for searching multiplex. */ typedef struct { AL_DB_EDBType_t eDBType; AL_Multiplex_ESearchField_t eSearchField; al_uint16 u16NetId; al_uint16 u16TsId; al_uint32 u32Frequency; al_uint32 u32SymbolRate; } AL_Multiplex_SearchKey_t; /**************************************************** * API definition - Internal Operation ****************************************************//** * @} * @addtogroup InterAPI Internal Interface * @{ ********************************************************/ /** * @brief Initialize Multiplex component. * * The implementation may perform appropriate Multiplex initialisation when this * call is made, if required. * * @note * 1.This API must be called before any multiplex-related function is called;
* 2.Must be called once successfully, and still return success when called again. * * @param eDBType [in]select one or more database to initialize multiplex component. * * @return * #AL_SUCCESS indicates success, * On failure, #AL_FAILURE is returned. */ AL_Return_t AI_Multiplex_Init( AL_DB_EDBType_t eDBType); /** * @brief Terminate Multiplex commponent. * * The implementation may perform appropriate Multiplex termination when this * call is made, if required. * * @note * 1.This API must be called after any multiplex-related function is called,
* 2.Must be called once successfully, and still return success when called again. * * @param eDBType [in]select one or more database to terminate component. * * @return * #AL_SUCCESS indicates success, * On failure, #AL_FAILURE is returned. */ AL_Return_t AI_Multiplex_Term( AL_DB_EDBType_t eDBType); /**************************************************** * API definition - Multiplex Operation ****************************************************//** * @} * @addtogroup COMAPI Component APIs * @{ ********************************************************/ /** * @brief Match multiplex by specified search field. * * @note Refers to the prototype #AL_DB_RecordMatchFunc. * * @param param [in]Search key, type: #AL_Multiplex_SearchKey_t. * @param pRec [in]Multiplex Info. * * @return * #AL_SUCCESS indicates success, * On failure, #AL_FAILURE is returned. */ al_bool AL_Multiplex_MatchRecBySearchKey(al_void *param, al_void const*pRec); /****************************************************//** * @} ********************************************************/ #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __AL_MULTIPLEX_H__ */