- fix Building without Nagra not possible at Nagra_Merlin https://trac.streamboard...
[oscam.git] / csctapi / ifd_sci_global.h
blob09a5548bf95650ad95c09245c7ba929d846fad3f
1 #ifndef _sci_global_h_
2 #define _sci_global_h_
4 #define SCI_CLASS_A 1 /* only 5V Vcc to Smart Card */
5 #define SCI_CLASS_B 2 /* only 3V Vcc to Smart Card */
6 #define SCI_CLASS_AB 3 /* 5V or 3V Vcc to Smart Card */
7 #define SCI_NUMBER_OF_CONTROLLERS 2 /* number of SCI controllers */
9 #define SCI_BUFFER_SIZE 512
11 #define SCI_CLOCK_STOP_DISABLED 0
12 #define SCI_CLOCK_STOP_LOW 1
13 #define SCI_CLOCK_STOP_HIGH 2
15 #define SCI_MAX_ATR_SIZE 33
17 #define SCI_MAX_F 80000000
18 #define SCI_MAX_ETU 0xFFF
19 #define SCI_MAX_WWT 0xFFFFFFFF
20 #define SCI_MAX_CWT 0xFFFF
21 #define SCI_MAX_BWT 0xFFFFFFFF
22 #define SCI_MAX_EGT 0xFF
24 #define SCI_MIN_F 1000000
25 #define SCI_MIN_ETU 8
26 #define SCI_MIN_WWT 12
27 #define SCI_MIN_CWT 12
28 #define SCI_MIN_BWT 971
29 #define SCI_MIN_EGT 0
31 #define SCI_SYNC 0x00000001
32 #define SCI_DATA_ANY 0x00000002
34 /* Reserved for Future Use defined as 0 */
35 #define RFU 0
37 /* error codes */
38 typedef enum
40 SCI_ERROR_OK = 0,
41 SCI_ERROR_DRIVER_NOT_INITIALIZED = -1691,
42 SCI_ERROR_FAIL,
43 SCI_ERROR_KERNEL_FAIL,
44 SCI_ERROR_NO_ATR,
45 SCI_ERROR_TS_CHARACTER_INVALID,
46 SCI_ERROR_LRC_FAIL,
47 SCI_ERROR_CRC_FAIL,
48 SCI_ERROR_LENGTH_FAIL,
49 SCI_ERROR_PARITY_FAIL,
50 SCI_ERROR_RX_OVERFLOW_FAIL,
51 SCI_ERROR_TX_OVERFLOW_FAIL,
52 SCI_ERROR_TX_UNDERRUN_FAIL,
53 SCI_ERROR_CARD_NOT_PRESENT,
54 SCI_ERROR_CARD_NOT_ACTIVATED,
55 SCI_ERROR_AWT_TIMEOUT,
56 SCI_ERROR_WWT_TIMEOUT,
57 SCI_ERROR_CWT_TIMEOUT,
58 SCI_ERROR_BWT_TIMEOUT,
59 SCI_ERROR_PARAMETER_OUT_OF_RANGE,
60 SCI_ERROR_TRANSACTION_ABORTED,
61 SCI_ERROR_CLOCK_STOP_DISABLED,
62 SCI_ERROR_TX_PENDING,
63 SCI_ERROR_ATR_PENDING
65 SCI_ERROR;
67 /* SCI driver modes */
68 typedef struct sci_modes
70 int32_t emv2000;
71 int32_t dma;
72 int32_t man_act;
73 int32_t rw_mode;
75 SCI_MODES;
77 /* SCI communication parameters */
78 typedef struct sci_parameters
80 unsigned char T;
81 uint32_t fs;
82 uint32_t ETU;
83 uint32_t WWT;
84 uint32_t CWT;
85 uint32_t BWT;
86 uint32_t EGT;
87 uint32_t clock_stop_polarity;
88 unsigned char check;
89 unsigned char P;
90 unsigned char I;
91 unsigned char U;
93 SCI_PARAMETERS;
95 /* SCI ATR status */
96 typedef enum
98 SCI_WITHOUT_ATR = 0,
99 SCI_ATR_READY
101 SCI_ATR_STATUS;
103 #endif /* _sci_global_h_ */