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 |
|
---|
20 | typedef 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 |
|
---|
29 | extern int32_t cw_is_valid(unsigned char *cw, int32_t start);
|
---|
30 | extern void cAES_SetKey(struct s_reader * reader, const unsigned char *key);
|
---|
31 |
|
---|
32 | extern 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 |
|
---|
36 | extern void cCamCryptVG_SetSeed(struct s_reader * reader);
|
---|
37 | extern void cCamCryptVG_GetCamKey(struct s_reader * reader, unsigned char *buff);
|
---|
38 | extern int32_t status_ok(const unsigned char *status);
|
---|
39 | extern void memorize_cmd_table (struct s_reader * reader, const unsigned char *mem, int32_t size);
|
---|
40 | extern int32_t cmd_table_get_info(struct s_reader * reader, const unsigned char *cmd, unsigned char *rlen, unsigned char *rmode);
|
---|
41 | extern int32_t cmd_exists(struct s_reader * reader, const unsigned char *cmd);
|
---|
42 | extern int32_t read_cmd_len(struct s_reader * reader, const unsigned char *cmd);
|
---|
43 | extern int32_t do_cmd(struct s_reader * reader, const unsigned char *ins, const unsigned char *txbuff, unsigned char *rxbuff,
|
---|
44 | unsigned char * cta_res);
|
---|
45 | extern 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);
|
---|
46 | extern void set_known_card_info(struct s_reader * reader, const unsigned char *atr, const uint32_t *atr_size);
|
---|
47 |
|
---|
48 | int32_t videoguard_get_emm_type(EMM_PACKET *ep, struct s_reader * rdr);
|
---|
49 | void videoguard_get_emm_filter(struct s_reader * rdr, uchar *filter);
|
---|
50 | int32_t videoguard_do_emm(struct s_reader * reader, EMM_PACKET *ep, unsigned char CLA, void (*read_tiers)(), int32_t (*docmd)());
|
---|
51 |
|
---|
52 | #endif // __NDS_COMMON__
|
---|
53 |
|
---|