epg.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef _EPG_H_
  2. #define _EPG_H_
  3. #include "gendef.h"
  4. #include "osp.h"
  5. #include "sipsi.h"
  6. #define KB_EPG_MAX_TS_NUM      20
  7. #define KB_EPG_MAX_SCH     10
  8. #define KB_EPG_MAX_PF       10
  9. typedef struct _KB_EPGDayInfo
  10. {
  11.     INT32 nEventCount;
  12.     KB_SIEitSchEvent *ptEvent;
  13. }KB_EPGDayInfo;
  14. typedef struct _KB_EPGSch
  15. {
  16.     UINT32 nSvcID;
  17.     UINT32 nState;
  18.     UINT32 nEnable; 
  19.     KB_SIEitSch *pDataStruct;
  20.     KB_EPGDayInfo nDayInfo[7];
  21. }KB_EPGSch;
  22. typedef struct _KB_EPGSchInfo
  23. {
  24.     UINT32 nTsId;
  25.     KB_EPGSch nSchInfo[KB_EPG_MAX_SCH];
  26.     BOOL  nCurrentTsTag;
  27. }KB_EPGSchInfo;
  28. typedef struct _KB_EpgPFInfo
  29. {
  30.     UINT32 nTsId;
  31.     UINT32 nSvcID;
  32.     UINT32 nState;
  33.     UINT32 nEnable;
  34.     KB_SIEitPF *pPresent;
  35.     KB_SIEitPF *pFollow;
  36. }KB_EpgPFInfo;
  37. typedef enum
  38. {
  39.     EPG_MSG_PF_DONE,
  40.     EPG_MSG_PF_TIMEOUT,
  41.     EPG_MSG_PF_CHANGE,
  42.     EPG_MSG_SCHEDULE_DONE,
  43.     EPG_MSG_SCHEDULE_EVENT_DONE,
  44.     EPG_MSG_SCHEDULE_SUNDAY_DONE,
  45. EPG_MSG_SCHEDULE_MONDAY_DONE,
  46. EPG_MSG_SCHEDULE_TUESDAY_DONE,
  47. EPG_MSG_SCHEDULE_WEDNESDAY_DONE,
  48. EPG_MSG_SCHEDULE_THURSDAY_DONE,
  49. EPG_MSG_SCHEDULE_FRIDAY_DONE,
  50. EPG_MSG_SCHEDULE_SATURDAY_DONE,      
  51.     EPG_MSG_SCHEDULE_TIMEOUT,
  52.     EPG_MSG_MAX
  53. }KB_EpgMessage;
  54. typedef enum
  55. {
  56.     EPG_Empty,
  57.     EPG_Receiving,
  58.     EPG_Recieved,
  59.     EPG_Timeout
  60. }EPGSTATE;
  61. INT32 KB_EPGInit(void);
  62. INT32 KB_EPGCreate(void);
  63. INT32 KB_EPGDestroy(void);
  64. INT32 KB_EPGGetEITPF(UINT32 nSvcID);
  65. INT32 KB_EPGStopAllSCH(void);
  66. INT32 KB_EPGStopAllEITPF(void);
  67. UINT32 KB_EPGGetPrgSCH(unsigned short nPrgType,unsigned short i_nChannel);
  68. INT32 KB_EPGGetSch(UINT32 nTsId, INT32 nSvcCnt, UINT32 *pSvcID);
  69. KB_EPGDayInfo *KB_EPGGetSchInfo(UINT16 TsId, INT32 nSvcID, INT32 nWeekday);
  70. INT32 KB_EPGStopOneSrvSCH(UINT32 TsNum, UINT32 nSvcID);
  71. INT32 KB_EPGToNvod(INT32 nMute);
  72. void* KB_EPGGetMemAddress(void);
  73. INT32 KB_EPGHandleMsg(KB_OSPMsgNode *pInMsg);
  74. typedef void (*KB_EPGCallBackFunc)(KB_OSPMsgNode *pInMsg);
  75. KB_EPGCallBackFunc KB_EpgCallBack(KB_EPGCallBackFunc callback);
  76. UINT32 KB_EPG_GetCurrentTsNum(void);
  77. INT32 KB_EPG_SetCurrentTsNum(UINT32 TsId);
  78. UINT32 KB_EPG_GetTsNumFromTsId(UINT16 TsId);
  79. KB_EPGDayInfo *KD_EPGGetSCH(UINT32 TsNum, INT32 nSvcID, INT32 nWeekday);
  80. void KB_EPG_ResetSchInfoByTsid(UINT16 TsId);
  81. UINT32 KB_EPG_GetTsIdFromTsNum(UINT32 TsNum);
  82. UINT16 KB_EPG_GetCurrentTsid(void);
  83. #endif