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

Last change on this file since 5528 was 5528, checked in by alno, 8 years ago

Add ll_entitlements to videoguard readers !untested!

File size: 2.3 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 NDSUNKNOWN    0
15#define NDSAUTO    0
16#define NDS1    1
17#define NDS12    12
18#define NDS2    2
19
20typedef struct nds_atr {
21    uchar atr[MAX_ATR_LEN];
22    uint16_t atr_len;
23    int32_t base_year;
24    int32_t tier_start;
25    int32_t nds_version;
26    const char *desc;
27} NDS_ATR_ENTRY;
28
29extern int32_t cw_is_valid(unsigned char *cw, int32_t start);
30extern void cAES_SetKey(struct s_reader * reader, const unsigned char *key);
31
32extern void __xxor(unsigned char *data, int32_t len, const unsigned char *v1, const unsigned char *v2);
33#define xor16(v1,v2,d) __xxor((d),16,(v1),(v2))
34#define val_by2on3(x)  ((0xaaab*(x))>>16) //fixed point *2/3
35
36extern void cCamCryptVG_SetSeed(struct s_reader * reader);
37extern void cCamCryptVG_GetCamKey(struct s_reader * reader, unsigned char *buff);
38extern int32_t status_ok(const unsigned char *status);
39extern void memorize_cmd_table (struct s_reader * reader, const unsigned char *mem, int32_t size);
40extern int32_t cmd_table_get_info(struct s_reader * reader, const unsigned char *cmd, unsigned char *rlen, unsigned char *rmode);
41extern int32_t cmd_exists(struct s_reader * reader, const unsigned char *cmd);
42extern int32_t read_cmd_len(struct s_reader * reader, const unsigned char *cmd);
43extern int32_t do_cmd(struct s_reader * reader, const unsigned char *ins, const unsigned char *txbuff, unsigned char *rxbuff,
44                  unsigned char * cta_res);
45extern void rev_date_calc(const unsigned char *Date, int32_t *year, int32_t *mon, int32_t *day, int32_t *hh, int32_t *mm, int32_t *ss, int32_t base_year);
46extern void rev_date_calc_tm(const unsigned char *Date, struct tm *timeinfo , int32_t base_year);
47extern void set_known_card_info(struct s_reader * reader, const unsigned char *atr, const uint32_t *atr_size);
48
49int32_t videoguard_get_emm_type(EMM_PACKET *ep, struct s_reader * rdr);
50void videoguard_get_emm_filter(struct s_reader * rdr, uchar *filter);
51int32_t videoguard_do_emm(struct s_reader * reader, EMM_PACKET *ep, unsigned char CLA, void (*read_tiers)(), int32_t (*docmd)());
52void videoguard_mail_msg(struct s_reader *rdr, uint8_t *data);
53
54#endif // __NDS_COMMON__
55
Note: See TracBrowser for help on using the repository browser.