📄 caproc.h
字号:
/*-------------------------------------------------------------------------------------*/
/*caproc.h */
/*-------------------------------------------------------------------------------------*/
#include "ecm.h"
#include "emm.h"
#include "nib.h"
#include "structure.h"
#include "command.h"
#include <icontrol\mpc8xx.h>
#define PROTOCAL_TCP 0
#define PROTOCAL_UDP 1
#define LOGTYPE_NORMAL 0
#define LOGTYPE_ALARM 1
#define LOGTYPE_ERROR 2
#define MAX_STREAM_COUNT 32*8
#define MAX_AC_LENGTH 128
#define MAX_AC_NAME_LENGTH 32
#define MAX_AC_COUNT 32
#define CA_MAX_BUFFER_LENGTH 2048
#define CA_HIGH_INDEX_BASE_ADDRESS 0x400
#define CA_CW_INDEX_BASE_ADDRESS 0x600
#define CA_S_BOX_BASE_ADDRESS 0x100
#define CA_TIMER_INTERVAL_ADDRESS 0x000F
#define CA_SIMUCRYPT_CONTROL_ADDRESS 0x000C
#define CA_READ_CW_ADDRESS 0x000E
#define CA_READ_CW_CONTROL_ADDRESS 0x0012
#define CA_EVEN_ODD_CONTROL_ADDRESS 0x0013 /*0x000D*/
#define CA_TEST_ADDRESS 0x0010
#define CA_PACKT_CHAR_MODE_ADDRESS 0x0011 /* 0: char;1:packet */
#pragma pack(1,1)
/*modify by fupoxing 20050718*/
typedef struct CA_AC_SUBDATA_CONFIG_ITEM_TAG
{
unsigned short ECM_PID;
unsigned char AC_Data_Length;
unsigned char AC_Data[MAX_AC_LENGTH];
/* added 2004-02-10 */
unsigned char ECM_Private_Data_Length;
unsigned char ECM_Private_Data[256];
/* added 2004-02-10 */
}CA_AC_SUBDATA_CONFIG_ITEM;
typedef struct CA_AC_DATA_CONFIG_ITEM_TAG
{
unsigned char AC_Index;
unsigned char AC_Data_Name_Length;
unsigned char AC_Data_Name[MAX_AC_NAME_LENGTH];
CA_AC_SUBDATA_CONFIG_ITEM SubDataConfig[3];
}CA_AC_DATA_CONFIG_ITEM;
typedef struct CA_STREAM_CONFIG_TAG
{
unsigned short Stream_PID;
unsigned char CW_Index;/* ac data index */
}CA_STREAM_CONFIG;
typedef struct CA_PARA_CONFIG_TAG
{
unsigned short CA_system_id;
unsigned short CA_subsystem_id;
unsigned long ECMG_Master_IP;
unsigned short ECMG_Master_Port;
unsigned long ECMG_Slave_IP;
unsigned short ECMG_Slave_Port;
unsigned short ECM_channel_id;
unsigned short EMMG_Protocal;
unsigned short EMMG_Port;
unsigned short EMM_BandWidth;
unsigned short EMM_Pid;
unsigned short Network_Delay;
unsigned short CP_Duration;
unsigned long EMM_client_id;
/* added 2004-02-10 */
unsigned char EMM_Private_Data_Length;
unsigned char EMM_Private_Data[256];
/* added 2004-02-10 */
}CA_PARA_CONFIG;
/*modify by fupoxing 20050718*/
typedef struct CA_CONFIG_TAG
{
unsigned char ucCACount;
CA_PARA_CONFIG Para_Config[3];
unsigned char AC_Data_Count;
CA_AC_DATA_CONFIG_ITEM AC_Data_List[MAX_AC_COUNT];
unsigned short Stream_Count;
CA_STREAM_CONFIG Stream_Config[MAX_STREAM_COUNT];
unsigned long VerifyFlag;
}CA_CONFIG;
typedef struct CA_MESSAGE_HEAD_TAG
{
unsigned char protocol_version;
unsigned short message_type;
unsigned short message_length;
}CA_MESSAGE_HEAD;
typedef struct CA_MESSAGE_ITEM_HEAD_TAG
{
unsigned short parameter_type;
unsigned short parameter_length;
}CA_MESSAGE_ITEM_HEAD;
#pragma pack(0)
long dif_second(unsigned long date,unsigned long time,unsigned long olddate,unsigned long oldtime);
long dif_tick(unsigned long date,unsigned long time,unsigned long tick,unsigned long olddate,unsigned long oldtime,unsigned long oldtick);
unsigned char ca_get_protocol_version(char *buf);
unsigned short ca_get_message_type(char *buf);
unsigned short ca_get_message_length(char *buf);
int ca_recv(int socket,char *buf,int len,long int timetowait);
int ca_send(int socket,char *buf,int len,int timetowait);
void caSendLog(unsigned char LogType, const char *fmt,...);
int ProcCAConfig(Packet *ThePacket);
void tk_caStart(void);
void ca_Clear_simucrypt_map(void);
void send_ecm(char *buf,int buflen,unsigned short pid,char datatype,unsigned char unCACount);
void send_emm(char *buf,int buflen,unsigned short pid,char datatype,unsigned char ucCACount);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -