fyf_ca.h
上传用户:sunhongbo
上传日期:2022-01-25
资源大小:3010k
文件大小:18k
源码类别:

数据库系统

开发平台:

C/C++

  1. #ifndef __FYF_CA_H__
  2. #define __FYF_CA_H__
  3. /*-------------------------------------------------------------------------------
  4. -------------------------------------------------------------------------------*/
  5. typedef enum
  6. {
  7. FYF_CA_SV_MAIL_HEAD, /* 读取邮件头 */
  8. FYF_CA_SV_MAIL_BODY, /* 读取邮件正文,最多包含512个有效字节,不包含NULL */
  9. FYF_CA_SV_MSG, /* 读取CA消息,最多包含128个有效字节,不包含NULL */
  10. FYF_CA_SV_PPV,          /* 订购或退订当前PPV,订购使用FYF_TRUE,退订使用FYF_FALSE */
  11. FYF_CA_SV_OPERATOR_INFO,/* 获得所有运营商信息 */
  12. FYF_CA_SV_MONEY_INFO, /* 获得电子钱包信息 */
  13. FYF_CA_SV_CORRESPOND_INFO, /* 子母卡配对信息 */
  14. FYF_CA_SV_EMAIL_COUNT, /* 获取邮件总数 */
  15. FYF_CA_SV_EMAIL_READED, /* 邮件已读 */
  16. FYF_CA_SV_EMAIL_DEL, /* 删除邮件 */
  17. FYF_CA_SV_WORK_TIME, /* 工作时段 */
  18. FYF_CA_SV_VERIFY_PIN, /* 检查PIN */
  19. FYF_CA_SV_GET_BOOK_IPP, /* 获取IPP节目信息 */
  20. FYF_CA_SV_VIEWED_PPV, /* 已观看IPPV*/
  21. FYF_CA_SV_IPP_OVER,     /* 实时订购结束*/
  22. FYF_CA_SV_RATING, /* 修改成人级 */
  23. FYF_CA_SV_SEVICE_ENTITLE, /*授权信息*/
  24. FYF_CA_SV_CARD_INFO,  /*卡基本信息*/
  25. FYF_CA_SV_PIN_LOCK,  /*pin是否被锁*/
  26. FYF_CA_SV_AREA_INFO,  /*区域信息*/
  27. FYF_CA_SV_MOTHER_INFO,  /*母卡卡号*/
  28. FYF_CA_SV_CHANGE_PIN, /*修改PIN*/
  29. FYF_CA_SV_CARD_STATE, /* 获得卡状态 */
  30. FYF_CA_SV_MSG_OVER, /* 信息显示完成通知 */
  31. FYF_CA_SV_BOOK_UNBOOK, /* 订购或退订*/
  32. FYF_CA_SV_CAS_ID_VERIRY, /* 检查CASID */
  33. FYF_CA_SV_SWITCH_CHANNEL_OVER, /* 单频点区域锁定结束 */
  34. FYF_CA_SV_CARD_IN /* 判断卡有没有插入 */
  35. }FYF_CA_SV_e;
  36. /*-------------------------------------------------------------------------------
  37. -------------------------------------------------------------------------------*/
  38. typedef enum
  39. {
  40. FYF_CA_NOTIFY_CARD_OUT, /* 拔卡通知 */
  41. FYF_CA_NOTIFY_CARD_IN, /* 插卡通知 */
  42. FYF_CA_NOTIFY_MAIL, /* 邮件通知 */
  43. FYF_CA_NOTIFY_MSG, /* 消息通知 */
  44. FYF_CA_NOTIFY_PPV, /* PPV通知  */
  45. FYF_CA_NOTIFY_APP_LOCKED,   /* 服务被锁定 */
  46. FYF_CA_NOTIFY_CARD_LOCKED,  /* 智能卡已锁定 */
  47. FYF_CA_NOTIFY_NOT_AUTHORED, /* 本节目没有授权 */
  48. FYF_CA_NOTIFY_CARD_NOTFOUND,/* 找不到智能卡 */
  49. FYF_CA_NOTIFY_NO_MONEY, /* 智能卡余额不足 */
  50. FYF_CA_NOTIFY_EXTER_AUTHEN, /* 智能卡认证错误 */
  51. FYF_CA_NOTIFY_PIN_AUTHEN, /* 配对错误 */
  52. FYF_CA_NOTIFY_NOREG_CARD, /* 智能卡未注册 */
  53. FYF_CA_NOTIFY_ILLEGAL_CARD, /* 智能卡出错 */
  54. FYF_CA_NOTIFY_SCARD_NOT_ACT,/* 激活子卡 */
  55. FYF_CA_NOTIFY_SCARD_DISABLE,/* 子卡激活时间到 */
  56. FYF_CA_NOTIFY_ZONE_CODE, /* 区域码错误 */
  57. FYF_CA_NOTIFY_APP_STOP, /* 智能卡暂停服务 */
  58. FYF_CA_NOTIFY_APP_RESUME, /* 智能卡恢复服务 */
  59. FYF_CA_NOTIFY_PROG_UNAUTH,  /* 取消节目订购 */
  60. FYF_CA_NOTIFY_PROG_AUTH, /* 增加节目订购 */
  61. FYF_CA_NOTIFY_EN_PARTNER, /* 启用机卡配对模式 */
  62. FYF_CA_NOTIFY_DIS_PARTNER, /* 取消机卡配对模式 */
  63. FYF_CA_NOTIFY_UPDATE_GNO, /* 智能卡状态已修改 */
  64. FYF_CA_NOTIFY_UPDATE_GK, /* 智能卡升级,请插拔卡 */
  65. FYF_CA_NOTIFY_CHARGE, /* 帐户远程充值 */
  66. FYF_CA_NOTIFY_FIGEIDENT, /* 指纹识别 */
  67. FYF_CA_NOFITY_SONCARD, /* 设置子母卡 */
  68. FYF_CA_NOFITY_URGENT_SERVICE,/*紧急服务通知 */
  69. FYF_CA_NOTIFY_MODIFY_ZONECODE,/*智能卡区域码已修改 */
  70. FYF_CA_NOTIFY_LOADER, /* 收到升级数据 */
  71. FYF_CA_EMAIL_NEW, /* 新邮件通知 */
  72. FYF_CA_EMAIL_NEW_NO_ROOM, /* 邮箱已满通知 */
  73. FYF_CA_EMAIL_NONE, /* 没有邮件通知 */
  74. FYF_CA_NOTIFY_SCROLL_MSG, /* 滚动消息通知 */
  75. FYF_CA_NOTIFY_SHOW_PROMPT,  /* 显示提示信息*/
  76. FYF_CA_NOTIFY_HIDE_PROMPT,   /* 隐藏提示信息*/
  77. FYF_CA_NOTIFY_SWITCH_CHANNEL, /* 单频点区域锁定 */
  78. FYF_CA_NOTIFY_AREA_LOCK_OK /* 区域锁定成功 */
  79. }FYF_CA_NOTIFY_e;
  80. #define FYF_CAERR_BASE_STB  0
  81. #define FYF_CAERR_STB_POINTER_INVALID (FYF_CAERR_BASE_STB + 1) //输入的指针无效
  82. #define FYF_CAERR_STB_DATA_LEN_ERROR (FYF_CAERR_BASE_STB + 2) //输入的数据长度不合法
  83. #define FYF_CAERR_STB_TVS_NOT_FOUND (FYF_CAERR_BASE_STB + 3) //没有找到符合要求的运营商
  84. #define FYF_CAERR_STB_EXCEED_MAX_COUNT (FYF_CAERR_BASE_STB + 4) //超过了允许的最大的个数
  85. #define FYF_CAERR_STB_KEY_NOT_FOUND (FYF_CAERR_BASE_STB + 5) //没有找到解密密钥
  86. #define FYF_CAERR_STB_PIN_INVALID (FYF_CAERR_BASE_STB + 6) //输入的PIN码无效
  87. #define FYF_CAERR_STB_PIN_LOCKED (FYF_CAERR_BASE_STB + 7) //PIN码被锁定
  88. #define FYF_CAERR_STB_CMD_INVALID (FYF_CAERR_BASE_STB + 8) //MAC校验错误
  89. #define FYF_CAERR_STB_VER_EXPIRED (FYF_CAERR_BASE_STB + 9) //输入的版本没有IC卡中的大,即数据已经过期
  90. #define FYF_CAERR_STB_EXCEED_MAX_LEN (FYF_CAERR_BASE_STB + 10) //运营商的名称超过最大的长度
  91. #define FYF_CAERR_STB_NO_SPACE (FYF_CAERR_BASE_STB + 11) //已经没有空间
  92. //#define FYF_CAERR_STB_IS_PAIRED (FYF_CAERR_BASE_STB + 12) //智能卡与当前机顶盒对应
  93. #define FYF_CAERR_STB_NOT_PAIRED (FYF_CAERR_BASE_STB + 13) //智能卡与当前机顶盒没有对应
  94. //#define FYF_CAERR_STB_COUNT_ISZERO (FYF_CAERR_BASE_STB + 14) //输入的Count为0. 
  95. #define FYF_CAERR_STB_WORKTIME_INVALID (FYF_CAERR_BASE_STB + 15) //工作时段设置不合法,可能是时间不在00:00:00~23:59:59之间,或者开始时间大于结束时间。
  96. //#define FYF_CAERR_STB_OVERFLOW (FYF_CAERR_BASE_STB + 16)
  97. #define FYF_CAERR_STB_CARD_INVALID (FYF_CAERR_BASE_STB + 17) //智能卡无效
  98. #define FYF_CAERR_STB_Rating_LOW (FYF_CAERR_BASE_STB + 18) //智能卡设置的收看级别比当前收看的节目低
  99. #define FYF_CAERR_STB_UNKNOWN (FYF_CAERR_BASE_STB + 19) //未知错误,STB不做任何提示,可通过卡复位恢复。
  100. //#define FYF_CAERR_STB_EMAILBOX_EMPTY (FYF_CAERR_BASE_STB + 20) //E-mail信箱为空
  101. #define FYF_CAERR_STB_NO_EMAIL (FYF_CAERR_BASE_STB + 21) //没有此E-mail
  102. #define FYF_CAERR_STB_EMAILBOX_FULL (FYF_CAERR_BASE_STB + 22) //E-mail信箱满
  103. //#define FYF_CAERR_STB_NO_SECTION (FYF_CAERR_BASE_STB + 23) //没有收到完整Section
  104. #define FYF_CAERR_STB_MONEY_LACK (FYF_CAERR_BASE_STB + 24) //余额不多,只在预订时会返回该错误,需要提示用户"预订成功,但余额不多,请及时充值"。
  105. #define FYF_CAERR_STB_PROD_NOT_FOUND (FYF_CAERR_BASE_STB + 25) //产品未找到
  106. #define FYF_CAERR_STB_OPER_INVALID (FYF_CAERR_BASE_STB + 26) //产品已存在,不能操作
  107. #define FYF_CAERR_STB_NEED_PIN_PASS (FYF_CAERR_BASE_STB + 27) //需要PIN验证通过
  108. #define FYF_CAERR_STB_IC_COMMUNICATE (FYF_CAERR_BASE_STB + 28) //与IC卡通讯错误
  109. #define FYF_CAERR_STB_SLOT_NOT_FOUND (FYF_CAERR_BASE_STB + 29) //运营商钱包没有发现
  110. #define FYF_CAERR_STB_PRICE_INVALID (FYF_CAERR_BASE_STB + 30) //价格无效
  111. #define FYF_CAERR_STB_PRODUCT_EXPIRED (FYF_CAERR_BASE_STB + 31) //产品已经过期
  112. //xb:20050617 ++
  113. #define FYF_CAERR_STB_EXPIRED (FYF_CAERR_BASE_STB + 33) //产品已经过期
  114. #define FYF_CAERR_IPPREC_NOT_FOUND (FYF_CAERR_BASE_STB + 34) //IPP记录不存在
  115. #define FYF_CAERR_TIME_INVALID (FYF_CAERR_BASE_STB + 35) //当前时间无效
  116. #define FYF_CAERR_NOT_BOOKED (FYF_CAERR_BASE_STB + 37) //产品未预定
  117. #define FYF_CAERR_CONFIRMED (FYF_CAERR_BASE_STB + 38) //产品已经确认
  118. #define FYF_CAERR_UNCONFIRMED (FYF_CAERR_BASE_STB + 39) //产品已经取消确认
  119. #define FYF_CAERR_INPUT_DATA_INVALID (FYF_CAERR_BASE_STB + 40) //输入的数据无效
  120. //xb:20050617 --
  121. //机顶盒遥控器不能取消的显示信息列表
  122. #define FYF_CA_RATING_TOO_LOW 0 //收看级别不够
  123. #define FYF_CA_NOT_IN_WATCH_TIME 1 //不在收看时段内
  124. #define FYF_CA_NOT_PAIRED 2 //没有机卡对应
  125. #define FYF_CA_IS_PAIRED_OTHER 3 //IC卡与其它机顶盒对应
  126. #define FYF_CA_PLEASE_INSERT_CARD 4 //请插卡
  127. #define FYF_CA_NO_ENTITLE 5 //没有购买此节目
  128. #define FYF_CA_PRODUCT_RESTRICT 6 //运营商限制观看该节目
  129. #define FYF_CA_AREA_RESTRICT 7 //运营商限制区域观看
  130. #define FYF_CA_DECRYPT_FAILURE 0xFF //STB不做任何提示。卡通讯问题,通过卡复位可解决
  131. //V2.1新增的提示信息
  132. #define FYF_CA_MOTHER_RESTRICT 8 //此卡为子卡,已经被限制收看,请与母卡配对
  133. #define FYF_CA_NO_MONEY 9 //余额不足,不能观看此节目,请及时充值
  134. #define FYF_CA_IPPV_NO_CONFIRM 10 //此节目为IPPV节目,请到IPPV节目确认/取消购买菜单下确认购买此节目
  135. #define FYF_CA_IPPV_NO_BOOK 11 //此节目为IPPV节目,您没有预订和确认购买,不能观看此节目
  136. #define FYF_CA_IPPT_NO_CONFIRM 12 //此节目为IPPT节目,请到IPPT节目确认/取消购买菜单下确认购买此节目
  137. #define FYF_CA_IPPT_NO_BOOK 13 //此节目为IPPT节目,您没有预订和确认购买,不能观看此节目
  138. #define FYF_CA_IPPV_NO_MONEY 14 //此节目为IPPV节目,余额不足,不能观看,请及时充值
  139. #define FYF_CA_IPPT_NO_MONEY 15 //此节目为IPPT节目,余额不足,不能观看,请及时充值
  140. //xb:20050617
  141. #define FYF_CA_DATA_INVALID 16 //数据无效,STB不做任何提示。卡密钥问题。
  142. #define FYF_CA_SLOT_NOT_FOUND 17 //钱包不存在
  143. #define FYF_CA_SC_NOT_SERVER 18 //IC卡被禁止服务
  144. #define FYF_CA_TVS_NOT_FOUND 19 //运营商不存在
  145. #define FYF_CA_KEY_NOT_FOUND 20 //此卡未被激活,请联系运营商
  146. #define FYF_CA_IPPNEED_CALLBACK 21 //请联系运营商回传IPP节目信息
  147. //wy:20071022-用户自定义数据类型
  148. #define FYF_CA_BOUQUETID 254 //自定义数据类型-Bouquet_id
  149. //kfd:2007-11-16---字符串语言类型
  150. #define FYF_CA_LANG_CHN_SIM 1 //简体中文(默认)
  151. #define FYF_CA_LANG_ENG 2 //英文
  152. /*-------------------------------------------------------------------------------
  153. -------------------------------------------------------------------------------*/
  154. typedef enum
  155. {
  156. FYF_CA_CARD_STATE_IN, /* 卡插入 */
  157. FYF_CA_CARD_STATE_OUT, /* 卡拔出 */
  158. FYF_CA_CARD_STATE_NORMAL /* 卡正常 */
  159. }FYF_CA_CARD_STATE_e;
  160. /*-------------------------------------------------------------------------------
  161. -------------------------------------------------------------------------------*/
  162. typedef enum
  163. {
  164. FYF_STB_DATA_LEN_ERROR = 1,
  165. FYF_STB_PIN_INVALID,
  166. FYF_STB_PIN_LOCKED
  167. }FYF_CA_PIN_e;
  168. /*-------------------------------------------------------------------------------
  169. -------------------------------------------------------------------------------*/
  170. #define FYF_CA_Debug soc_printf
  171. /*-------------------------------------------------------------------------------
  172. -------------------------------------------------------------------------------*/
  173. typedef struct
  174. {
  175. unsigned short  m_wCaSysID; //CA ID /* 090108 */
  176. unsigned short  m_wEcmPid; //加扰的ECMPID
  177. unsigned short  m_wServiceID; //所处频道的ServiceID
  178. }FYF_Ecm_Info_s;
  179. /*-------------------------------------------------------------------------------
  180. -------------------------------------------------------------------------------*/
  181. typedef struct _FYF_DATE_s
  182. {
  183.     BU32   m_mjd;//日期编码
  184. BU16   m_year;
  185. BU08   m_month;
  186. BU08   m_day;
  187. BU08   m_weekday;
  188. BU08   m_hour;
  189. BU08   m_min;
  190. BU08   m_sec;
  191. }FYF_Date_s;
  192. /*-------------------------------------------------------------------------------
  193. -------------------------------------------------------------------------------*/
  194. typedef struct _FYF_CA_MailInfo_s
  195. {
  196. BU08 title[21];  /*标题*/
  197. BU08 sender[21]; /*发送者*/
  198. BU08 bNew; /*是否为新邮件, 1:是 0:已读*/
  199. FYF_Date_s date; /*发送时间*/
  200. }FYF_CA_MailInfo_s;
  201. /*-------------------------------------------------------------------------------
  202. -------------------------------------------------------------------------------*/
  203. typedef struct _FYF_CA_Money_s
  204. {
  205. BU32 m_paid; //已花钱数
  206. BU32 m_balance; //余额
  207. }FYF_CA_Money_s;
  208. /*-------------------------------------------------------------------------------
  209. -------------------------------------------------------------------------------*/
  210. typedef struct _FYF_CA_WorkTime_s
  211. {
  212. BU08 byStartHour;
  213. BU08 byStartMinute;
  214. BU08 byEndHour;
  215. BU08 pbyEndMinute;
  216. }FYF_CA_WorkTime_s;
  217. /*-------------------------------------------------------------------------------
  218. -------------------------------------------------------------------------------*/
  219. typedef struct _FYF_CA_TvsInfo{
  220. BU16 m_wTVSID;  //运营商的外部编号
  221. char m_szTVSName[21]; //运营商名称
  222. }FYF_CA_TvsInfo;
  223. typedef struct _FYF_CA_Entitle_s
  224. {
  225. BU16 TVSID;  //运营商编号
  226. BU08 pEntitleCount; //产品总数
  227. }FYF_CA_Entitle_s;
  228. typedef struct _FYF_CA_ServiceEntitle{
  229. BU16  m_wProductID; //产品ID
  230. BU32 m_tEntitleTime; //授权时间,time_t格式。
  231. BU32 m_tStartTime; //开始时间,time_t格式。
  232. BU32 m_tEndTime; //结束时间,time_t格式。
  233. char m_szProductName[21]; //产品名称
  234. BU08 m_bTapingFlag; //录像标识。
  235. }FYF_CA_ServiceEntitle_s; //普通产品授权
  236. /*-------------------------------------------------------------------------------
  237. -------------------------------------------------------------------------------*/
  238. typedef struct _FYF_CA_Ipp_s{
  239. BU16 m_wTVSID; //运营商编号
  240. BU16 m_wProdID; //产品ID
  241. BU08 m_bySlotID; //钱包ID
  242. BU08 m_szProdName[21]; //产品名称
  243. BU32 m_tStartTime; //开始时间,time_t格式。
  244. BU32 m_dwDuration; //持续秒数
  245. BU08 m_szServiceName[21]; //业务名称
  246. BU16 m_wCurTppTapPrice; //当前的不回传、能录像价格(分),价格类型值为0
  247. BU16 m_wCurTppNoTapPrice; //当前的不回传、不可录像价格(分),价格类型值为1
  248. BU16 m_wCurCppTapPrice; //当前的要回传、能录像价格(分),价格类型值为2
  249. BU16 m_wCurCppNoTapPrice; //当前的要回传、不可录像价格(分),价格类型值为3
  250. BU16 m_wBookedPrice; //已经预订的价格(分)
  251. BU08 m_byBookedPriceType; //已经预订的价格类型,取值范围0~3
  252. BU08 m_byBookedInterval; //预订收费间隔,单位分钟
  253. BU08 m_byCurInterval; //当前收费间隔,单位分钟
  254. BU08 m_byIppStatus; //Ipp产品状态
  255. }FYF_CA_Ipp_s;
  256. typedef struct _FYF_CA_ViewedIpp{
  257. BU16 m_wTVSID; //运营商编号
  258. char m_szProdName[21]; //产品名称
  259. BU32 m_tStartTime; //开始时间,time_t格式。
  260. BU32 m_dwDuration; //持续秒数
  261. BU16 m_wBookedPrice; //预订价格(分)
  262. BU08 m_byBookedPriceType; //预订价格类型:0:TppTap;1:TppNoTap;2:CppTap;3:CppNoTap;
  263. BU08 m_byBookedInterval; //预订收费间隔,单位分钟,IPPV时此值为0
  264. char    m_szOtherInfo[44]; //ippv时为“此产品为ippv产品”,ippt时为“观看总时间:?分钟,扣钱总数:?分”
  265. }FYF_CA_ViewedIpp_s;
  266. typedef struct _FYF_CA_ManuInfo{
  267. BU32 m_dwCardID; //卡内部ID
  268. BU08 m_byszSerialNO[64]; //外部卡号
  269. BU32 m_dwSTBCASVer; //机顶盒CAS模块的版本号
  270. char m_szSCCASManuName[21]; //CAS供应商的名称
  271. BU32 m_dwSCCASVer; //智能卡CAS的版本号
  272. BU32 m_dwSCCOSVer; //SC的版本号,也就是SC中COS的版本号
  273. BU32 m_tSCExpireDate; //智能卡的有效期,由STB初始化时判断,如果过期,给用户一个提示,但可以继续使用。time_t时间格式。
  274. }FYF_CA_ManuInfo;
  275. typedef struct _FYF_CA_AreaInfo{
  276. BU32 m_dwCardArea; //卡的区域码
  277. BU32 m_tSetCardAreaTime; //设定区域时间。
  278. BU08 m_byStartFlag; //启动标志。1:启动;0:没有。
  279. BU32 m_tSetFlagTime; //设置标志时间。
  280. BU32 m_tSetStreamTime; //设置特征码流的时间。
  281. BU32 m_dwIntervalTime; //卡中当前时间减去特征码时间的最大值。
  282. BU32 m_dwStreamMinArea; //码流的最小区域码
  283. BU32 m_dwStreamMaxArea; //码流的最大区域码
  284. }FYF_CA_AreaInfo;
  285. typedef enum _FYF_CA_CurEcm
  286. {
  287. FYF_CA_ECM_VIDEO_START, /* 开始设置视频的ECM */
  288. FYF_CA_ECM_VIDEO_END, /* 结束设置视频的ECM */
  289. FYF_CA_ECM_AUDIO_START, /* 开始设置音频的ECM */
  290. FYF_CA_ECM_AUDIO_END /* 结束设置音频的ECM */
  291. }FYF_CA_CurEcm_e;
  292. /*-------------------------------------------------------------------------------
  293. Description:  
  294. Paramenters:  @para 
  295. Return:       None  
  296. -------------------------------------------------------------------------------*/
  297. void FYF_API_CaInit(void);
  298. /*-------------------------------------------------------------------------------
  299. Description:  
  300. Paramenters:  @para 
  301. Return:       None  
  302. -------------------------------------------------------------------------------*/
  303. void FYF_API_SetCurEmmInfo(int emmpid,int caid);
  304. /*-------------------------------------------------------------------------------
  305. Description:  
  306. Paramenters:  @para 
  307. Return:       None  
  308. -------------------------------------------------------------------------------*/
  309. void FYF_API_SetCurEcmInfo(const FYF_Ecm_Info_s * pServiceInfo);
  310. /*-------------------------------------------------------------------------------
  311. Description:  
  312. Paramenters:  @para 
  313. Return:    None
  314. -------------------------------------------------------------------------------*/
  315. void FYF_API_SetProgramChange(void);
  316. /*-------------------------------------------------------------------------------
  317. Description:  
  318. Paramenters:  @para 
  319. Return:       None  
  320. -------------------------------------------------------------------------------*/
  321. BS32 FYF_API_ca_set_value(FYF_CA_SV_e type,BU32 para1,BU32 para2);
  322. /*-------------------------------------------------------------------------------
  323. Description:  
  324. Paramenters:  @para 
  325. Return:       None  
  326. -------------------------------------------------------------------------------*/
  327. BS32 FYF_API_ca_get_value(FYF_CA_SV_e type,BU32 *para1,BU32 *para2);
  328. /*-------------------------------------------------------------------------------
  329. Description:  
  330. Paramenters:  @para 
  331. Return:       None  
  332. -------------------------------------------------------------------------------*/
  333. void FYF_API_ca_register_notify(void (*notify)(FYF_CA_NOTIFY_e type,BU32 *para1,BU32 *para2));
  334. typedef struct
  335. {
  336. void (*FYF_CPI_CaInit)(void);
  337. void (*FYF_CPI_SetCurEmmInfo)(int emmpid,int caid);
  338. void (*FYF_CPI_SetCurEcmInfo)(const FYF_Ecm_Info_s * pServiceInfo);
  339. void (*FYF_CPI_SetProgramChange)(void);
  340. BS32 (*FYF_CPI_ca_set_value)(FYF_CA_SV_e type,BU32 para1,BU32 para2);
  341. BS32 (*FYF_CPI_ca_get_value)(FYF_CA_SV_e type,BU32 *para1,BU32 *para2);
  342. void (*FYF_CPI_ca_register_notify)(void (*notify)(FYF_CA_NOTIFY_e type,BU32 *para1,BU32 *para2));
  343. }FYF_CA_PORTING_s;
  344. typedef FYF_CA_PORTING_s * FYF_CA_PORTING_sp;
  345. /*-------------------------------------------------------------------------------
  346. Description:  
  347. Paramenters:  @para 
  348. Return:       None  
  349. -------------------------------------------------------------------------------*/
  350. void FYF_API_ca_register(FYF_CA_PORTING_sp porting);
  351. #endif