/** * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved. * * @file * Common macros, declarations and definitions of Terrestrial Database. * * @author jun.luo * */ #ifndef _SDB_H_ #define _SDB_H_ #include "db_common.h" #ifdef __cplusplus extern "C"{ #endif /** * @addtogroup DVBT_APIS Common macros, declarations and definitions of Terrestrial Database. * @{ */ /** Exported constants */ enum { SDB_MAX_PRIVDATA = 0, /**< Max private data length in bytes */ }; /** * @Note !!!!!!!!!!!!!!! * If you have modified the following three structures(SDBNetworkInfo_t, SDBNetworkInfo_t and SDBServInfo_t), * Please don't forget to call genDBSymbol.pl manually to refresh the DB Symbol Information(which used by Get/UpdateRecordbysymbol) */ /** Network details define for Satellite Database */ typedef struct SDBNetworkInfo { UINT8 uc22KHz; /**< on/off/auto */ UINT8 ucTunerHideFlag; UINT8 uc12Volt; /**< on/off */ UINT8 ucLNBPower; /**< on/off */ UINT8 ucToneBurstType; /**< a/b/none */ UINT8 ucDiseqcType; /**<1.0/1.1/1.2/none */ UINT8 ucDiseqc10Port; /**< 0~4 */ UINT8 ucDiseqc11Port; /**< 0~16 */ UINT8 ucEastWest; /**<0 : east/ 1: west */ UINT8 ucMotorMode; UINT8 ucPosition; UINT8 szNetName[DB_DVB_MAX_NETNAME_LEN]; /**< Area Name */ UINT32 iLongitude; UINT32 uiLNBFreq; UINT8 ucUniState; /**< Unicable status, 0: off; 1:on */ UINT8 ucUniIFIdx; /**< Unicable IF User Band Index */ UINT8 ucUniIfSatPos;/**< Unicable Satellite Position */ UINT16 usUniIFFreq;/**< Unicable IF User Band Freq */ } SDBNetworkInfo_t; /** Multiplex details define for Satellite Database */ typedef struct SDBMultiplexInfo { UINT8 szTpName[DB_DVB_MAX_MULTIPNAME_LEN]; /**< Transponder Name */ UINT32 usFreqM; /**< tuning frequency in KHz */ UINT16 usTsId; /**< transport stream id */ UINT16 usOrigNetId; /**< usOrigNetId */ UINT16 usSymRateK; /**< transponder symbrate */ UINT16 usEMMPID; /**< emm pid*/ UINT8 ucVCRate; UINT8 ucSkew; /**< transponder polarization */ UINT8 ucSignalQuality; /**< multiplex signal quality*/ UINT8 ucSignalStrength; /**< multiplex signal Strength*/ UINT16 usNetId; /**< Network id */ UINT8/*EDVBDeliveryType_t*/ ucTp_dvb_type; /**< DVB-S delivery type(S or S2) */ UINT8 modulation; /***/ UINT8 ucCode_rate; /***/ UINT8 ucSpec_inver; /***/ } SDBMultiplexInfo_t; /** Service details define for Satellite Database */ typedef struct SDBServInfo { UINT8 szProgName[DB_DVB_MAX_CHNAME_LEN]; /**< program name*/ UINT8/*EServSDTType_t*/ eSDTSrvType; /**< service type in Service Descriptor of SDT*/ UINT8/*EServiceType_t*/ eTvRadioType; /**< TV/Radio or Data Service */ UINT16 usProgNo; /**< program logic number */ UINT16 usUserProgNo; UINT16 usProgOrderMulSat; /**< the member used to record the last channel order before scan new satellite */ UINT16 usServiceId; /**< service id */ UINT16 usTsId; /**< transport stream id for sdt/nit */ UINT16 usTsId_pat; /**< transport stream id for pat */ UINT16 usOrigNetId; /**< original network id */ DBPIDInfo_t stVideoPid; /**< video pid info,include data pid and ecm pid*/ DBPIDInfo_t stAudioPid[DB_DVB_MAX_AUDIO_NUM]; /**< audio pid info,include data pid and ecm pid the 3rd one is AD */ UINT16 usPcrPid; /**< pcr pid */ DBServAttrib_t stProgAttrib; /**< program attribute*/ UINT16 usPMTPid; /**< PMT pid */ UINT16 usOrgLcn; /**< LCN carried in LCD(Logical Channel Desriptor) in NIT */ UINT16 usHDSimulLcn; /**< LCN carried in HD simulcast LCN descriptor in NIT */ DBPIDInfo_t stPrvPid[DB_DVB_MAX_PRV_COMP_NUM]; /**< for private components, which may use in MHEG5 applications */ UINT8 szlangCode3[4]; UINT16 usCASystemID; /**< CA system id */ UINT16 usLinkOrgNetID; UINT16 usLinkServiceID; DBTRDCodeInfo_t stTrd[DB_DVB_MAX_SRV_TRD]; /**< Used by D-Book(UK) in fact currently */ UINT8 acPrivateData[SDB_MAX_PRIVDATA]; UINT8 szCASSystem[CAS_MAX]; DBCIProtection_t usCIShunningData; /** CI Shunning data */ UINT16 usSatIndex; /** satellite index */ #ifdef CONFIG_SUPPORT_SUBTITLE_SAVETO_DB UINT8 usSubIdx; #endif #ifdef CONFIG_SUPPORT_SUBTITLE_SAVE_LANGCODE_TO_DB UINT8 stSubtitleLangCode[4]; /**< subtitle pid info,include data pid and ecm pid*/ #endif } SDBServInfo_t; /** * @} */ #ifdef __cplusplus } #endif #endif