comparison arib25v023/arib25/src/b_cas_card.h @ 3:6801fe7e04ff

updated to ariv25v023
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Tue, 17 Feb 2009 01:40:56 +0900
parents arib25v021/arib25/src/b_cas_card.h@67e8eca28a80
children
comparison
equal deleted inserted replaced
2:8ac7c59fefc9 3:6801fe7e04ff
1 #ifndef B_CAS_CARD_H
2 #define B_CAS_CARD_H
3
4 #include "portable.h"
5
6 typedef struct {
7 uint8_t system_key[32];
8 uint8_t init_cbc[8];
9 int64_t bcas_card_id;
10 int32_t card_status;
11 int32_t ca_system_id;
12 } B_CAS_INIT_STATUS;
13
14 typedef struct {
15 int64_t *data;
16 int32_t count;
17 } B_CAS_ID;
18
19 typedef struct {
20
21 int32_t s_yy; /* start date : year */
22 int32_t s_mm; /* start date : month */
23 int32_t s_dd; /* start date : day */
24
25 int32_t l_yy; /* limit date : year */
26 int32_t l_mm; /* limit date : month */
27 int32_t l_dd; /* limit date : day */
28
29 int32_t hold_time; /* in hour unit */
30
31 int32_t broadcaster_group_id;
32
33 int32_t network_id;
34 int32_t transport_id;
35
36 } B_CAS_PWR_ON_CTRL;
37
38 typedef struct {
39 B_CAS_PWR_ON_CTRL *data;
40 int32_t count;
41 } B_CAS_PWR_ON_CTRL_INFO;
42
43 typedef struct {
44 uint8_t scramble_key[16];
45 uint32_t return_code;
46 } B_CAS_ECM_RESULT;
47
48 typedef struct {
49
50 void *private_data;
51
52 void (* release)(void *bcas);
53
54 int (* init)(void *bcas);
55
56 int (* get_init_status)(void *bcas, B_CAS_INIT_STATUS *stat);
57 int (* get_id)(void *bcas, B_CAS_ID *dst);
58 int (* get_pwr_on_ctrl)(void *bcas, B_CAS_PWR_ON_CTRL_INFO *dst);
59
60 int (* proc_ecm)(void *bcas, B_CAS_ECM_RESULT *dst, uint8_t *src, int len);
61 int (* proc_emm)(void *bcas, uint8_t *src, int len);
62
63 } B_CAS_CARD;
64
65 #ifdef __cplusplus
66 extern "C" {
67 #endif
68
69 extern B_CAS_CARD *create_b_cas_card();
70
71 #ifdef __cplusplus
72 }
73 #endif
74
75 #endif /* B_CAS_CARD_H */