al_multiplex.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /**
  2. * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
  3. *
  4. * @file al_multiplex.h
  5. *
  6. * The interface to init, uninit and manipulate transponder.
  7. *
  8. * @brief Gives the functionalities for quering as well as manipulating
  9. * the database on transponder related data.
  10. *
  11. * @note .
  12. */
  13. #ifndef __AL_MULTIPLEX_DBMERGE_H__
  14. #define __AL_MULTIPLEX_DBMERGE_H__
  15. #include "al_basictypes.h"
  16. #include "al_database.h"
  17. #ifdef __cplusplus
  18. extern "C"{
  19. #endif
  20. /****************************************************
  21. * Enumeration definition
  22. ****************************************************//**
  23. * @addtogroup EnumDef Enumeration definition
  24. * @{
  25. ********************************************************/
  26. /**
  27. * @brief Enumeration of search field.
  28. */
  29. typedef enum
  30. {
  31. AL_MULTIPLEX_SEARCHFIELD_NETID = 1 << 1,
  32. AL_MULTIPLEX_SEARCHFIELD_TSID = 1 << 2,
  33. AL_MULTIPLEX_SEARCHFIELD_FREQ = 1 << 3,
  34. AL_MULTIPLEX_SEARCHFIELD_SYMRATE = 1 << 4,
  35. } AL_Multiplex_ESearchField_t;
  36. /****************************************************
  37. * Structure definition
  38. ****************************************************//**
  39. * @}
  40. * @addtogroup StructDef Structure definition
  41. * @{
  42. ********************************************************/
  43. /**
  44. * @brief Structure for searching multiplex.
  45. */
  46. typedef struct
  47. {
  48. AL_DB_EDBType_t eDBType;
  49. AL_Multiplex_ESearchField_t eSearchField;
  50. al_uint16 u16NetId;
  51. al_uint16 u16TsId;
  52. al_uint32 u32Frequency;
  53. al_uint32 u32SymbolRate;
  54. } AL_Multiplex_SearchKey_t;
  55. /****************************************************
  56. * API definition - Internal Operation
  57. ****************************************************//**
  58. * @}
  59. * @addtogroup InterAPI Internal Interface
  60. * @{
  61. ********************************************************/
  62. /**
  63. * @brief Initialize Multiplex component.
  64. *
  65. * The implementation may perform appropriate Multiplex initialisation when this
  66. * call is made, if required.
  67. *
  68. * @note
  69. * 1.This API must be called before any multiplex-related function is called; <br>
  70. * 2.Must be called once successfully, and still return success when called again.
  71. *
  72. * @param eDBType [in]select one or more database to initialize multiplex component.
  73. *
  74. * @return
  75. * #AL_SUCCESS indicates success,
  76. * On failure, #AL_FAILURE is returned.
  77. */
  78. AL_Return_t AI_Multiplex_Init(
  79. AL_DB_EDBType_t eDBType);
  80. /**
  81. * @brief Terminate Multiplex commponent.
  82. *
  83. * The implementation may perform appropriate Multiplex termination when this
  84. * call is made, if required.
  85. *
  86. * @note
  87. * 1.This API must be called after any multiplex-related function is called, <br>
  88. * 2.Must be called once successfully, and still return success when called again.
  89. *
  90. * @param eDBType [in]select one or more database to terminate component.
  91. *
  92. * @return
  93. * #AL_SUCCESS indicates success,
  94. * On failure, #AL_FAILURE is returned.
  95. */
  96. AL_Return_t AI_Multiplex_Term(
  97. AL_DB_EDBType_t eDBType);
  98. /****************************************************
  99. * API definition - Multiplex Operation
  100. ****************************************************//**
  101. * @}
  102. * @addtogroup COMAPI Component APIs
  103. * @{
  104. ********************************************************/
  105. /**
  106. * @brief Match multiplex by specified search field.
  107. *
  108. * @note Refers to the prototype #AL_DB_RecordMatchFunc.
  109. *
  110. * @param param [in]Search key, type: #AL_Multiplex_SearchKey_t.
  111. * @param pRec [in]Multiplex Info.
  112. *
  113. * @return
  114. * #AL_SUCCESS indicates success,
  115. * On failure, #AL_FAILURE is returned.
  116. */
  117. al_bool AL_Multiplex_MatchRecBySearchKey(al_void *param, al_void const*pRec);
  118. /****************************************************//**
  119. * @}
  120. ********************************************************/
  121. #ifdef __cplusplus
  122. }
  123. #endif /* __cplusplus */
  124. #endif /* __AL_MULTIPLEX_H__ */