📄 ucas.h
字号:
/****************************************************************************
*
* ALi
*
* File: Ucas.h
*
* Description: Strut of Provaider's
*
* History:
* Date Author Version Comment
* ==== ====== ======= =======
*
*
****************************************************************************/
/*
typedef unsigned char BYTE;
typedef unsigned short int WORD;
typedef unsigned int DWORD;
typedef signed char SBYTE;
typedef signed short int SWORD;
typedef signed int SDWORD;
*/
#ifndef byte
#define byte unsigned char
#endif
#define MAX_CA_SYSTEM_TABLE 64
//viaccess
/* Provider Struktur */
typedef struct tagViaccessPROVIDER {
unsigned char ident[0x03]; //channel ident,
unsigned char key08[8]; //key08
unsigned char key09[8];
unsigned char key0a[8];
unsigned char key0b[8];
unsigned char key0c[8];
unsigned char key0d[8];
unsigned char key0e[8];
unsigned char key0f[8]; //key0f
char name[25]; //provider name
} VIACCESSPROVIDER;
/* Provider Struktur */
typedef struct tagViaccess2PROVIDER {// 3+16*8+25=156*8=1248
unsigned char ident[0x03]; //channel ident,
unsigned char key08[16]; //key08
unsigned char key09[16];
unsigned char key0a[16];
unsigned char key0b[16];
unsigned char key0c[16];
unsigned char key0d[16];
unsigned char key0e[16];
unsigned char key0f[16]; //key0f
char name[25]; //provider name
} VIACCESS2PROVIDER;
//irdeto
typedef struct tagPROVIDER {
unsigned char abDate[2]; // date
unsigned char abPID[3]; //ident
unsigned char abPMK[8]; //update key
unsigned char abPK[144]; //key00----key11
char name[25]; //provider name
} IRDETO_PROVIDER;
typedef struct tagIRDETOCARD {
IRDETO_PROVIDER sIrdetoProvider[2];
} IRDETO_CARD;
//nagra
/* Provider Struktur */
typedef struct tagNAGRAPROVIDER {
unsigned char abPID[0x02]; //ident
unsigned char abKey00[0x08]; //key00
unsigned char abKey01[0x08]; //key01
char name[25];//provider name
} NAGRAPROVIDER;
/* Provider Struktur */
typedef struct tagSECAROVIDER {
unsigned char PrvID[0x03]; //ident
unsigned char key0C[8]; //key0c
unsigned char key0D[8];
unsigned char key0E[8];
char name[25];//provider name
} SECAPROVIDER;
//viaccess
#define MAX_VIACCESS_PROVIDER 30 // 40
#define MAX_VIACCESS2_PROVIDER 8
extern int via_channel_num;
extern int via2_channel_num;
extern VIACCESSPROVIDER sViaccessProvider[MAX_VIACCESS_PROVIDER];
extern VIACCESS2PROVIDER sViaccess2Provider[MAX_VIACCESS2_PROVIDER];
//irdeto
#define MAX_IRDETO_CARDS 9
extern int IrdetoCardNum;
extern IRDETO_CARD sIrdetoCard[MAX_IRDETO_CARDS];
//seca
#define MAX_SECA_PROVIDER 11 // 17
extern int SecaProviderNum;
extern SECAPROVIDER sSecaProvider[MAX_SECA_PROVIDER];
//nagra
#define MAX_NAGRA_PROVIDER 13 //13+10
extern int sNagraProviderNum;
extern NAGRAPROVIDER sNagraProvider[MAX_NAGRA_PROVIDER];
extern VIACCESSPROVIDER sViaccessProviderStatic[MAX_VIACCESS_PROVIDER];
extern SECAPROVIDER sSecaProviderStatic[MAX_SECA_PROVIDER];
extern IRDETO_CARD sIrdetoCardStatic[MAX_IRDETO_CARDS];
extern NAGRAPROVIDER sNagraProviderStatic[MAX_NAGRA_PROVIDER];
extern VIACCESS2PROVIDER sViaccess2ProviderStatic[MAX_VIACCESS2_PROVIDER];
#define MAX_NAGRA2_KEY 3
typedef struct
{
int ProviderIdent;
unsigned char InitEcmKeyx[64];
unsigned char InitOpKeyx[2][16];/*IDEEA86, IDEEA96*/
char name[25];
}NAGRA2KEYINFOR;
extern NAGRA2KEYINFOR EvNagra2KeyInfor[MAX_NAGRA2_KEY];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -