source: trunk/reader-videoguard-common.h@ 4149

Last change on this file since 4149 was 3862, checked in by _network, 13 years ago

dvbapi: add shared and global videoguard emm filter

File size: 2.2 KB
Line 
1#ifndef __NDS_COMMON__
2#define __NDS_COMMON__
3
4#include "globals.h"
5
6#include <termios.h>
7#include <unistd.h>
8#ifdef OS_LINUX
9#include <linux/serial.h>
10#endif
11
12#define write_cmd_vg(cmd, data) (card_write(reader, cmd, data, cta_res, &cta_lr) == 0)
13
14#define VG_EMMTYPE_MASK 0xC0
15#define VG_EMMTYPE_G 0
16#define VG_EMMTYPE_U 1
17#define VG_EMMTYPE_S 2
18
19#define NDSUNKNOWN 0
20#define NDSAUTO 0
21#define NDS1 1
22#define NDS12 12
23#define NDS2 2
24
25typedef struct nds_atr {
26 uchar atr[MAX_ATR_LEN];
27 ushort atr_len;
28 int base_year;
29 int tier_start;
30 int nds_version;
31 const char *desc;
32} NDS_ATR_ENTRY;
33
34extern int cw_is_valid(unsigned char *cw, int start);
35extern void cAES_SetKey(struct s_reader * reader, const unsigned char *key);
36
37extern void __xxor(unsigned char *data, int len, const unsigned char *v1, const unsigned char *v2);
38#define xor16(v1,v2,d) __xxor((d),16,(v1),(v2))
39#define val_by2on3(x) ((0xaaab*(x))>>16) //fixed point *2/3
40
41extern void cCamCryptVG_SetSeed(struct s_reader * reader);
42extern void cCamCryptVG_GetCamKey(struct s_reader * reader, unsigned char *buff);
43extern int status_ok(const unsigned char *status);
44extern void memorize_cmd_table (struct s_reader * reader, const unsigned char *mem, int size);
45extern int cmd_table_get_info(struct s_reader * reader, const unsigned char *cmd, unsigned char *rlen, unsigned char *rmode);
46extern int cmd_exists(struct s_reader * reader, const unsigned char *cmd);
47extern int read_cmd_len(struct s_reader * reader, const unsigned char *cmd);
48extern int do_cmd(struct s_reader * reader, const unsigned char *ins, const unsigned char *txbuff, unsigned char *rxbuff,
49 unsigned char * cta_res);
50extern void rev_date_calc(const unsigned char *Date, int *year, int *mon, int *day, int *hh, int *mm, int *ss, int base_year);
51extern void set_known_card_info(struct s_reader * reader, const unsigned char *atr, const unsigned int *atr_size);
52extern int num_addr(const unsigned char *data);
53extern const unsigned char *payload_addr(uchar emmtype, const unsigned char *data, const unsigned char *a);
54
55int videoguard_get_emm_type(EMM_PACKET *ep, struct s_reader * rdr);
56void videoguard_get_emm_filter(struct s_reader * rdr, uchar *filter);
57
58#endif // __NDS_COMMON__
59
Note: See TracBrowser for help on using the repository browser.