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

DVD

开发平台:

C/C++

  1. #ifndef _DB_H
  2. #define _DB_H
  3. #include <stdio.h>
  4. #include <time.h>
  5. #include <gendef.h>
  6. #include "sipsi.h"
  7. #define KB_DB_SECTOR 112/*0x40700000*///20
  8. #define KB_DB_ZK_SECTOR                113//8
  9. #define KB_DB_BOOT_SECTOR              7
  10. #define KB_DB_RESOURCE_SECTOR          21
  11. #define KB_DB_DTV_SUCCESS   1
  12. #define KB_DB_DTV_FAILURE   0
  13. #define KB_DB_INVALID_PROGRAMNO 0xFFFF 
  14. #define KB_DB_UNKNOWN_VERSION   0xFF
  15. #define KB_DB_BOOK_PRG_LEN   20
  16. #define KB_DB_MAX_NIT_INFO       40
  17. #define KB_DB_MAX_PGM_NODE     30
  18. #define KB_DB_MAX_DTV 400
  19. #define KB_DB_MAX_RAD 100
  20. //added by whale 07/05/09
  21. #define KB_DB_MAX_DATA  30
  22. #define KB_DB_MAX_DTV_FRE  8
  23. #define KB_DB_MAX_RAD_FRE 10
  24. #define KB_DB_MAX_CHANNEL_NUM 120
  25. #define KB_DB_MAX_BOUQUET_NUM   15
  26. #define KB_DB_MAX_SVC_PER_BOUQUET 80
  27. #define KB_DB_MAX_PGM_NAME_LEN 30
  28. #define KB_DB_MAX_FAV_DTV 15
  29. #define KB_DB_MAX_NVOD 20
  30. #define KB_DB_MAX_NVOD_SVC_NUM 20
  31. #define KB_DB_MAX_MAIL 27
  32. #define KB_DB_MAX_FAV_RAD 10
  33. //added by yyj 2007.6.27 start
  34. typedef enum _KB_ADULT_RANK
  35. {
  36.        RANK_4=4,
  37. RANK_5,
  38. RANK_6,
  39. RANK_7,
  40. RANK_8,
  41. RANK_9,
  42. RANK_10,
  43. RANK_11,
  44. RANK_12,
  45. RANK_13,
  46. RANK_14,
  47. RANK_15,
  48. RANK_16,
  49. RANK_17,
  50. RANK_18
  51. }KB_ADULT_RANK;
  52. typedef enum _KB_TRANSPARENCY
  53. {
  54.       LEVEL_0=25,
  55.       LEVEL_1=50,
  56.       LEVEL_2=75,
  57.       LEVEL_3=100
  58. }KB_TRANSPARENCY;
  59. //added by yyj 2007.6.27 end
  60. //masked by yyj 2007.6.27
  61. /*
  62. enum
  63. {
  64. SCREEN_4_3,
  65. SCREEN_16_9
  66. };
  67. */
  68. //masked by yyj 2007.6.27
  69. enum
  70. {
  71. CHINESE,
  72. ENGLISH
  73. };
  74. enum
  75. {
  76.   BufferSave,
  77.   FlashSave
  78. };
  79. enum
  80. {
  81. CONFIG_NO_USED,
  82. CONFIG_USED
  83. };
  84. enum
  85. {
  86. PSW_OFF,
  87. PSW_ON
  88. };
  89. typedef enum
  90. {
  91.   KB_DB_PGM_FAVORITE,    
  92.   KB_DB_PGM_UNFAVORITE,
  93.   KB_DB_PGMDELETE,
  94.   KB_DB_PGMEXIST,
  95.   KB_DB_PGM_ENCRYPT,
  96.   KB_DB_PGM_UNENCRYPT
  97. };
  98. typedef enum
  99. {
  100. KB_DB_MAIL_TYPE_MAIL,
  101. KB_DB_MAIL_TYPE_NOTICE,
  102. KB_DB_MAIL_NEW,
  103. KB_DB_MAIL_READ
  104. };
  105. typedef enum _KB_DBTRACK
  106. {
  107. LEFT_TRACK,
  108. RIGHT_TRACK,
  109. STEREO_TRACK
  110. }KB_DBTRACK;
  111. typedef enum _KB_QAM
  112. {
  113. QAM16 = 1, 
  114. QAM32,
  115. QAM64,
  116. QAM128,
  117. QAM256
  118. }KB_QAM;
  119. typedef enum 
  120. {
  121. State_AV,
  122.      State_EPG,
  123.      State_MENU,
  124. State_NVOD,
  125. State_SRCH,    
  126. State_MAX
  127. }STB_State;
  128. typedef enum
  129. {
  130. DTVPRG,
  131. RADIOPRG,
  132. //added by whale 07/05/25
  133. DATAPRG
  134. }KB_DBPRGType;
  135. typedef enum
  136. {
  137. RET_OK,
  138. RET_FAIL
  139. }KB_DBRET;
  140. typedef struct _KB_DBNetInfo
  141. {
  142. UINT8 NetworkName[22];
  143. UINT8 NitVersion;
  144. }KB_DBNetInfo;
  145. typedef struct _KB_DBChnnlInfo
  146. {
  147. UINT16  OrgNetID;
  148. UINT16  TSID;
  149. UINT16  Freq;
  150. UINT16  Symb;
  151. UINT8   QAM;
  152. UINT8 PATVersion;
  153. UINT8   SDTVersion;
  154. UINT8  NitAddType;
  155. }KB_DBChnnlInfo;
  156. typedef struct _KB_DBServiceIndex
  157. {
  158. UINT16 TSID;
  159. UINT16 ServiceId;
  160. }KB_DBServiceIndex;
  161. typedef struct _KB_DBPrgInfo
  162. {
  163. UINT16 TSID;
  164. UINT8 Name[KB_DB_MAX_PGM_NAME_LEN];
  165.    UINT16 PMTPID;
  166.    UINT16 SvcID;
  167.    UINT16 VideoPID;
  168.    UINT16 AudioPID;
  169. UINT16 PCRPID;
  170.    UINT8 PMTVersion;
  171. UINT8  ScrambleFlag;
  172. UINT16 IndexOfConfigInfo;
  173. }KB_DBPrgInfo;
  174. typedef struct _KB_DBCurPrgInd
  175. {
  176. UINT16  prgNO;
  177. UINT8 prgType;
  178. }KB_DBCurPrgInd;
  179. typedef struct _KB_DBSrchInfo
  180. {
  181. UINT16 Frequency;
  182. UINT16 SymbolRate;
  183. UINT8 QamType;
  184. UINT8 SearchNIT;
  185. }KB_DBSrchInfo;
  186. typedef struct _KB_DBFavNode
  187. {
  188. UINT16  TsId;
  189. UINT16  SrvId;
  190. }KB_DBFavNode;
  191. typedef struct _KB_DBFavDtvInfo
  192. {
  193. UINT8  nTotal;
  194. KB_DBFavNode FavList[KB_DB_MAX_FAV_DTV];
  195. }KB_DBFavDtvInfo;
  196. typedef struct _KB_DBFavRadInfo
  197. {
  198. UINT8  nTotal;
  199. KB_DBFavNode FavList[KB_DB_MAX_FAV_RAD];
  200. }KB_DBFavRadInfo;
  201. typedef struct _KB_DBSysInfo
  202. {
  203. UINT8 ScreenFormat;
  204. UINT8 Language;
  205. UINT8 IPAddress[4];
  206. UINT8 Mask[4];
  207. INT8 TimeZone;
  208. UINT32    timeDateUserOffset ;//lsp 07/3/14
  209. /*[12~11]关机标志(0--once_only, 1--once_a_day, 2--invalid);[10~6]小时设置,[5~0]分钟设置*/
  210.     UINT16  ShutDownInfo; 
  211.     /*[12~11]开机标志(0--once_only, 1--once_a_day, 2--invalid);[10~6]小时设置,[5~0]分钟设置*/
  212.     UINT16  SetUpInfo;     
  213. }KB_DBSysInfo;
  214. typedef struct _KB_DBMailInfo
  215. {
  216. unsigned char MailType;
  217. unsigned char MailSize;
  218. unsigned char MailClass;
  219. unsigned char MailPriority;
  220. unsigned char MailTitle[32];
  221. unsigned char MailData[255];
  222. time_t Time;
  223. }KB_DBMailInfo;
  224. typedef struct _KB_DBPwdInfo
  225. {
  226. UINT8 PwdSwitch;
  227. UINT8 Password[6];
  228. }KB_DBPwdInfo;
  229. typedef struct _KB_DBListInfo
  230. {                                
  231. UINT16 DtvNum;           
  232. UINT16 RadNum;
  233. }KB_DBListInfo;
  234. typedef struct _KB_DBNvodShiftInfo
  235. {
  236. UINT16 TSID;
  237.    UINT16 ServiceId;
  238. }KB_DBNvodShiftInfo;
  239. typedef struct _KB_DBNvodRefInfo
  240. {
  241. UINT16 TsID;
  242. UINT16 RefSvcId;   
  243.     UINT8  RefSvcName[20];
  244. UINT8  ShiftNum;
  245. KB_DBNvodShiftInfo ShiftList[KB_DB_MAX_NVOD_SVC_NUM];
  246. }KB_DBNvodRefInfo;
  247. typedef struct _KB_DBAllNitInfo
  248. {
  249. int  nitTotal;
  250. UINT32 nitinfo[KB_DB_MAX_NIT_INFO];
  251. }KB_DBAllNitInfo;
  252. typedef struct _KB_DBPrgNode
  253. {
  254. UINT16 TSID;
  255.   unsigned short freq;
  256.   unsigned short symb;
  257.   unsigned char qam;
  258.   
  259.   unsigned char PATVersion;
  260.   unsigned char SDTVersion;
  261.   unsigned short PMTPid;
  262.   unsigned short SerID;
  263.   unsigned char PMTVersion;
  264.   unsigned char service_type;
  265.   unsigned char     bCAFlag;
  266.   char name[20];
  267.   unsigned char audioTrack;
  268.   unsigned short PCR_Pid;
  269.   unsigned short Video_Pid;
  270.   unsigned short Audio_Pid;
  271. } KB_DBPrgNode;
  272. typedef struct _KB_DBPRGPID
  273. {
  274.   unsigned short PCR_Pid;
  275.   unsigned short Video_Pid;
  276.   unsigned short Audio_Pid;
  277. }KB_DBPRGPID;
  278. typedef struct _KB_DBMailIndexNode
  279. {
  280. UINT8 Index;
  281. UINT8 ReadFlag;
  282. }KB_DBMailIndexNode;
  283. typedef struct _KB_DBMailIndex
  284. {
  285. UINT8 nTotal;
  286. KB_DBMailIndexNode MailIndexList[KB_DB_MAX_MAIL];
  287. }KB_DBMailIndex;
  288. typedef struct _KB_DBPrgConfigNode
  289. {
  290. UINT8 Flag;
  291. UINT8 Lock_Track_Vol; /*[7]父母锁标志;[6:5]声道设置,[4:0]为音量*/
  292. }KB_DBPrgConfigNode;
  293. typedef struct _KB_DBMailNode
  294. {
  295. UINT8 Flag;
  296. KB_DBMailInfo MailInfo;
  297. }KB_DBMailNode;
  298. typedef struct _KB_DBDTVChnnlInfo
  299. {
  300. UINT8 nTotal;
  301. KB_DBChnnlInfo ChannelList[KB_DB_MAX_CHANNEL_NUM];
  302. }KB_DBDTVChnnlInfo;
  303. typedef struct _KB_DBDTVPrgInfo
  304. {
  305. UINT16 nTotal;
  306. KB_DBPrgInfo PgmList[KB_DB_MAX_DTV];
  307. }KB_DBDTVPrgInfo;
  308. typedef struct _KB_DBRADPrgInfo
  309. {
  310. UINT16 nTotal;
  311. KB_DBPrgInfo PgmList[KB_DB_MAX_RAD];
  312. }KB_DBRADPrgInfo;
  313. typedef struct _KB_DBNVODRefSvc
  314. {
  315. UINT8 nTotal;
  316. KB_DBNvodRefInfo RefSvc[KB_DB_MAX_NVOD];
  317. }KB_DBNVODRefSvc;
  318. //added by whale 07/05/09 start
  319.  /*
  320.  * 定义数据广播节目结构
  321.  *
  322.  * UINT16 nTotal 数据广播节目数
  323.  *
  324.  * KB_DBPrgInfo PgmList[KB_DB_MAX_DATA]  数据广播节目列表
  325.  */
  326. typedef struct KB_DB_DATAPrgInfo_s
  327. {
  328. UINT16 nTotal;
  329. KB_DBPrgInfo PgmList[KB_DB_MAX_DATA];
  330. }KB_DB_DATAPrgInfo_t;
  331. //added by whale 07/05/09 end
  332. //added by yyj start 2007.6.19
  333. typedef struct _KB_DBSTBInfo
  334. {                                
  335.       UINT8  STB_Model[20];//机顶盒型号
  336.       UINT8  HW_Info[20];//硬件信息
  337.       UINT8  HW_Vervion[20];//硬件版本号
  338.       UINT8  SW_Info[20];//软件信息
  339.       UINT8  SW_Vervion[20];//软件版本号
  340.       UINT8  SW_Release_Time[20];//软件发布时间
  341.       UINT8  CA_Version[20];
  342.       UINT8  Manufacturer[20];//生产厂商
  343.       UINT8  CRC[10];//校验字符串
  344. }KB_DBSTBInfo;
  345. //added by yyj end 2007.6.19
  346. typedef struct _KB_DBE2PDATA
  347. {
  348. KB_DBNetInfo   gNetInfo;
  349. KB_DBSysInfo  gSysPara;
  350. KB_DBPwdInfo  gPwdInfo;
  351. KB_DBCurPrgInd gCurPrgInfo;
  352. KB_DBSrchInfo   gSrchInfo;
  353. KB_DBMailIndex gMailInfo;
  354. KB_DBFavDtvInfo gDTVFavInfo;
  355. KB_DBFavRadInfo gRADFavInfo;
  356. KB_DBPrgConfigNode gDTVPrgCfgInfo[KB_DB_MAX_DTV];
  357.        KB_DBPrgConfigNode    gRADPrgCfgInfo[KB_DB_MAX_RAD];
  358. //added by whale 07/05/25
  359. KB_DBPrgConfigNode    gDATAPrgCfgInfo[KB_DB_MAX_DATA];
  360.        KB_DBListInfo   stServiceListInfo;
  361. //added by yyj 2006.6.19
  362. KB_DBSTBInfo gSTBInfo;//STB信息
  363. }KB_DBE2PDATA;
  364. typedef struct _KB_DBPrgAllInfo
  365. {
  366.   KB_DBDTVChnnlInfo gChnnlInfo;
  367.   KB_DBDTVPrgInfo gDTVInfo;
  368.   KB_DBRADPrgInfo gRADInfo;
  369.   KB_DBNVODRefSvc gNVODInfo;
  370.   //added by whale 07/05/09
  371.   KB_DB_DATAPrgInfo_t gDATAInfo;
  372. }KB_DBPrgAllInfo;
  373. //added by yyj 2007.7.11 start
  374. typedef struct _KB_DBOtaPara
  375. {
  376.    UINT32 freq;
  377.    UINT32 Symb;
  378.    UINT8  Qam;
  379.    UINT16 PID; 
  380. }KB_DBOtaPara;
  381. //added by yyj 2007.7.11 end
  382. #define  KB_NVM_UPDATE_BASE_ADDR 0
  383. #define  KB_NVM_UPDATE_FREQ_OFFSET KB_NVM_UPDATE_BASE_ADDR// 4BYTE
  384. #define  KB_NVM_UPDATE_SYSM_OFFSET KB_NVM_UPDATE_BASE_ADDR+4// 4BYTE
  385. #define  KB_NVM_UPDATE_QAM_OFFSET KB_NVM_UPDATE_BASE_ADDR+8// 1BYTE
  386. #define  KB_NVM_UPDATE_PID_OFFSET KB_NVM_UPDATE_BASE_ADDR+9// 2BYTE
  387. //RESERVE 1 BYTE HERE
  388. #define  KB_NVM_UPDATE_FLAG_OFFSET KB_NVM_UPDATE_BASE_ADDR+12// 1BYTE
  389. #define  KB_NVM_UPDATE_FLAG_FORCE_OFFSET KB_NVM_UPDATE_BASE_ADDR+13// 1BYTE
  390. #define  KB_NVM_UPDATE_SERIAL_OFFSET KB_NVM_UPDATE_BASE_ADDR+14// 1BYTE
  391. #define  KB_NVM_UPDATE_APP_SIZE_OFFSET                   KB_NVM_UPDATE_BASE_ADDR+15// 4BYTE
  392. #define  KB_NVM_UPDATE_APP_CRC_OFFSET                    KB_NVM_UPDATE_BASE_ADDR+19// 4BYTE
  393. #define  KB_NVM_UPDATE_MANU_ID_OFFSET KB_NVM_UPDATE_BASE_ADDR+23// 1BYTE
  394. #define  KB_NVM_UPDATE_IN_SERIAL_NUM_OFFSET        KB_NVM_UPDATE_BASE_ADDR+24//  4BYTE
  395. #define  KB_NVM_UPDATE_HW_VERSION_OFFSET KB_NVM_UPDATE_BASE_ADDR+28// 1BYTE
  396. //#define  KB_NVM_UPDATE_HW_MODE_OFFSET KB_NVM_UPDATE_BASE_ADDR+19// 2BYTE
  397. #define  KB_NVM_UPDATE_HW_MAJOR_VERSION_OFFSET KB_NVM_UPDATE_BASE_ADDR+29// 2BYTE
  398. #define  KB_NVM_UPDATE_HW_MINOR_VERSION_OFFSET KB_NVM_UPDATE_BASE_ADDR+31// 2BYTE
  399. #define  KB_NVM_UPDATE_HW_BATCH_NO_OFFSET KB_NVM_UPDATE_BASE_ADDR+33// 2BYTE
  400. #define  KB_NVM_UPDATE_LOADER_SERIAL_OFFSET KB_NVM_UPDATE_BASE_ADDR+35// 2BYTE
  401. #define  KB_NVM_UPDATE_SW_MAJOR_VERSION_OFFSET KB_NVM_UPDATE_BASE_ADDR+37// 2BYTE
  402. #define  KB_NVM_UPDATE_SW_MINOR_VERSION_OFFSET KB_NVM_UPDATE_BASE_ADDR+39// 2BYTE
  403. #define  KB_NVM_UPDATE_REGION_CODE_OFFSET                   KB_NVM_UPDATE_BASE_ADDR+41// 2BYTE
  404. #define  KB_NVM_UPDATE_KEY_TYPE_OFFSET                   KB_NVM_UPDATE_BASE_ADDR+43// 1BYTE
  405. #define  KB_NVM_UPDATE_SIGN_DATE_OFFSET                KB_NVM_UPDATE_BASE_ADDR+44// 4BYTE
  406. #define  KB_NVM_UPDATE_SIGN_TIME_OFFSET                KB_NVM_UPDATE_BASE_ADDR+48// 2BYTE
  407. #define  KB_NVM_UPDATE_DOWNLOAD_DATE_OFFSET     KB_NVM_UPDATE_BASE_ADDR+50// 4BYTE
  408. #define  KB_NVM_UPDATE_DOWNLOAD_TIME_OFFSET     KB_NVM_UPDATE_BASE_ADDR+54// 3BYTE
  409. #define  KB_NVM_UPDATE_DOWNLOAD_DURATION_OFFSET   KB_NVM_UPDATE_BASE_ADDR+57 // 2BYTE
  410. #define  KB_NVM_UPDATE_SW_MAJOR_VERSION_BACKUP_OFFSET     KB_NVM_UPDATE_BASE_ADDR+59// 2BYTE
  411. #define  KB_NVM_UPDATE_SW_MINOR_VERSION_BACKUP_OFFSET     KB_NVM_UPDATE_BASE_ADDR+61// 2BYTE
  412. #define  KB_NVM_UPDATE_OUT_SERIAL_NUM_OFFSET     KB_NVM_UPDATE_BASE_ADDR+63// 32BYTE
  413. #define KB_NVM_NETWORK_INFO_ADDR 0x006f
  414. #define KB_NVM_NETWORK_INFO_SIZE (sizeof(KB_DBNetInfo) + 16)
  415. #define KB_NVM_SYS_PARA_ADDR (KB_NVM_NETWORK_INFO_ADDR + KB_NVM_NETWORK_INFO_SIZE)
  416. #define KB_NVM_SYS_PARA_SIZE     (sizeof(KB_DBSysInfo) + 16)
  417. #define KB_NVM_PASSWORD_ADDR (KB_NVM_SYS_PARA_ADDR + KB_NVM_SYS_PARA_SIZE)
  418. #define KB_NVM_PASSWORD_SIZE     (sizeof(KB_DBPwdInfo) + 16)
  419. #define KB_NVM_CUR_PGM_ADDR (KB_NVM_PASSWORD_ADDR + KB_NVM_PASSWORD_SIZE)
  420. #define KB_NVM_CUR_PGM_SIZE     (sizeof(KB_DBCurPrgInd) + 16)
  421. #define KB_NVM_SEARCH_INFO_ADDR (KB_NVM_CUR_PGM_ADDR + KB_NVM_CUR_PGM_SIZE)
  422. #define KB_NVM_SEARCH_INFO_SIZE (sizeof(KB_DBSrchInfo) + 16)
  423. #define KB_NVM_MAIL_INDEX_ADDR     (KB_NVM_SEARCH_INFO_ADDR + KB_NVM_SEARCH_INFO_SIZE)
  424. #define KB_NVM_MAIL_INDEX_SIZE (sizeof(KB_DBMailIndex) + 16)
  425. #define KB_NVM_FAV_DTV_ADDR (KB_NVM_MAIL_INDEX_ADDR + KB_NVM_MAIL_INDEX_SIZE)
  426. #define KB_NVM_FAV_DTV_SIZE     (sizeof(KB_DBFavDtvInfo) + 16)
  427. #define KB_NVM_FAV_RAD_ADDR (KB_NVM_FAV_DTV_ADDR + KB_NVM_FAV_DTV_SIZE)
  428. #define KB_NVM_FAV_RAD_SIZE     (sizeof(KB_DBFavRadInfo) + 16)
  429. #define KB_NVM_DTV_PGM_CFG_ADDR (KB_NVM_FAV_RAD_ADDR + KB_NVM_FAV_RAD_SIZE)
  430. #define KB_NVM_DTV_PGM_CFG_SIZE (sizeof(KB_DBPrgConfigNode) * KB_DB_MAX_DTV + 16)
  431. #define KB_NVM_RAD_PGM_CFG_ADDR (KB_NVM_DTV_PGM_CFG_ADDR + KB_NVM_DTV_PGM_CFG_SIZE)
  432. #define KB_NVM_RAD_PGM_CFG_SIZE (sizeof(KB_DBPrgConfigNode) * KB_DB_MAX_RAD + 16)
  433. //added by whale 07/05/25 start
  434. #define KB_NVM_DATA_PGM_CFG_ADDR (KB_NVM_RAD_PGM_CFG_ADDR + KB_NVM_RAD_PGM_CFG_SIZE)
  435. #define KB_NVM_DATA_PGM_CFG_SIZE (sizeof(KB_DBPrgConfigNode) * KB_DB_MAX_DATA + 16)
  436. //added by whale 07/05/25 end
  437. //masked by whale 07/06/25 start
  438. //#define KB_NVM_UPDATEFLAG            (KB_NVM_DATA_PGM_CFG_ADDR + KB_NVM_RAD_PGM_CFG_SIZE)
  439. //#define KB_NVM_UPDATEFLAG_SIZE 0x80
  440. //#define KB_NVM_LOGO_INFO_FLAG        (KB_NVM_UPDATEFLAG + KB_NVM_UPDATEFLAG_SIZE)
  441. //#define KB_NVM_LOGO_INFO_FLAG_SIZE   0x2
  442. //#define KB_NVM_LOGO_INFO_ADDR (KB_NVM_LOGO_INFO_FLAG + KB_NVM_LOGO_INFO_FLAG_SIZE)
  443. //#define KB_NVM_LOGO_INFO_ADDR_SIZE   0x2
  444. //masked by whale 07/06/25 end
  445. #define KB_NVM_SERVICELIST_INFO_ADDR     (KB_NVM_DATA_PGM_CFG_ADDR + KB_NVM_DATA_PGM_CFG_SIZE)
  446. #define KB_NVM_SERVICELIST_INFO_SIZE       (sizeof(KB_DBListInfo) + 16 )
  447. //added by yyj 2007.6.19 start
  448. #define  KB_NVM_STB_INFO_ADDR    KB_NVM_SERVICELIST_INFO_ADDR +  KB_NVM_SERVICELIST_INFO_SIZE
  449. #define  KB_NVM_STB_INFO_SIZE     (sizeof(KB_DBSTBInfo) + 16)
  450. //added by yyj 2007.6.19 end
  451. //TEMP USE
  452. #define  KB_NVM_TIME_DATA_OFFSET KB_NVM_STB_INFO_ADDR+KB_NVM_STB_INFO_SIZE
  453. #define  KB_NVM_LAST_PROGRAM_TYPE_OFFSET KB_NVM_TIME_DATA_OFFSET+4
  454. #define  KB_NVM_LAST_PROGRAM_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+5
  455. #define  KB_NVM_LAST_RADIO_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+7
  456. #define  KB_NVM_LAST_VBI_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+9
  457. #define  KB_NVM_LAST_PINCODE_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+11
  458. #define  KB_NVM_LAST_MENUCONTROL_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+16
  459. #define  KB_NVM_LAST_BANNER_DISPTIME_OFFSET KB_NVM_TIME_DATA_OFFSET+18
  460. #define  KB_NVM_LAST_TRANSPARENCY_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+22
  461. #define  KB_NVM_LAST_VOLUME_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+23
  462. #define  KB_NVM_LAST_SOFTVER_DATA_OFFSET KB_NVM_TIME_DATA_OFFSET+25
  463. //modified by whale 07/06/26 start
  464. #define  KB_NVM_VIDEO_DISPLAY_MODE_OFFSET KB_NVM_TIME_DATA_OFFSET+27// 视频制式
  465. #define  KB_NVM_VIDEO_ASPECT_RATIO_OFFSET KB_NVM_TIME_DATA_OFFSET+28// 屏幕宽高比
  466. #define  KB_NVM_CONFIG_AUDIO_VOLUME_OFFSET          KB_NVM_TIME_DATA_OFFSET+29//统一音量
  467. #define  KB_NVM_CONFIG_AUDIO_TRACK_OFFSET KB_NVM_TIME_DATA_OFFSET+30// 统一声道
  468. #define  KB_NVM_CONFIG_ADULT_RANK_OFFSET KB_NVM_TIME_DATA_OFFSET+31// 成人级别
  469. #define  KB_NVM_CONFIG_MENU_LANG_OFFSET KB_NVM_TIME_DATA_OFFSET+32// 菜单语言
  470. #define  KB_NVM_CONFIG_MENU_TRAN_OFFSET KB_NVM_TIME_DATA_OFFSET+33// 菜单透明度
  471. //modified by whale 07/06/26 end
  472. #define  KB_NVM_DEMAND_INFO_ADDR KB_NVM_TIME_DATA_OFFSET+34//N BYTE
  473. void KB_DBAddPrgInfo(KB_DBPrgNode *prginfo, UINT16 prgSum,unsigned short *addDtv,unsigned short *addMusic);
  474. KB_DBRET KB_DBSaveChlInfo(UINT8 addtype,UINT16 OrgNetID,UINT16  tsID,
  475.    UINT16 Freq, UINT16 Symb, UINT8 QAM);
  476. KB_DBRET KB_DBSaveNitInfo(KB_DBNetInfo *ptNetworkInfo);
  477. UINT16 KB_DBGetPrgTotal(UINT8 nPrgType);
  478. KB_DBRET KB_DBSaveDemandInfo(UINT16 size, UINT8 *buff );
  479.   KB_DBRET KB_DBGetDemandInfo(UINT16 size, UINT8 *buff );
  480. UINT16 KB_DBGetFavPrgTotal(UINT8 nPrgType);
  481. KB_DBRET KB_DBGetPrgInfo(UINT16 nPrgInx,UINT8 nPrgType,KB_DBPrgInfo *pPrgInfo,KB_DBChnnlInfo *pChnnlInfo,
  482. UINT8 *pTrack,UINT8 *pbVolume,UINT8 *pLockFlag);
  483. KB_DBRET KB_DBGetPrgConfig(UINT8 PgmType, UINT16 PgmNo);
  484. void KB_DBGetFavPrgInfo(UINT8 type, UINT16 *pNum, UINT16 PrgIndex[]);
  485. void KB_DBFavPrgRefresh(void);
  486. KB_DBRET KB_DBAddFavPrg(UINT8 type, UINT16 TsId, UINT16 SrvId);
  487. BOOL KB_DBIsSrvLocked(UINT8 type, UINT16 nPrgInx);
  488. void KB_DBGetLockSrvInfo(UINT8 type, UINT16 *pNum, UINT16 PrgIndex[]);
  489. UINT8 KB_DBUnlockSrv(unsigned char type, UINT16 nPrgInx);
  490. UINT8 KB_DBLockSrv(unsigned char type, UINT16 nPrgInx);
  491. UINT16 KB_DBDelPrgInfoByTsidSrvid(UINT8 type, UINT16 Tsid, UINT16 SvcID);
  492. void KB_DBDelFavPrg(unsigned char type, UINT16 TsId, UINT16 SrvId);
  493. KB_DBRET KB_DBGetChlNoByModPara(UINT16 pFreq,UINT16 wSymb,UINT8 bQam,UINT8 *pbChannelNo);
  494. KB_DBRET KB_DBGetModParaByChlNo(UINT8 bChannelNo,UINT16 *pFre,UINT16 *pSymb,UINT8 *pQam);
  495. KB_DBRET KB_DBGetSrchInfo(KB_DBSrchInfo* pSrchInfo);
  496. KB_DBRET KB_DBSaveSrchInfo(KB_DBSrchInfo *pSrchInfo);
  497. KB_DBRET KB_DBGetCurPrgInfo(unsigned short *pPrgNO, unsigned char *pPrgType);
  498. KB_DBRET KB_DBSaveCurPrgInfo(unsigned short nPrgNO, unsigned char nPrgType);
  499. //KB_DBRET KB_DBSaveTrackAndVolume(UINT16 nPrgNO,UINT8 nPrgType,UINT8 bTrackVol);
  500. KB_DBRET KB_DBChangePrgInfo(UINT16 nPrgInx, UINT8 nPrgType, KB_DBPrgInfo *pPrgInfo);
  501. INT32 KB_DBGetSvc2_TSID(INT32 nTsId,INT32 nPrgType,INT32 *pSvcID1,INT32 nCount1,INT32 *pSvcID2,INT32 nCount2);
  502. KB_DBRET KB_DBGetSysPara(KB_DBSysInfo *pSysPara);
  503. KB_DBRET KB_DBSaveSysPara(KB_DBSysInfo *pSysPara);
  504. KB_DBRET KB_DBGetPwdInfo(KB_DBPwdInfo *pPwdInfo);
  505. KB_DBRET KB_DBSavePwdInfo(KB_DBPwdInfo *pPwdInfo);
  506. KB_DBRET KB_DBResetChnnlInfo(UINT8 bType);
  507. KB_DBRET KB_DBResetDtvInfo(UINT8 bType);
  508. KB_DBRET KB_DBResetRadInfo(UINT8 bType);
  509. //added by whale 07/05/25
  510. KB_DBRET KB_DBResetDataInfo(UINT8 bType);
  511. KB_DBRET KB_DBGetAllPrgConfig(void);
  512. KB_DBRET KB_DBSavePrgInfo(int saveType);
  513. KB_DBRET KB_DBGetTsIDByFre(UINT16 *TsID,unsigned long Fre);
  514. UINT8 KB_DBGetNvodNum(void);
  515. KB_DBRET KB_DBSaveNvodInfo(KB_SIRefSvcCell AddNvodInfo);
  516. KB_DBRET KB_DBSaveChlPatVer(UINT16  Freq,UINT8 patVer);
  517. KB_DBRET KB_DBSaveChlSdtVer(UINT16  Freq,UINT8 sdtVer);
  518. KB_DBRET KB_DBSaveToFlash(void);
  519. KB_DBRET KB_DBReset(void);
  520. KB_DBRET KB_DBGetMailNum(UINT8 *pMailNum);
  521. KB_DBRET KB_DBSavePrgAVPara(UINT16 nPrgNO, UINT8 nPrgType,unsigned short nPcrPID, 
  522.                                        unsigned short nAudioPID, 
  523.                                        unsigned short nVideoPID);
  524. KB_DBRET KB_DBInit(void);
  525. //KB_DBRET KB_DBSaveCurPrg(unsigned short nPrgNO, unsigned char nPrgType);
  526. KB_DBRET KB_DBSaveCAFlagByPrgNo(int type,unsigned short nPrgNO,unsigned char i_bCAFlag);
  527. UINT16 KB_DBGetSvcIDByNO(UINT8 prgType, UINT16 prgInx);
  528. //KB_DBRET KB_DBSavePrgFavFlag(UINT8 FavType,UINT16 nNumPrg, UINT8 nPrgType, UINT16 *pPrgToAdd);
  529. KB_DBRET KB_DBGetChnlInfoByTsID(UINT16 TSID,unsigned short *pFreq,unsigned short *pSymbl,unsigned char  *pQam);
  530. unsigned short KB_DBGetChnlInfoByPrgNO(UINT8 prgType,unsigned short nPrgNO,unsigned long * pFrea,unsigned long * pSymb,unsigned char * pQam);
  531. unsigned short KB_DBGetPrgAvInfoByPrgNo(UINT8 prgType,unsigned short nPrgNO,KB_DBPRGPID *pPgmPid);
  532. unsigned short KB_DBGetPrgPMT(UINT8 prgType,unsigned short nPrgNO,unsigned short * pPmtPID,unsigned short * pSvcID);
  533. char  KB_DBGetPrgTrace(UINT8 bPrgType,unsigned short nSvcNO);
  534. unsigned char * KB_DBGetPrgName(UINT8 type,int nPrgNO);
  535. unsigned short KB_DBGetPrgTsID(UINT8 type,int nPrgNO);
  536. unsigned char  KB_DBGetPatVerByPrgNo(UINT8 prgType,unsigned short nPrgNO);
  537. unsigned short KB_DBGetCAFlagByPrgNo(int type,unsigned short nPrgNO);
  538. unsigned char KB_DBGetPmtVerByPrgNo(UINT8 prgType,unsigned short nPrgNO);
  539. unsigned char  KB_DBGetSdtVer(UINT8 prgType,unsigned short nSvcNO);
  540. KB_DBRET  KB_DBSaveTrace(UINT8 bPrgType,unsigned short nPrgNO,UINT8  nTrack);
  541. unsigned char KB_DBGetVolumeByPrgNo(unsigned char *pVolume, unsigned char bType,unsigned short nPrgNO);
  542. KB_DBRET KB_DBSaveVolume(unsigned char nVolume, UINT8 bPrgType,unsigned short nPrgNO);
  543. unsigned char KB_DBGetZone(signed char *pTimeZone);
  544. //added by lsp 07/3/14
  545. unsigned char KB_DBSaveZone(signed char pTimeZone);
  546. UINT32 KB_DBGetTimeDateUserOffset(void);
  547. void KB_DBSaveTimeDateUserOffset(UINT32 tDUserOffset);
  548. //added by lsp 07/3/14
  549. unsigned char KB_DBGetLanguageFlag(void);
  550. KB_DBRET KB_DBSaveLanguageFlag(UINT8 nLanFlag);
  551. //KB_DBRET KB_DBSaveCurPrg(unsigned short nPrgNO, unsigned char nPrgType);
  552. void KB_DBSwitchProInfo(UINT8 nPrgType ,int oldnitem,int newnitem);
  553. UINT16 KB_DBGetPrgNoByFavIndex(UINT8 nPrgType ,int Favindex);
  554. //added by whale 07/06/01
  555. void KB_DBClearAllProg (void);
  556. KB_DBRET KB_DBReset(void);
  557. //added by yyj 2007.6.14 start
  558. KB_DBRET KB_DBSavePgmCurVol(UINT8 buff );
  559. KB_DBRET KB_DBGetPgmCurVol(UINT8 *buff );
  560. //added by yyj 2007.6.14 end
  561. //added by yyj 2007.6.15 start
  562. //序列号
  563. KB_DBRET KD_DBGetSerialNumInfo(UINT16 size, UINT8 *buff);
  564. KB_DBRET KD_DBSaveSerialNumInfo(UINT16 size, UINT8 *buff);
  565. //added by yyj 2007.6.15 end
  566. //added by yyj 2007.6.19 start
  567. //机顶盒信息
  568. KB_DBRET KB_DBSaveSTBInfo(KB_DBSTBInfo buff );
  569. KB_DBRET KB_DBGetSTBInfo(KB_DBSTBInfo *buff );
  570. //added by yyj 2007.6.19 end
  571. //added by yyj 2007.6.27 start
  572. KB_DBRET KB_DBSaveVideoDispMode(UINT8 buff );
  573. KB_DBRET KB_DBGetVideoDispMode(UINT8 *buff );
  574. KB_DBRET KB_DBSaveVideoAspectRatio(UINT8 buff );
  575. KB_DBRET KB_DBGetVideoAspectRatio(UINT8 *buff );
  576. KB_DBRET KB_DBSavePgmCurTrack(UINT8 buff );
  577. KB_DBRET KB_DBGetPgmCurTrack(UINT8 *buff );
  578. KB_DBRET KB_DBSaveAdultRank(UINT8 buff );
  579. KB_DBRET KB_DBGetAdultRank(UINT8 *buff );
  580. KB_DBRET KB_DBSaveMenuLan(UINT8 buff );
  581. KB_DBRET KB_DBGetMenuLan(UINT8 *buff );
  582. KB_DBRET KB_DBSaveMenuTran(UINT8 buff );
  583. KB_DBRET KB_DBGetMenuTran(UINT8 *buff );
  584. //added by yyj 2007.6.27 end
  585. //added by yyj 2007.7.11
  586. KB_DBRET KB_DBSaveOtaPara(KB_DBOtaPara *buff);
  587. UINT16 KD_GetPrgInxBySvcID(UINT8 PrgType, UINT16 ServiceID);
  588. UINT16 KD_GetPrgInxByTsidSvcID(UINT8      PrgType,
  589.                                   UINT16     Tsid,   
  590.                                   UINT16     ServiceID);
  591. KB_DBRET KD_ResetCurPrgInfo(void);
  592. void KB_DBGetFavPrgInfoInE2p(UINT8 type, void *pInfo);
  593. void KB_DBE2pCfgInfoRefresh(UINT8 nPrgType);
  594. KB_DBRET KB_DBGetNvodInfo(KB_SIRefSvcCell * pRefSvcInfo, int * o_pNums);
  595. KB_DBRET KD_ResetDemandInfo(void);
  596. #endif
  597. /* EOF */