📄 conax.h
字号:
/*
本代码仅作为学习研究之目的使用,请您于24小时内自觉将其删除,请勿应用于商业活动或其它赢利性活动中,
否则后果自负!
*/
/******************************************************
* 文件名:conax.h
* 功 能:处理BCA命令
* 作 者:
* 日 期:
*****************************************************/
#ifndef _conax_h_
#define _conax_h_
#include "sc_def.h"
typedef struct
{
U8 Version; /* 版本号 */
U16 CaSysId; /* CA系统ID */
U16 CountryIndicatorValue; /* 国家标志 */
U8 MatRat; /* 年龄等级 */
U8 MaxSessionNum; /* 最大会话个数 */
}Conax_Param_t; /* Conax卡参数 */
typedef struct
{
int iCardNumber;
Conax_Param_t stParam;
U8 auEMMAddress[10][7];
int iEMMAddressCount;
}Conax_Info_t;
Conax_Info_t conax; /*全局变量,在智能卡初始化后可以直接使用它的一些信息了*/
/* 初始化, 主要工作是读取卡内的基本信息,如卡号、运营商等信息,在对卡reset后调用
输入 handle -- smart card 句柄
输出 无
返回值 true -- 初始化成功 false -- 初始化失败
其他
*/
bool conax_init(Smart_Handle_t handle);
/* 初始化, 主要工作是读取卡内的基本信息,如卡号、运营商等信息,在对卡reset后调用
输入 handle -- smart card 句柄
输出 无
返回值 true -- 初始化成功 false -- 初始化失败
其他
*/
bool conax_init(Smart_Handle_t handle);
/* 处理解析CAT表,在收到CAT后调用!这点conax比较特别啊,主要是完成一些校验.
输入 Handle -- smart card 句柄 buf -- CAT数据 len -- 数据长度
输出 无
返回值 无
其他
*/
void conax_parse_cat(Smart_Handle_t Handle,U8* pbuf,U16 len);
/* 处理解析ECM,得到CW,得到它我们就可以看节目了,在收到ECM后调用!收取ECM的时候设置filter
的第一个字节0x80/0x81就ok了
输入 Handle -- smart card 句柄 buf -- ECM信息,从0x80/0x81开始
输出 pucCW -- 就是cw啦,16个字节,不是奇偶,就是奇偶,根据情况你自己试验
返回值 true -- 解析ECM成功 false --解析ECM失败
其他
*/
bool conax_parse_ecm(Smart_Handle_t Handle,U8* pbuf,U8* pucCW);
/* 处理EMM,主要就是完成对卡授权了。收取EMM的时候设置filter的第一个字节0x82,
5,6,7,8个字节就是卡号了。可以仅设置第一个字节,多收几个EMM研究研究哦!
输入 Handle -- smart card 句柄 data -- EMM信息,len -- 数据长度
输出 无
返回值 true -- 解析EMM成功 false --解析EMM失败
其他
*/
bool conax_parse_emm(Smart_Handle_t Handle,U8* pbuf,U16 len);//解析EMM,完成授权等
#endif /* _conax_h_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -