hbbtv_si_query.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef HBBTV_SI_QUERY_H
  2. #define HBBTV_SI_QUERY_H
  3. #include "mid_psimon.h"
  4. #include "hbbtv_application_manager.h"
  5. typedef enum
  6. {
  7. HBBTV_NO_RUNNING,
  8. HBBTV_SIQ_STOP,
  9. HBBTV_SIQ_DSMCC_PID,
  10. HBBTV_SIQ_BOOT_CAROUSEL,
  11. HBBTV_SIQ_OTHER_CAROUSEL,
  12. HBBTV_SIQ_CAROUSEL,
  13. HBBTV_SIQ_AIT_INFO,
  14. } HBBTVSiQueryKind_t;
  15. typedef enum
  16. {
  17. HBBTV_SIQ_SUCCESS, /* Query success */
  18. HBBTV_SIQ_FAILURE, /* Query failure */
  19. HBBTV_SIQ_PENDING, /* Query returning asynchronously */
  20. HBBTV_SIQ_ABORTED /* Query stopped */
  21. } HBBTVSiQueryStatus_t;
  22. typedef struct
  23. {
  24. UINT16 ait_pid;
  25. UINT16 ait_version;
  26. UINT16 application_type;
  27. }HBBTVSiQueryAitInfo_st;
  28. typedef struct
  29. {
  30. HBBTVSiQueryKind_t kind;
  31. UINT16 service_id;
  32. union
  33. {
  34. UINT16 association_tag;
  35. UINT32 carousel_id;
  36. } data;
  37. } HBBTVSiQuery_t, *pHBBTVSiQuery_t;
  38. typedef struct
  39. {
  40. UINT16 PID;
  41. UINT8 component_tag;
  42. UINT8 carousel_id_descriptor[257];
  43. } HBBTVCarouselBootInfo_t, *pHBBTVCarouselBootInfo_t;
  44. typedef struct
  45. {
  46. HBBTVSiQueryKind_t kind;
  47. union
  48. {
  49. UINT16 PID;
  50. HBBTVSiQueryAitInfo_st ait_info;
  51. HBBTVCarouselBootInfo_t carouselBootInfo;
  52. } data;
  53. } HBBTVSiQueryResult_t, *pHBBTVSiQueryResult_t;
  54. void HBBTV_SIQuery_Init(void);
  55. void HBBTV_SIQuery_Uninit(void);
  56. void HBBTV_SIQuery_Reset(UINT8 bPartial);
  57. HBBTVSiQueryStatus_t HBBTV_SIQuery_StackCmd(HBBTVSiQuery_t *pSiQuery, HBBTVSiQueryResult_t *pQueryResult);
  58. HBBTVSiQueryStatus_t HBBTV_SIQuery_SetBootInfo(OC_info_t *BootCarousel);
  59. #endif