annotate cdg-hybrid/cdginc/uicc.h @ 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 : uicc.h |
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 #ifndef UICC_INCLUDE
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 #define UICC_INCLUDE
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
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 #define PUB_L1_MISC_ENTER__Uicc_H
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 #define PUB_L1_MISC_ENTER__FILENAME _Uicc_H
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 #define PUB_L1_MISC_ENTER__Uicc_H__FILE_TYPE CDGINC
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 #define PUB_L1_MISC_ENTER__Uicc_H__LAST_MODIFIED _2004_06_10
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 #define PUB_L1_MISC_ENTER__Uicc_H__ID_AND_VERSION _8010_136_03_009
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 #define PUB_L1_MISC_ENTER__Uicc_H__SRC_FILE_TIME _Thu_Nov_29_09_27_56_2007
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 #include "pub_L1_misc_enter.h"
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #undef PUB_L1_MISC_ENTER__Uicc_H
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 #undef PUB_L1_MISC_ENTER__FILENAME
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
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 * Enum to value table VAL_reset_return_val
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 * CCDGEN:WriteEnum_Count==30
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 #ifndef UICC_VAL_RESET_RETURN_VAL_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 #define UICC_VAL_RESET_RETURN_VAL_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 enum
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 UICC_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
51 UICC_SIM_NOT_INSERTED = 0x1, /* No SIM inserted (hardware detected) */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 UICC_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
53 UICC_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
54 UICC_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
55 UICC_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
56 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 typedef Uint8 Uicc_ValResetReturnVal;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 #endif /* UICC_VAL_RESET_RETURN_VAL_CLASS */
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==32
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 UICC_VAL_LEN_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 #define UICC_VAL_LEN_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 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 UICC_VAL_LEN__RANGE_MIN = 0x0, /* minimum */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 UICC_VAL_LEN__RANGE_MAX = 0x100, /* maximum */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 UICC_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 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 typedef Uint16 Uicc_ValLen;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 #endif /* UICC_VAL_LEN_CLASS */
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 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 * Enum to value table VAL_sw1_2
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 * CCDGEN:WriteEnum_Count==34
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 #ifndef UICC_VAL_SW_1_2_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 #define UICC_VAL_SW_1_2_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 enum
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 UICC_ERR_NOCARD = 0x1, /* No SIM inserted (hardware detected) */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 UICC_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
85 UICC_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
86 UICC_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
87 UICC_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
88 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 typedef Uint8 Uicc_ValSw1_2;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 #endif /* UICC_VAL_SW_1_2_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 * Enum to value table VAL_cla
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 * CCDGEN:WriteEnum_Count==36
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 #ifndef UICC_VAL_CLA_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 #define UICC_VAL_CLA_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 enum
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 UICC_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
101 UICC_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
102 UICC_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
103 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 typedef Uint8 Uicc_ValCla;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 #endif /* UICC_VAL_CLA_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106
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 * Enum to value table VAL_ins
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 * CCDGEN:WriteEnum_Count==38
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 #ifndef UICC_VAL_INS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 #define UICC_VAL_INS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 enum
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 UICC_INS_SELECT = 0xa4, /* Select Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 UICC_INS_STATUS = 0xf2, /* Status Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 UICC_INS_READ_BINARY = 0xb0, /* Read Binary Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 UICC_INS_UPDATE_BINARY = 0xd6, /* Update Binary Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 UICC_INS_READ_RECORD = 0xb2, /* Read Record Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 UICC_INS_UPDATE_RECORD = 0xdc, /* Update Record Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 UICC_INS_SEEK = 0xa2, /* Seek Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 UICC_INS_INCREASE = 0x32, /* Increase Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 UICC_INS_VERIFY_CHV = 0x20, /* Verify Chv Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 UICC_INS_CHANGE_CHV = 0x24, /* Change Chv Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 UICC_INS_DISABLE_CHV = 0x26, /* Disable Chv Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 UICC_INS_ENABLE_CHV = 0x28, /* Ensable Chv Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 UICC_INS_UNBLOCK_CHV = 0x2c, /* Unblock Chv Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 UICC_INS_INVALIDATE = 0x4, /* Invalidate Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 UICC_INS_REHABILITATE = 0x44, /* Rehabilitate Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 UICC_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
131 UICC_INS_TERMINAL_PROFILE = 0x10, /* Terminal Profile Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 UICC_INS_ENVELOPE = 0xc2, /* Envelope Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 UICC_INS_FETCH = 0x12, /* Fetch Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 UICC_INS_TERMINAL_RESPONSE = 0x14, /* Terminal Response Instruction */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 UICC_INS_GET_RESPONSE = 0xc0 /* Get Response Instruction */
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 typedef Uint8 Uicc_ValIns;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 #endif /* UICC_VAL_INS_CLASS */
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 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 * Enum to value table VAL_voltage_select
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 * CCDGEN:WriteEnum_Count==40
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 #ifndef UICC_VAL_VOLTAGE_SELECT_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 #define UICC_VAL_VOLTAGE_SELECT_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 enum
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 UICC_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
149 UICC_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
150 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 typedef Uint8 Uicc_ValVoltageSelect;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 #endif /* UICC_VAL_VOLTAGE_SELECT_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 * Enum to value table VAL_config_requested
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 * CCDGEN:WriteEnum_Count==42
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 #ifndef UICC_VAL_CONFIG_REQUESTED_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 #define UICC_VAL_CONFIG_REQUESTED_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 enum
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 UICC_OMIT_CONFIG_CHARACTERISTICS = 0x0, /* PS Shall not retrieve Configuration Characteristics */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 UICC_REQUEST_CONFIG_CHARACTERISTICS = 0x1 /* PS Shall retrieve Configuration Characteristics */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 typedef Uint8 Uicc_ValConfigRequested;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 #endif /* UICC_VAL_CONFIG_REQUESTED_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 * Enum to value table VAL_reader_id
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 * CCDGEN:WriteEnum_Count==44
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 #ifndef UICC_VAL_READER_ID_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 #define UICC_VAL_READER_ID_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 enum
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 UICC_VAL_READER_ID__RANGE_MIN = 0x1, /* minimum */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 UICC_VAL_READER_ID__RANGE_MAX = 0x2 /* maximum */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 };
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 typedef Uint8 Uicc_ValReaderId;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 #endif /* UICC_VAL_READER_ID_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 #define UICC_SIZE_ATR_INFO (0x21)
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 #ifndef UICC_ATR_STRING_INFO_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 #define UICC_ATR_STRING_INFO_CLASS
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 * SIM Card Info
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 * CCDGEN:WriteStruct_Count==1284
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 typedef struct
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 Uint8 atrStringArrayCount; /*< 0: 1> counter */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191 Uint8 atrStringArray[UICC_SIZE_ATR_INFO]; /*< 1: 33> SIM Card Answer to reset string */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 Uint8 __dummy0; /*< 34: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 Uint8 __dummy1; /*< 35: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 } Uicc_AtrStringInfo;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 #endif /* UICC_ATR_STRING_INFO_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 * typedef between var and valtab enums
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
200 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201 #ifndef UICC_LEN_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 #define UICC_LEN_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203 typedef Uicc_ValLen Uicc_Len;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 #endif /* Uicc_Len_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 #define UICC_MAX_RESULT (0x100)
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206 #ifndef UICC_RESULT_INFO_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 #define UICC_RESULT_INFO_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 * Result Buffer
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 * CCDGEN:WriteStruct_Count==1286
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 typedef struct
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214 Uicc_Len len; /*< 0: 2> Uicc_Len, Maximum length of expected data */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 Uint16 resultArrayCount; /*< 2: 2> counter */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216 Uint8 *resultArray; /*< 4: 4> pointer codetransparent to Result byte */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 } Uicc_ResultInfo;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 #endif /* UICC_RESULT_INFO_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220 #define UICC_MAX_DATA_SIZE (0xff)
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 #ifndef UICC_DATA_INFO_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 #define UICC_DATA_INFO_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 * Data element info
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225 * CCDGEN:WriteStruct_Count==1288
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 typedef struct
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 Uint8 __dummy0; /*< 0: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230 Uint8 __dummy1; /*< 1: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 Uint8 __dummy2; /*< 2: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 Uint8 dataArrayCount; /*< 3: 1> counter */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 Uint8 *dataArray; /*< 4: 4> pointer codetransparent to Data element */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 } Uicc_DataInfo;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 #endif /* UICC_DATA_INFO_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 * typedef between var and valtab enums
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 #ifndef UICC_CLA_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 #define UICC_CLA_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243 typedef Uicc_ValCla Uicc_Cla;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
244 #endif /* Uicc_Cla_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245 #ifndef UICC_INS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 #define UICC_INS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 typedef Uicc_ValIns Uicc_Ins;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 #endif /* Uicc_Ins_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249 #ifndef UICC_CMD_HEADER_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 #define UICC_CMD_HEADER_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 * Transparent command header
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253 * CCDGEN:WriteStruct_Count==1290
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255 typedef struct
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257 Uicc_Cla cla; /*< 0: 1> Uicc_Cla, Class Byte */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258 Uicc_Ins ins; /*< 1: 1> Uicc_Ins, instruction code */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259 Uint8 p1; /*< 2: 1> Parameter 1 of the SIM APDU */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 Uint8 p2; /*< 3: 1> Parameter 2 of the SIM APDU */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261 } Uicc_CmdHeader;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 #endif /* UICC_CMD_HEADER_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264 #ifndef UICC_CONFIG_CHARACTERISTICS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265 #define UICC_CONFIG_CHARACTERISTICS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
266 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
267 * Configuration Characteristics
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
268 * CCDGEN:WriteStruct_Count==1292
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
269 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
270 typedef struct
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
271 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
272 Uint8 uiccCharacteristics; /*< 0: 1> UICC Characteristics */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
273 Uint8 __dummy0; /*< 1: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
274 Uint8 __dummy1; /*< 2: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
275 Uint8 __dummy2; /*< 3: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
276 } Uicc_ConfigCharacteristics;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
277 #endif /* UICC_CONFIG_CHARACTERISTICS_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
278
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
279
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
280 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
281 * typedef between var and valtab enums
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
282 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
283 #ifndef UICC_RESET_RETURN_VAL_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
284 #define UICC_RESET_RETURN_VAL_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
285 typedef Uicc_ValResetReturnVal Uicc_ResetReturnVal;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
286 #endif /* Uicc_ResetReturnVal_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
287 #ifndef UICC_LEN_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
288 #define UICC_LEN_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
289 typedef Uicc_ValLen Uicc_Len;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
290 #endif /* Uicc_Len_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
291 #ifndef UICC_SW_1_2_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
292 #define UICC_SW_1_2_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
293 typedef Uicc_ValSw1_2 Uicc_Sw1_2;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
294 #endif /* Uicc_Sw1_2_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
295 #ifndef UICC_CLA_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
296 #define UICC_CLA_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
297 typedef Uicc_ValCla Uicc_Cla;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
298 #endif /* Uicc_Cla_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
299 #ifndef UICC_INS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
300 #define UICC_INS_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
301 typedef Uicc_ValIns Uicc_Ins;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
302 #endif /* Uicc_Ins_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
303 #ifndef UICC_VOLTAGE_SELECT_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
304 #define UICC_VOLTAGE_SELECT_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
305 typedef Uicc_ValVoltageSelect Uicc_VoltageSelect;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
306 #endif /* Uicc_VoltageSelect_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
307 #ifndef UICC_CONFIG_REQUESTED_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
308 #define UICC_CONFIG_REQUESTED_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309 typedef Uicc_ValConfigRequested Uicc_ConfigRequested;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310 #endif /* Uicc_ConfigRequested_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 #ifndef UICC_READER_ID_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
312 #define UICC_READER_ID_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 typedef Uicc_ValReaderId Uicc_ReaderId;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
314 #endif /* Uicc_ReaderId_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315 #ifndef UICC_DUMMY_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
316 #define UICC_DUMMY_CLASS
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317 /*
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318 *
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319 * CCDGEN:WriteStruct_Count==1294
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320 */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321 typedef struct
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 {
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
323 Puf_PrimHdr primHdr;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 Uicc_AtrStringInfo *atrStringInfoPtr; /*< 0: 4> pointer to SIM Card Info */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 Uicc_ResetReturnVal resetReturnVal; /*< 4: 1> Uicc_ResetReturnVal, Reset return value */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
326 Uint8 __dummy0; /*< 5: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
327 Uint8 __dummy1; /*< 6: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
328 Uint8 __dummy2; /*< 7: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
329 Uicc_ResultInfo *resultInfoPtr; /*< 8: 4> pointer to Result Buffer */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
330 Uicc_Len len; /*< 12: 2> Uicc_Len, Maximum length of expected data */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
331 Uint8 __dummy3; /*< 14: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
332 Uint8 __dummy4; /*< 15: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333 Uicc_DataInfo *dataInfoPtr; /*< 16: 4> pointer to Data element info */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
334 Uicc_Sw1_2 sw1_2; /*< 20: 2> Uicc_Sw1_2, Status Words */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 Uicc_Cla cla; /*< 22: 1> Uicc_Cla, Class Byte */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336 Uicc_Ins ins; /*< 23: 1> Uicc_Ins, instruction code */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 Uicc_CmdHeader cmdHeader; /*< 24: 4> Transparent command header */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338 Uicc_VoltageSelect voltageSelect; /*< 28: 1> Uicc_VoltageSelect, Perform Voltage Selection */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339 Uint8 p1; /*< 29: 1> Parameter 1 of the SIM APDU */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 Uint8 p2; /*< 30: 1> Parameter 2 of the SIM APDU */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341 Uicc_ConfigRequested configRequested; /*< 31: 1> Uicc_ConfigRequested, Configuration Characteristics requested */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 Uicc_ConfigCharacteristics *configCharacteristicsPtr; /*< 32: 4> pointer to Configuration Characteristics */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 Uicc_ReaderId readerId; /*< 36: 1> Uicc_ReaderId, Reader Id */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 Uint8 uiccCharacteristics; /*< 37: 1> UICC Characteristics */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 Uint8 __dummy5; /*< 38: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346 Uint8 __dummy6; /*< 39: 1> alignment */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347 } Uicc_Dummy;
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
348
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
349 #define UICC_DUMMY_SIZE() \
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
350 ( \
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
351 sizeof(Uicc_Dummy) \
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
352 )
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353 #endif /* UICC_DUMMY_CLASS */
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 #define UICC_MIN_RESULT (0x1)
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 #define UICC_MIN_DATA_SIZE (0x1)
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357 #define UICC_MAX_READERS (0x2)
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
358
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
359 #include "pub_L1_misc_leave.h"
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
360
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
361
35f7a1dc9f7d cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
362 #endif