al_fw.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. /**
  2. * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
  3. *
  4. * @file
  5. *
  6. * @brief The interface of application framework module.
  7. *
  8. * The file list app framework commponent related APIs.
  9. *
  10. */
  11. #ifndef AL_FW_H_INCLUDED
  12. #define AL_FW_H_INCLUDED
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include "al_basictypes.h"
  17. #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
  18. #include "al_database.h"
  19. #endif
  20. #ifdef CONFIG_DTV_SUPPORT
  21. #include "al_service.h"
  22. #include "al_multiplex.h"
  23. #include "al_network.h"
  24. #include "al_channel_search.h"
  25. #include "al_event.h"
  26. #include "al_scheduler.h"
  27. #include "al_dvb_monitor.h"
  28. #include "al_psi_monitor.h"
  29. #include "al_prog_reminder.h"
  30. #endif
  31. #include "al_setting.h"
  32. #include "al_time.h"
  33. #ifdef CONFIG_SUPPORT_SUBTITLE
  34. #include "al_subtitle.h"
  35. #endif
  36. #ifdef CONFIG_TT_SUPPORT
  37. #include "al_teletext.h"
  38. #endif
  39. #ifdef CONFIG_SUPPORT_EWS
  40. #include "al_ews_monitor.h"
  41. #endif
  42. /**
  43. * @brief frm wrk module init select.
  44. */
  45. typedef enum{
  46. FW_MAIN_INIT = 1<<0,
  47. FW_DVB_T_INIT = 1<<1,
  48. FW_DVB_C_INIT = 1<<2,
  49. FW_DVB_S_INIT = 1<<3,
  50. FW_ATV_INIT = 1<<4,
  51. FW_FILEPLAYER_INIT = 1<<5,
  52. FW_NETWORK_INIT = 1<<6,
  53. #ifdef CONFIG_ISDB_SYSTEM
  54. FW_DVB_SBTVD_INIT = 1<<7,
  55. #endif
  56. FW_MASK_INIT = FW_MAIN_INIT|FW_ATV_INIT|FW_DVB_S_INIT|FW_DVB_C_INIT|FW_DVB_S_INIT|FW_FILEPLAYER_INIT|FW_NETWORK_INIT,
  57. }AFW_Init_t;
  58. /**
  59. * @brief defines the events notify to the application through call back.
  60. */
  61. typedef enum {
  62. /* EVENT */
  63. FW_EPG_NOWNEXT_UPDATE_EVENT = 0,//00
  64. FW_EPG_SCHEDULE_UPDATE_EVENT, //01
  65. FW_EPG_PREF_SERVICE_NAME_UPDATE_EVENT, //02
  66. FW_EPG_SERIES_UPDATE_EVENT, //03
  67. /* SERVICE */
  68. FW_SERVICE_DELETED_EVENT, //04
  69. FW_SERVICE_UPDATE_EVENT, //05
  70. /* DATABASE */
  71. FW_DB_LOAD_DEFAULT, //06
  72. /* SCHEDULER */
  73. FW_SCHEDULER_EVENT, //07
  74. FW_SCHEDULER_MSG, //08
  75. FW_SCHEDULER_EXPIRE, //09
  76. /* DATA SAVING */
  77. FW_DATASAVING_ATVDB_STORE_START_EVENT, //10
  78. FW_DATASAVING_ATVDB_STORE_END_EVENT, //11
  79. FW_DATASAVING_DVBDB_STORE_START_EVENT, //12
  80. FW_DATASAVING_DVBDB_STORE_END_EVENT, //13
  81. FW_DATASAVING_USERSETING_STORE_START_EVENT, //14
  82. FW_DATASAVING_USERSETING_STORE_END_EVENT, //15
  83. /*DVB and PSI monitor*/
  84. FW_MONITOR_TUNER_LOCKED, //16
  85. FW_MONITOR_TUNER_UNLOCKED, //17
  86. FW_MONITOR_STREAM_NO_DATA, //18
  87. FW_MONITOR_STREAM_HAS_DATA, //19
  88. FW_MONITOR_STREAM_INVALID_DATA, //20
  89. FW_MONITOR_STREAM_UNSUPPORT_DATA, //21
  90. FW_MONITOR_SERVICE_VIDEO_AUDIO_SCRAMBLE, //22
  91. FW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE, //23
  92. FW_MONITOR_SERVICE_ONLY_AUDIO_SCRAMBLE, //24
  93. FW_MONITOR_SERVICE_NO_SCRAMBLE, //25
  94. FW_MONITOR_PARENTAL_LOCKED, //26
  95. FW_MONITOR_PARENTAL_UNLOCKED, //27
  96. FW_MONITOR_SERVICE_MOVE, //28
  97. FW_MONITOR_AUDIO_UPDATE, //29
  98. FW_MONITOR_SUBTITLE_UPDATE, //30
  99. FW_MONITOR_CLOSECAPTION_UPDATE, //add for CC //31
  100. FW_MONITOR_TELETEXT_UPDATE, //32
  101. FW_MONITOR_UPDATE_SERVICE, //33
  102. FW_MONITOR_OTHERTP_SERVICE_FOUND, //34
  103. FW_MONITOR_ADD_SERVICE, //35
  104. FW_MONITOR_UPDATE_SERLCN, //36
  105. FW_MONITOR_REMOVE_SERVICE, //37
  106. FW_MONITOR_FTADATA_UPDATE, //38
  107. FW_MONITOR_REMINDER_EXPIRE, //39
  108. FW_MONITOR_REMINDER_TIME_CHANGE, //40
  109. FW_MONITOR_REPLACE_SERVICE, //41
  110. FW_MONITOR_REPLACE_SIMULCASE_SERVICE, //42
  111. FW_MONITOR_TS_CHANGED, //43
  112. FW_MONITOR_NEW_TSID, //44
  113. FW_MONITOR_TIME_UPDATE, //45
  114. FW_MONITOR_FIND_NEW_TPLIST, //46
  115. FW_MONITOR_PMT_UPDATE, //47
  116. FW_MONITOR_SERTYPE_CHANGED, //48
  117. FW_MONITOR_UPDATE_NETWORK, //49
  118. FM_DTV_AUDIO_STARTED, //50
  119. FM_DTV_AUDIO_SAMPLE_STOPPED, //51
  120. FM_DTV_AUDIO_STOPPED, //52
  121. /*VCHIP module event*/
  122. FW_VCHIP_LOCK, //53
  123. FW_VCHIP_UNLOCK, //54
  124. /* ATV module event*/
  125. FW_NO_SIGNAL, //55
  126. FW_NOT_SUPPORT, //56
  127. FW_SIGNAL_PRESENT, //57
  128. FW_VIP_FINISH, //58
  129. FW_VIP_STATUS, //59
  130. FW_SCART_INPUTSRC_CHANGE, //60
  131. FW_SCART_INPUTSTATUS_CHANGE, //61
  132. FW_HDMI_HDMIDVI_CHANGE, //62
  133. FW_HDMI_ACPTYPE_CHANGE, //63
  134. FW_HDMI_PORTSTATUS, //64
  135. FW_HDMI_PROCESSING, //65
  136. /* Other module event ... */
  137. FW_AUDIO_HEADPHONE_PLUG_IN, //66
  138. FW_AUDIO_HEADPHONE_PLUG_OUT, //67
  139. FW_AUDIO_ADC_TURNOFFSOUND, //68
  140. FW_AUDIO_SIF_SAS_OK,
  141. FW_AUDIO_SIF_SCS_OK,
  142. /* Internel event */
  143. FW_TASK_EXIT = 80, //80
  144. /*TT module event*/
  145. FW_TT_NO_DATA, //81
  146. /*QSD test event*/
  147. FW_QSD_ATV_SetCH, //82
  148. FW_QSD_DTV_SetCH, //83
  149. FW_QSD_Media_Play, //84
  150. FW_QSD_Source_Set, //85
  151. FW_QSD_DTV_SetFreq, //86
  152. /* EWS */
  153. FW_EWS_REC_ANCM = 100, //100
  154. FW_EWS_FIND_AUD, //101
  155. FW_EWS_ACTIVE, //102
  156. FW_EWS_INACTIVE, //103
  157. FW_EWS_NON_ANCM, //104
  158. FW_USB_PLUGIN, //105
  159. FW_USB_PLUGOUT, //106
  160. FW_USB_HUNGTASK, //107
  161. /*AFT*/
  162. FW_AFT_PROCESS_DONE, //108
  163. FW_AFT_ADEMOD_PQSET, //109
  164. /*MHL*/
  165. FW_HDMI_MHL_RCP_CMD, //110
  166. FW_HDMI_MHL_CONNECTED, //111
  167. FW_INVALID_EVENT, //112
  168. FW_ASTRALCN_RECED_PMT, //113
  169. FW_ASTRALCN_START_RECVPMT, //114
  170. /*Nordig logo*/
  171. FW_MONITOR_UPDATE_NWK_STATIC, //115
  172. FW_MONITOR_UPDATE_NWK_RESCAN, //116
  173. /*Auto Test*/
  174. FW_AUTOTEST_RESET = 120, //120
  175. FW_AUTOTEST_UPDATESW, //121
  176. FW_FAC_TEST_SET_SOURCE, //122
  177. FW_FAC_UPDATE_HDCP_KEY, //123
  178. FW_CC_VCHIP_DATA, //124
  179. /*Indonesia EWS*/
  180. FW_INDONESIA_EWS_UPDATE, //125
  181. FW_INDONESIA_EWS_STOP, //126
  182. /*SPD*/
  183. FW_HDMI_SPD_INFOFRAME_UPDATE, //127
  184. #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
  185. FW_AUDIO_LOADCODEC_OK, //128
  186. FW_AUDIO_LOADCODEC_ERROR, //129
  187. FW_AUDIO_LOADCODEC_TYPE, //130
  188. #endif
  189. FW_TVFE_TYPE_BURNNTIME, //131
  190. #ifdef CONFIG_SUPPORT_DETECT_USBPLL
  191. FW_TYPE_USBPLLFail,
  192. #endif
  193. #ifdef CONFIG_CTV_UART_FAC_MODE
  194. FW_RS232_SET_SOURCE,
  195. FW_RS232_SET_VOL,
  196. FW_RS232_SET_BL,//backlight
  197. #endif
  198. FW_ADC_AUTOCHANGE_SOURCE,
  199. FW_ADC_AUTOADJUST,
  200. FW_SIGNAL_IN_PROGRESS,
  201. #ifdef CONFIG_SUPPORT_NET_SETTING
  202. FW_NETWORK_ENABLE,
  203. FW_NETWORK_DISABLE,
  204. #endif
  205. FW_HDMI_CHANGE_SOURCE,
  206. /*MCCS*/
  207. FW_MCCS_IMAGE_LUMINANCE,
  208. FW_MCCS_IMAGE_CONTRAST,
  209. FW_MCCS_IMAGE_SHARPNESS,
  210. FW_MCCS_IMAGE_SATURATION,
  211. FW_MCCS_IMAGE_RGAIN,
  212. FW_MCCS_IMAGE_GGAIN,
  213. FW_MCCS_IMAGE_BGAIN,
  214. FW_MCCS_IMAGE_ROFFSET,
  215. FW_MCCS_IMAGE_GOFFSET,
  216. FW_MCCS_IMAGE_BOFFSET,
  217. FW_MCCS_IMAGE_COLORLUT_SATGAIN_R,
  218. FW_MCCS_IMAGE_COLORLUT_SATGAIN_Y,
  219. FW_MCCS_IMAGE_COLORLUT_SATGAIN_G,
  220. FW_MCCS_IMAGE_COLORLUT_SATGAIN_C,
  221. FW_MCCS_IMAGE_COLORLUT_SATGAIN_B,
  222. FW_MCCS_IMAGE_COLORLUT_SATGAIN_M,
  223. FW_MCCS_CLOSE_USERMENU,
  224. FW_MCCS_IMAGE_GAMMA_TABLE_INDEX,
  225. FW_MCCS_IMAGE_CONTRAST_AUTO,
  226. FW_MCCS_FLASH_EEPROM_RW,
  227. FW_MCCS_FLASH_CTRL,
  228. FW_MCCS_OSD_HPOSITION,
  229. FW_MCCS_OSD_VPOSITION,
  230. FW_MCCS_AUDIOVOLUME,
  231. FW_MCCS_OSD_LANGUAGE,
  232. FW_MCCS_FBOSD_LANGUAGE,
  233. FW_MCCS_SET_VGASETTING_AUTO,
  234. FW_MCCS_SET_VGASETTING_HPOSITION,
  235. FW_MCCS_SET_VGASETTING_VPOSITION,
  236. FW_MCCS_SET_VGASETTING_CLOCK,
  237. FW_MCCS_SET_VGASETTING_PHASE,
  238. FW_MCCS_POWER_SETMODE,
  239. FW_MCCS_AUDIOMUTE,
  240. FW_MCCS_OSDLOCK,
  241. } AFW_event_t;
  242. /**
  243. * @brief defines different mode of AFW.
  244. *
  245. * event handling may becomes different in different mode. some event may become invalid in given mode.
  246. */
  247. typedef enum
  248. {
  249. FW_NORMAL_VIEW_MODE = 0,
  250. FW_CHAN_SRCH_MODE,
  251. FW_UPGRADE_MODE,
  252. FW_EPG_MODE,
  253. FW_RESET_MODE,
  254. FW_POWER_DOWN_MODE,
  255. FW_QSD_MODE,
  256. FW_RS232_MODE,
  257. } FW_mode_t;
  258. /**
  259. * @brief al get context type define.
  260. */
  261. #define FW_CONTEXT_OP_TYPE_READ (0x10000)
  262. #define FW_CONTEXT_OP_TYPE_WRITE (0x20000)
  263. typedef enum
  264. {
  265. FW_CONTEXT_TYPE_LOCK_STATE = 0, /**< get lock state */
  266. FW_CONTEXT_TYPE_PARENTAL_LOCK_STATE, /**< get parental lock state */
  267. FW_CONTEXT_TYPE_COUNTRY_CODE, /**< get user setting contry code */
  268. FW_CONTEXT_TYPE_TIME_ZONE, /**< get user setting time zone */
  269. FW_CONTEXT_TYPE_TIME_OFFSET, /**< get time offset by time zone except auto */
  270. FW_CONTEXT_TYPE_COUNTRY_REGION, /**< get user setting country region */
  271. FW_CONTEXT_TYPE_COUNTRY_ID, /**< country ID defined in AL_AreaIndex_en */
  272. FW_CONTEXT_TYPE_ONID_MATCH, /**< whether match ONID */
  273. FW_CONTEXT_TYPE_PR, /**< get/set Program Reminder of PVR*/
  274. FW_CONTEXT_TYPE_ISO639LANGUAGE1, /**< get iso 639 language */
  275. FW_CONTEXT_TYPE_ISO639LANGUAGE2, /**< get iso 639 language */
  276. FW_CONTEXT_TYPE_CHECK_OSDLANGUAGEFRENCH, /**< check osd language is french or not */
  277. FW_CONTEXT_TYPE_TIME_DIFFER,
  278. FW_CONTEXT_TYPE_CHECK_FORCE_DST, /**< callback to decide DST on/off */
  279. FW_CONTEXT_TYPE_CHECK_EVENTSTATE, /**< check whether need force processing event callback*/
  280. FW_CONTEXT_TYPE_CHECK_AUS_AREA, /**< check current area is australia**/
  281. FW_CONTEXT_TYPE_GET_IOP_TIME, /**< get IOP sleep time count**/
  282. FW_CONTEXT_TYPE_GET_SAVE_TIME, /**< get last standby saving time**/
  283. FW_CONTEXT_TYPE_GET_CHANNEL_LOCK, /**< get the state of channel lock under hotel mode**/
  284. FW_CONTEXT_TYPE_GET_DBNVM_HANDER, /**< get NVM Hander for DB read/write operation **/
  285. FW_CONTEXT_TYPE_GET_DBRESTORE_SETTER, /**< get callback for DB restore operation **/
  286. FW_CONTEXT_TYPE_GET_Current_Source, /**< get callback for qsd get current source **/
  287. FW_CONTEXT_TYPE_CELLID, /**< get cell id */
  288. FW_CONTEXT_TYPE_GET_CURRENT_TVHDL,
  289. #ifdef CONFIG_VCHIP_SUPPORT
  290. FW_CONTEXT_TYPE_VCHIP_USERSET,
  291. #endif
  292. #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
  293. FW_CONTEXT_TYPE_OPERATOR, /**< operator defined in al_DVBC_Operator_en */
  294. #endif
  295. FW_CONTEXT_TYPE_RRT_USERSET, /**< get rrt user setting value */
  296. FW_CONTEXT_TYPE_GET_LANUGAGE_NUMBER, /**< get language number */
  297. FW_CONTEXT_TYPE_DB_UPDATED, /**< set database updated */
  298. #ifdef CONFIG_EPG_LANG_DEFAULT_BY_OSDLANG
  299. FW_CONTEXT_TYPE_OSDISO639LANGUAGE1, /**< get OSD iso 639 language */
  300. FW_CONTEXT_TYPE_OSDISO639LANGUAGE2, /**< get OSD iso 639 language */
  301. #endif
  302. FW_CONTEXT_TYPE_TT_LANGUAGE,
  303. FW_CONTEXT_TYPE_TYPE_BURNNTIME,
  304. #ifdef CONFIG_SUPPORT_DETECT_USBPLL
  305. FW_CONTEXT_TYPE_TYPE_USBPLLFail,
  306. #endif
  307. FW_CONTEXT_TYPE_MAX,
  308. } AL_FW_Context_Type_t;
  309. #ifdef CONFIG_VCHIP_SUPPORT
  310. typedef enum
  311. {
  312. FW_VCHIP_TYPE_MPAA,
  313. FW_VCHIP_TYPE_CANE,
  314. FW_VCHIP_TYPE_CANF,
  315. FW_VCHIP_TYPE_TVPG,
  316. FW_VCHIP_TYPE_MAX,
  317. }AL_FW_VCHIP_TYPE;
  318. #endif
  319. typedef enum {
  320. FW_STATUS_NOSIGNAL,
  321. FW_STATUS_SIGNALOK,
  322. } AL_FW_InputStatus_t;
  323. /* Application Callback */
  324. /**
  325. * @brief Application Callback
  326. *
  327. */
  328. typedef al_void (*frmwrk_app_cb_t) (AFW_event_t frmwrk_event, al_void *user_param);
  329. /**
  330. * @brief Callback function prototype to get context
  331. *
  332. */
  333. typedef al_uint32 (*frmwrk_pfOpConext_t)(AL_FW_Context_Type_t ContextType, al_uint32 opera, al_void * pContext, al_uint32 Param);
  334. /**
  335. * @brief framwork init.
  336. *
  337. * This application framework init function will initialize all the middleware components and framework components.
  338. *
  339. * @param frmwrk_init_module[input] frmwrk mudule Initialize select.
  340. *
  341. * @param frmwrk_app_cb[input] App framework callback.
  342. *
  343. * @param frmwrk_context_cb[input] App register to framwork callback for al layer get context.
  344. *
  345. * @return AL_SUCCESS if initialization is successful, AL_FAILURE otherwise.
  346. */
  347. AL_Return_t AL_FW_Init(AFW_Init_t frmwrk_init_module,
  348. frmwrk_app_cb_t frmwrk_app_cb, frmwrk_pfOpConext_t frmwrk_context_cb);
  349. /**
  350. * @brief framwork exit.
  351. *
  352. * This application framework exit function will deinitialize all the middleware components and framework components.
  353. *
  354. * @return AL_SUCCESS if exit is successful, AL_FAILURE otherwise.
  355. */
  356. #ifdef CONFIG_MOD_PACK_DTV
  357. AL_Return_t AL_FW_DTVExit(al_void);
  358. #endif
  359. #ifdef CONFIG_MOD_PACK_DTV
  360. AL_Return_t AL_FW_InitDtvModule(AFW_Init_t frmwrk_init_module);
  361. #endif
  362. /**
  363. * @brief get framwork version.
  364. *
  365. * API gets the al layor version. version info is composed of major and minor version number.
  366. * major and minor version number occupy the least two bytes and the highest two bytes are reserved currently.
  367. * The follow lists the bytes order. Version can by represented with notation of XX XX MAJOR Minor, above which XX represents nothing.
  368. *
  369. * @param version[output] Pointer to Version Number.
  370. *
  371. * @return AL_SUCCESS if get version is successful, AL_FAILURE otherwise.
  372. */
  373. AL_Return_t AL_FW_GetVersion(al_uint32 *version);
  374. #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
  375. /**
  376. * @brief To Terminate NVM storing task.
  377. *
  378. * @param IsSync[input]
  379. *
  380. * @return AL_SUCCESS if terminate is successful, AL_FAILURE otherwise.
  381. */
  382. AL_Return_t AL_FW_TermStoreDevice(al_bool IsSync);
  383. /**
  384. * @brief Swtich DB module at all the DVB DB module.
  385. *
  386. * @param eDBType[input] the DB module will be active(other DVB DB Module will deactive).
  387. *
  388. * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
  389. */
  390. AL_Return_t AL_FW_SwitchDBModule(AL_DB_EDBType_t eDBType);
  391. /**
  392. * @brief active DB module.
  393. *
  394. * @param eDBType[input] the DB module will be active.
  395. *
  396. * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
  397. */
  398. AL_Return_t AL_FW_ActiveDBModule(AL_DB_EDBType_t eDBType);
  399. /**
  400. * @brief deactive DB module.
  401. *
  402. * @param eDBType[input] the DB module will be deactive.
  403. *
  404. * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
  405. */
  406. AL_Return_t AL_FW_DeActiveDBModule(AL_DB_EDBType_t eDBType);
  407. /**
  408. * @brief Reload DB module.
  409. *
  410. * @param eDBType[input] the DB module will be reload.
  411. *
  412. * @return AL_SUCCESS if reload is successful, AL_FAILURE otherwise.
  413. */
  414. AL_Return_t AL_FW_ReLoadDBModule(AL_DB_EDBType_t eDBType);
  415. /**
  416. * @brief Check Active Database module.
  417. *
  418. * @param eDBType[input] indicate which database to check
  419. *
  420. * @return al_true if active , al_false otherwise.
  421. */
  422. al_bool AL_FW_CheckActiveDBModule(AL_DB_EDBType_t eDBType);
  423. #endif
  424. /**
  425. * @brief Set FW to specific mode.
  426. *
  427. * @param eFWMode[input] indicated which mode to set.
  428. *
  429. * @return AL_SUCCESS if active is successful, AL_FAILURE otherwise.
  430. */
  431. AL_Return_t AL_FW_ActiveFWModule(FW_mode_t eFWMode);
  432. /**
  433. * @brief Get FW to specific mode.
  434. *
  435. * @param peFWMode[input] indicated which mode to set.
  436. *
  437. * @return AL_SUCCESS if active is successful, AL_FAILURE otherwise.
  438. */
  439. AL_Return_t AL_FW_GetFWModule(FW_mode_t *peFWMode);
  440. /**
  441. * @brief get context callback funcion.
  442. *
  443. * @param ppfGetContext[output] callback function.
  444. *
  445. * @return AL_SUCCESS get callback funcion is successful, AL_FAILURE otherwise.
  446. */
  447. AL_Return_t AL_FW_GetContextCb(frmwrk_pfOpConext_t *ppfOpContext);
  448. /**
  449. * @brief clear fw queue funcion.
  450. *
  451. * @param None.
  452. *
  453. * @return AL_SUCCESS clear queue funcion is successful, AL_FAILURE otherwise.
  454. */
  455. AL_Return_t AL_FW_ReleaseQueue(void);
  456. AL_Return_t AL_FW_ShowQueue(void);
  457. /**
  458. * @brief check dtv demux has data funcion.
  459. *
  460. * @param None.
  461. *
  462. * @return AL_SUCCESS check dtv demux has data function is successful, AL_FAILURE otherwise.
  463. */
  464. AL_Return_t AL_FW_Check_DTVDemux_HasData(al_bool *flag);
  465. #ifdef CONFIG_SUPPORT_NOSIGNAL_AUTO_CHANGE_SOURCE
  466. al_uint32 AL_FW_Check_HDMI_PortStatus(void);
  467. #endif
  468. al_uint32 AL_FW_RW_PseudoEEPROM(unsigned char *extraData);
  469. #ifdef __cplusplus
  470. }
  471. #endif
  472. #endif /* AL_FW_H_INCLUDED */