软件测试完成catask使用说明_第1页
软件测试完成catask使用说明_第2页
软件测试完成catask使用说明_第3页
软件测试完成catask使用说明_第4页
软件测试完成catask使用说明_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 CAT CAT_QUERY CAT_QUERY_REPLY(CAtask CAT_INFO_NOTIFY(CAtask PMT_QUERY PMT_INFO_NOTIFY(CAtaskCA 停止...................................................................................................................................................... 校验...................................................................................................................................................... CHECK_PIN_QUERY_REPLY(CAtaskCA 修改...................................................................................................................................................... IPPV_NOTIFY(CAtaskCA 按点播IPPV(IPPV- IPPVP_QUERY IPPVP_QUERY_REPLY(CAtaskCA IPPVT_QUERY IPPVT_QUERY_REPLY(CAtaskCA BMAIL_NOTIFY(CAtaskCA OSD屏显 SUBTITLE_NOTIFY(CAtaskCA SC_INFO_QUERY SC_INFO_NOTIFY(CAtaskCA PPID_QUERY PPID_NOTIFY(CAtaskCA PPID_INFO_QUERY PPID_INFO_NOTIFY(CAtaskCA ANTI_RECORD_QUERY ANTI_RECORD_QUERY_REPLY(CAtaskCA SET_PARENTAL_QUERY SET_PARENTAL_QUERY_REPLY(CAtaskCA SET_IRD_NUMBER_QUERY_REPLY(CAtaskCA FINGERPRINT_QUERY_REPLY(CAtaskCA USER_VIEW_QUERY USER_VIEW_QUERY_REPLY(CAtaskCA CA_ERROR(CAtaskCA 去掉Examplecode中的断点检查语句“STB_ASSERT((pparam==NULL)&&(len0)”。voidca_upcall_fct(CA_MSG_Ttype,BYTE*pparam,WORDlen)修改为voidca_upcall_fct(CA_INFO_Ttype,BYTE*pparam,WORDlen)voiddo_cat_info_notifyCA_MSG_Ttype,BYTE*pparam,WORDlen)修改为voiddo_cat_info_notify(CA_INFO_Ttype,BYTE*pparam,WORDlen)PPID_QUERY_REPLY-->PPID_NOTIFYantimovectrlSet_SC_Protocol_To_T1()为提高集成速度,使用CAtask和CA替代由集成厂商实现的CAdriver。CAtask由算通公司提供,CA由集成厂商实现。CAtask对应文件catask.hCA通过两种方式与CAtask进行交互 提供的回调函数通知CA,然后CA使用CAtask提供的查询函数得到当前的具体信息。CAtask根据智能卡状态、类型、解扰状态等设置当前的CAErrorCode,集成厂商可根据ErrorCode内容显示提示信息。catask_init catask_getcataskversion catask_send_status_to_cacore catask_delete_nvram_cainfo catask_Hexadecimal2decimal( 函数包含在文件catask.c中。Set_SC_Protocol_To_T1 函数包含在文件cacore.c中注:使用CAtask时,此函数代替CAcore的APICACORE_Init()-3,SmartCarddriver catask_getcataskversion(CHAR*pversion无() catask_delete_nvram_cainfo(void无 (CHAR*pHex,CHAR*无无无CA提供2个API函数send_msg_to_catask get_catask_info CA提供的caCAcore对CA发送的消息处理结束后CAtask调用此函数通知CACAcore有信息需要主动通知CA时,CAtask调用此函数通知CA ca(CA_INFO_Ttype,BYTE*pparam,WORD无 无CAtask提供的 (CA_MSG_Ttype,BYTE*pdata,WORDlen间,不需要动态分配空间) (CA_INFO_Ttype,BYTE*pparam,WORDlen,void*voidservice_clear(BYTEflag /*flag=1:stopemm;flag=2:stop flag=0:stopallWORDmsg_len;msg[0]=flag;msg_len=1;}停止请校验请修改请 CAT_QUERY=/*1.PMT_QUERY=/*2./*3./*4./*5./*6./*7.PPID_QUERY=/*8./*9./*10./*11./*12./*13. 停止应校验应修改应CAerrorcodetypedef{/*1./*2./*3./*4./*5./*6./*7.IPPV_NOTIFY=/*8./*9./*10./*11.EMM_STATUS_NOTIFY=/*12./*13.PPID_NOTIFY=/*14./*15./*16./*17./*18./*19./*20.CA_ERROR=/*21.}/*22.12345678void _upcall_fct(CA_INFO_Ttype,BYTE*pparam,WORD {if(pparam[0]==0)CA_PRINT_INFO("catrequestsuccess!\n");CA_PRINT_ERR("catrequest:openemmfiltersfail!\n");caseCAT_INFO_NOTIFY:}}{CA_CAT_INFO_Tinfo;get_catask_info(type,pparam,len,&info);CA_PRINT_INFO("emmpid(count=%d):",info.pid_count);if(info.pid_count==1){}}CAERROR12PleaseInsertSmart3UnknownSmart4CheckingSmart5Antimove6STBandSCnot7ParentalRatingtoo8UnknownEncrypt9分配ECMchannel或filterAllocateECMChannel/FilterOpenDescramblerSCErrorwhenCWHavenoDecryptDescrambleSonCardAuthenticationUserViewControlRegionView IPPVIPPVPINIPPVOrderIPPV_POrderIPPV_PSmart OrderIPPV-TOrderIPPV-TEndIPPV-TEndIPPV_TUserViewUserViewCAT_QUERY(CACA内核值8for(i=0;i<ca_desc_count;{}CAT_QUERY_REPLY(CAtask 值8CAT_INFO_NOTIFY(CAtask CA内核处理CAT表请求结束后,主机顶盒发送CATinfo。CAtask调用值typedef8{BYTEBYTE pid_count最大为1;pid_count等于0时,emm_pidPMT_QUERY CA内核值168{}8for(i=0;i<stream_count;{8168{}}global_ca_desc_count,stream_countPMT_QUERY_REPLY(CAtask 值168811,认证过PMT_INFO_NOTIFY(CAtaskCA值typedef{BYTEBYTEBYTE} CA内核值8STOP_PROG_QUERY_REPLY(CAtask 值8 CA内核值8for(i=0;i<codelength;{8}CHECK_PIN_QUERY_REPLY(CAtask CA内核完成校验后,CAtask调用ca 值8Status的值对应的含义是:0,正确;1,错误CHANGE_PIN_QUERY(CACA内核CA向CAcore发送此消息修改智能卡内的。值8for(i=0;i<Oldcodelength;{8}8for(i=0;i<Newcodelength;{8}CHANGE_PIN_QUERY_REPLY(CAtask 值8Status的值对应的含义是:0,修改成功;1,修改失败IPPV_NOTIFY(CAtask 值typedef{BYTEBYTEBYTECHARBYTEBYTEBYTEBYTEBYTE prog_number为当前IPPV的号,即PMT请求中的ProgramNo。示此IPPV不支持按时间点播的方式。如果智能卡内余额充足,应根据IPPV具体信息询问用户是否选择按点播或法点播。IPPVP_QUERY(CACA内核值328For值328For(i=0;i<codelength;{8}IPPVP_QUERY_REPLY(CAtask 值8IPPVT_QUERY(CACA内核值3288For(i=0;i<codelength;{8}0CodelengthIPPVT_QUERY_REPLY(CAtask 值8BMAIL_NOTIFY(CAtaskCA值typedef{BYTEBYTEBYTEBYTEBYTEBYTEBYTECHARBYTECHARWORDCHAR SUBTITLE_NOTIFY(CAtask EMM_STATUS_NOTIFY(CAtask 值8值8SC_INFO_QUERY CA内核SC_INFO_NOTIFY(CAtask 值8 值typedef{BYTE值typedef{BYTEBYTEBYTEBYTECHARCHARCHARCHARCHARBYTEBYTEBYTE Cardnumber:智能卡,8字节16进制数据。IssureTime:发卡时间,17字节字符串(含结束符)。ExpireTime: PPID_QUERY CA内核PPID_NOTIFY(CAtaskCA值8Status:0,信息成功;1,信息失败值typedef{BYTE值typedef{BYTE 注:CA_PPID_INFO_T对应结构体请参考“智能卡内PPID详细信息”小节内容。信息中count、id、label为有效数据。count为提供商的个数,最大为8;idPPID_INFO_QUERY(CACA内核值8For(i=0;i<codelength;{8}24值8For(i=0;i<codelength;{8}24PPID_INFO_NOTIFY(CAtask 值8240:数据成2:错误(此时status之后的数据为无效值值typedef{BYTECHARBYTECHARBYTECHARCHARBYTEBYTEBYTEBYTEBYTE}查看提供商在卡内的金额,4字节16进制数据,(卡内最多可保存256个频道的权限,此信息显示全部256个频道的权限。频道起始日期,11字节长度字符串(含结束符)频道截止日期,11个字节长度字符串(含结束符)预订的ppv的号,最大数量256个(根据智能卡确定) ppv的终止号,等于0xFFFFFFFF或 ANTI_RECORD_QUERY(CACA内核ANTI_RECORD_QUERY_REPLY(CAtaskCA值88SET_PARENTAL_QUERY(CACA内核码。CA内核首先检查IPPV,正确修改卡内父母锁控制级别。值8For(i=0;i<codelength;{8}8S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论