al_dvb_monitor.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /**
  2. * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
  3. *
  4. * @file
  5. *
  6. * @brief this file defines dvb monitor interface for app layer.
  7. *
  8. * The file supports the dvb monitor functions by used for app layer. At present, the function
  9. * include dvb monitor start, dvb monitor stop, dvb monitor running state.
  10. * This module dispose signal monitor, program state monitor.
  11. *
  12. */
  13. #ifndef __AL_DVB_MONITOR_H__
  14. #define __AL_DVB_MONITOR_H__
  15. #include "al_basictypes.h"
  16. #ifdef __cplusplus
  17. extern "C"{
  18. #endif
  19. /**
  20. * @brief Define dvb monitor state type.
  21. */
  22. typedef enum
  23. {
  24. AL_DVB_MONITOR_STATE_MONITOR, /**< Get monitor state, al_true: monitor running, al_false: monitor not running, other: invalid state*/
  25. AL_DVB_MONITOR_STATE_SIGNAL, /**< Get signal state, al_false: no signale, al_true: good signal, , other: invalid state*/
  26. AL_DVB_MONITOR_STATE_MAX,
  27. } AL_DVBMon_State_Type_t;
  28. /**
  29. * @brief Define dvb monitor value type.
  30. */
  31. typedef enum
  32. {
  33. AL_DVB_MONITOR_VALUE_FALSE = al_false,
  34. AL_DVB_MONITOR_VALUE_TRUE = al_true,
  35. AL_DVB_MONITOR_VALUE_INVAILED = 2,
  36. } AL_DVBMon_Value_Type_t;
  37. /**
  38. * @brief dvb monitor start function.
  39. *
  40. * Active dvb monitor task, start to monitor signal state and program state change.
  41. *
  42. * @param al_void.
  43. *
  44. * @return AL_SUCCESS dvb monitor state is successful, AL_FAILURE otherwise.
  45. */
  46. AL_Return_t AL_DVB_Monitor_Start(al_void);
  47. /**
  48. * @brief dvb monitor stop function.
  49. *
  50. * Stop dvb monitor task, stop to monitor signal state and program state.
  51. *
  52. * @param bExit[input] used to mark hang up dvb monitor task or exit dvb monitor.
  53. *
  54. * @return AL_SUCCESS dvb monitor stop is successful, AL_FAILURE otherwise.
  55. */
  56. AL_Return_t AL_DVB_Monitor_Stop(al_bool bExit);
  57. /**
  58. * @brief get dvb monitor running state function.
  59. *
  60. * Get dvb monitor current state.
  61. *
  62. * @param eStateType[input] state type.
  63. *
  64. * @param pbDVBMonState[output] dvb monitor running state value.
  65. *
  66. * @return AL_SUCCESS get dvb monitor state is successful, AL_FAILURE otherwise.
  67. */
  68. AL_Return_t AL_DVB_Monitor_GetState(AL_DVBMon_State_Type_t eStateType, al_uint8 *pbDVBMonState);
  69. /**
  70. * @brief set dvb monitor signal state function.
  71. *
  72. * Set dvb monitor signal state, because driver has received stream has data or vip finish but dvb monitor has not check signal avaible.
  73. *
  74. * @param eStateType[input] state type.
  75. *
  76. * @param pbDVBMonState[output] dvb monitor running state value.
  77. *
  78. * @return AL_SUCCESS get dvb monitor state is successful, AL_FAILURE otherwise.
  79. */
  80. AL_Return_t AL_DVB_Monitor_SetState(AL_DVBMon_State_Type_t eStateType, al_uint8 *pbDVBMonState);
  81. #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
  82. al_void AL_DVB_Monitor_SetForceMotor(al_uint8 bForceMotor);
  83. #endif
  84. #ifdef __cplusplus
  85. }
  86. #endif
  87. #endif