FreeCalypso > hg > fc-tourmaline
annotate cdg-hybrid/cdginc/p_8010_136_simdrv_sap.val @ 303:f76436d19a7a default tip
!GPRS config: fix long-standing AT+COPS chance hanging bug
There has been a long-standing bug in FreeCalypso going back years:
sometimes in the AT command bring-up sequence of an ACI-only MS,
the AT+COPS command would produce only a power scan followed by
cessation of protocol stack activity (only L1 ADC traces), instead
of the expected network search sequence. This behaviour was seen
in different FC firmware versions going back to Citrine, and seemed
to follow some law of chance, not reliably repeatable.
This bug has been tracked down and found to be specific to !GPRS
configuration, stemming from our TCS2/TCS3 hybrid and reconstruction
of !GPRS support that was bitrotten in TCS3.2/LoCosto version.
ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3
version and had to be pulled from TCS2 - but as it turns out,
there is a new field in the MMR_REG_REQ primitive that needs to be
set correctly, and that psa_mms.c module is the place where this
initialization needed to be added.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 08 Jun 2023 08:23:37 +0000 |
parents | 35f7a1dc9f7d |
children |
rev | line source |
---|---|
14
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +--------------------------------------------------------------------------+ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | PROJECT : PROTOCOL STACK | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | FILE : p_8010_136_simdrv_sap.val | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | SOURCE : "sap\8010_136_SIMDRV_SAP.pdf" | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | LastModified : "2004-06-10" | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | IdAndVersion : "8010.136.03.009" | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | SrcFileTime : "Thu Nov 29 09:27:56 2007" | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016 | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 +--------------------------------------------------------------------------+ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 /* PRAGMAS |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 * PREFIX : SIMDRV |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 * COMPATIBILITY_DEFINES : NO |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 * ALWAYS_ENUM_IN_VAL_FILE: YES |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 * ENABLE_GROUP: YES |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 * CAPITALIZE_TYPENAME: NO |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #ifndef P_8010_136_SIMDRV_SAP_VAL |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #define P_8010_136_SIMDRV_SAP_VAL |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #define CDG_ENTER__P_8010_136_SIMDRV_SAP_VAL |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #define CDG_ENTER__FILENAME _P_8010_136_SIMDRV_SAP_VAL |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #define CDG_ENTER__P_8010_136_SIMDRV_SAP_VAL__FILE_TYPE CDGINC |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #define CDG_ENTER__P_8010_136_SIMDRV_SAP_VAL__LAST_MODIFIED _2004_06_10 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #define CDG_ENTER__P_8010_136_SIMDRV_SAP_VAL__ID_AND_VERSION _8010_136_03_009 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #define CDG_ENTER__P_8010_136_SIMDRV_SAP_VAL__SRC_FILE_TIME _Thu_Nov_29_09_27_56_2007 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "CDG_ENTER.h" |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #undef CDG_ENTER__P_8010_136_SIMDRV_SAP_VAL |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #undef CDG_ENTER__FILENAME |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 * Enum to value table VAL_reset_return_val |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 * CCDGEN:WriteEnum_Count==29 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #ifndef __T_SIMDRV_VAL_reset_return_val__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #define __T_SIMDRV_VAL_reset_return_val__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 SIMDRV_SIM_INSERTED = 0x0, /* A SIM is inserted and ATR/PPS was successful */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 SIMDRV_SIM_NOT_INSERTED = 0x1, /* No SIM inserted (hardware detected) */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 SIMDRV_INVALID_CARD = 0x2, /* Card is not responding or gives unintelligible answers, communications time out. */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 SIMDRV_ME_FAILURE = 0x3, /* Power management related problems, e.g. voltage selection */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 SIMDRV_IMPROPER_CALL_BACK = 0x4, /* simdrv_register function called with pointer improperly set, e.g. NULL. */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 SIMDRV_ME_READER_NOT_AVAILABLE = 0x5 /* The reader requested is not available */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 }T_SIMDRV_VAL_reset_return_val; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 * Enum to value table VAL_len |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 * CCDGEN:WriteEnum_Count==31 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 #ifndef __T_SIMDRV_VAL_len__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 #define __T_SIMDRV_VAL_len__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 SIMDRV_VAL_LEN__RANGE_MIN = 0x0, /* minimum */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 SIMDRV_VAL_LEN__RANGE_MAX = 0x100, /* maximum */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 SIMDRV_LENGTH_UNKNOWN = 0xffff /* Indicating that the length expected is unknown. */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 }T_SIMDRV_VAL_len; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 * Enum to value table VAL_sw1_2 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 * CCDGEN:WriteEnum_Count==33 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 #ifndef __T_SIMDRV_VAL_sw1_2__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 #define __T_SIMDRV_VAL_sw1_2__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 SIMDRV_ERR_NOCARD = 0x1, /* No SIM inserted (hardware detected) */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 SIMDRV_ERR_NOT_RESET = 0x2, /* A reset has not been performed on the driver with the requested Id. */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 SIMDRV_ERR_ME_FAIL = 0x3, /* Unrecoverable ME failure (for instance interrupt fails to occur) */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 SIMDRV_ERR_RETRY_FAIL = 0x4, /* ME/SIM communication failed after certain retries, SIM reset required */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 SIMDRV_ERR_PARAM_WRONG = 0x5 /* A driver function is called with invalid parameters */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 }T_SIMDRV_VAL_sw1_2; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 * Enum to value table VAL_cla |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 * CCDGEN:WriteEnum_Count==35 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 #ifndef __T_SIMDRV_VAL_cla__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 #define __T_SIMDRV_VAL_cla__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 SIMDRV_GSM_CLASS_BYTE = 0xa0, /* GSM Class byte according to [GSM 11.11 / 3GPP 51.011] */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 SIMDRV_UMTS_CLASS_BYTE = 0x80, /* UMTS Class byte according to [ETSI 102 221 10.1.2] */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 SIMDRV_UICC_CLASS_BYTE = 0x0 /* UICC Class byte according to [ISO 7816-4] */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 }T_SIMDRV_VAL_cla; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 * Enum to value table VAL_ins |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 * CCDGEN:WriteEnum_Count==37 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 #ifndef __T_SIMDRV_VAL_ins__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 #define __T_SIMDRV_VAL_ins__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 SIMDRV_INS_SELECT = 0xa4, /* Select Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 SIMDRV_INS_STATUS = 0xf2, /* Status Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 SIMDRV_INS_READ_BINARY = 0xb0, /* Read Binary Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 SIMDRV_INS_UPDATE_BINARY = 0xd6, /* Update Binary Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 SIMDRV_INS_READ_RECORD = 0xb2, /* Read Record Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 SIMDRV_INS_UPDATE_RECORD = 0xdc, /* Update Record Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 SIMDRV_INS_SEEK = 0xa2, /* Seek Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 SIMDRV_INS_INCREASE = 0x32, /* Increase Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 SIMDRV_INS_VERIFY_CHV = 0x20, /* Verify Chv Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 SIMDRV_INS_CHANGE_CHV = 0x24, /* Change Chv Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 SIMDRV_INS_DISABLE_CHV = 0x26, /* Disable Chv Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 SIMDRV_INS_ENABLE_CHV = 0x28, /* Ensable Chv Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 SIMDRV_INS_UNBLOCK_CHV = 0x2c, /* Unblock Chv Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 SIMDRV_INS_INVALIDATE = 0x4, /* Invalidate Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 SIMDRV_INS_REHABILITATE = 0x44, /* Rehabilitate Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 SIMDRV_INS_AUTHENTICATE = 0x88, /* Run GSM Algorithm (2/2.5G) / Authenticate (3G) Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 SIMDRV_INS_TERMINAL_PROFILE = 0x10, /* Terminal Profile Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 SIMDRV_INS_ENVELOPE = 0xc2, /* Envelope Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 SIMDRV_INS_FETCH = 0x12, /* Fetch Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 SIMDRV_INS_TERMINAL_RESPONSE = 0x14, /* Terminal Response Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 SIMDRV_INS_GET_RESPONSE = 0xc0 /* Get Response Instruction */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 }T_SIMDRV_VAL_ins; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 * Enum to value table VAL_voltage_select |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 * CCDGEN:WriteEnum_Count==39 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 #ifndef __T_SIMDRV_VAL_voltage_select__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 #define __T_SIMDRV_VAL_voltage_select__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 SIMDRV_REQ_VOLTAGE_SEL = 0x0, /* The SIM reader driver shall perform voltage selection */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 SIMDRV_OMIT_VOLTAGE_SEL = 0x1 /* The SIM reader driver shall restart with the current voltage */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 }T_SIMDRV_VAL_voltage_select; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 * Enum to value table VAL_config_requested |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 * CCDGEN:WriteEnum_Count==41 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 #ifndef __T_SIMDRV_VAL_config_requested__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 #define __T_SIMDRV_VAL_config_requested__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 SIMDRV_OMIT_CONFIG_CHARACTERISTICS = 0x0, /* PS Shall not retrieve Configuration Characteristics */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 SIMDRV_REQUEST_CONFIG_CHARACTERISTICS = 0x1 /* PS Shall retrieve Configuration Characteristics */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 }T_SIMDRV_VAL_config_requested; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 * Enum to value table VAL_reader_id |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 * CCDGEN:WriteEnum_Count==43 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 #ifndef __T_SIMDRV_VAL_reader_id__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 #define __T_SIMDRV_VAL_reader_id__ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 typedef enum |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 { |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 SIMDRV_VAL_READER_ID__RANGE_MIN = 0x1, /* minimum */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 SIMDRV_VAL_READER_ID__RANGE_MAX = 0x2 /* maximum */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 }T_SIMDRV_VAL_reader_id; |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 #endif |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 /* |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 * user defined constants |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 */ |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 #define SIMDRV_SIZE_ATR_INFO (0x21) |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 #define SIMDRV_MIN_RESULT (0x1) |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 #define SIMDRV_MAX_RESULT (0x100) |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 #define SIMDRV_MIN_DATA_SIZE (0x1) |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 #define SIMDRV_MAX_DATA_SIZE (0xff) |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 #define SIMDRV_MAX_READERS (0x2) |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 #include "CDG_LEAVE.h" |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 |
35f7a1dc9f7d
cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 #endif |