?? 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 + -