annotate cdg-hybrid/cdginc/uicc.h @ 134:7d50d8d13711

FFS code sync with Magnetite + gcc version fix This change brings the new flash autodetection for FC and Pirelli targets from Magnetite, and should also fix the gcc version for C1xx and gtamodem targets, which were previously broken because they used TI's original flash autodetect code (which operates at address 0) while the boot ROM is mapped there.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Dec 2018 08:43:25 +0000
parents 6da1d56a96a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 +--------------------------------------------------------------------------+
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 | PROJECT : PROTOCOL STACK |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 | FILE : uicc.h |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 | SOURCE : "sap\8010_136_SIMDRV_SAP.pdf" |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 | LastModified : "2004-06-10" |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 | IdAndVersion : "8010.136.03.009" |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 | SrcFileTime : "Thu Nov 29 09:27:56 2007" |
6da1d56a96a3 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 |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! |
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 +--------------------------------------------------------------------------+
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 /* PRAGMAS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 * PREFIX : SIMDRV
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 * COMPATIBILITY_DEFINES : NO
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 * ALWAYS_ENUM_IN_VAL_FILE: YES
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 * ENABLE_GROUP: YES
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 * CAPITALIZE_TYPENAME: NO
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 #ifndef UICC_INCLUDE
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 #define UICC_INCLUDE
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 #define PUB_L1_MISC_ENTER__Uicc_H
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 #define PUB_L1_MISC_ENTER__FILENAME _Uicc_H
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 #define PUB_L1_MISC_ENTER__Uicc_H__FILE_TYPE CDGINC
6da1d56a96a3 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
6da1d56a96a3 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
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
6da1d56a96a3 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
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 #include "pub_L1_misc_enter.h"
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #undef PUB_L1_MISC_ENTER__Uicc_H
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 #undef PUB_L1_MISC_ENTER__FILENAME
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 * Enum to value table VAL_reset_return_val
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 * CCDGEN:WriteEnum_Count==30
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 #ifndef UICC_VAL_RESET_RETURN_VAL_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 #define UICC_VAL_RESET_RETURN_VAL_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 {
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 UICC_SIM_NOT_INSERTED = 0x1, /* No SIM inserted (hardware detected) */
6da1d56a96a3 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. */
6da1d56a96a3 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 */
6da1d56a96a3 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. */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 typedef Uint8 Uicc_ValResetReturnVal;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 #endif /* UICC_VAL_RESET_RETURN_VAL_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 * Enum to value table VAL_len
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 * CCDGEN:WriteEnum_Count==32
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 #ifndef UICC_VAL_LEN_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 #define UICC_VAL_LEN_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 UICC_VAL_LEN__RANGE_MIN = 0x0, /* minimum */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 UICC_VAL_LEN__RANGE_MAX = 0x100, /* maximum */
6da1d56a96a3 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. */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 typedef Uint16 Uicc_ValLen;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 #endif /* UICC_VAL_LEN_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 * Enum to value table VAL_sw1_2
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 * CCDGEN:WriteEnum_Count==34
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 #ifndef UICC_VAL_SW_1_2_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 #define UICC_VAL_SW_1_2_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 UICC_ERR_NOCARD = 0x1, /* No SIM inserted (hardware detected) */
6da1d56a96a3 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. */
6da1d56a96a3 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) */
6da1d56a96a3 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 */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 typedef Uint8 Uicc_ValSw1_2;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 #endif /* UICC_VAL_SW_1_2_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 * Enum to value table VAL_cla
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 * CCDGEN:WriteEnum_Count==36
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 #ifndef UICC_VAL_CLA_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 #define UICC_VAL_CLA_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 {
6da1d56a96a3 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] */
6da1d56a96a3 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] */
6da1d56a96a3 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] */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 typedef Uint8 Uicc_ValCla;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 #endif /* UICC_VAL_CLA_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 * Enum to value table VAL_ins
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 * CCDGEN:WriteEnum_Count==38
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 #ifndef UICC_VAL_INS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 #define UICC_VAL_INS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 UICC_INS_SELECT = 0xa4, /* Select Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 UICC_INS_STATUS = 0xf2, /* Status Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 UICC_INS_READ_BINARY = 0xb0, /* Read Binary Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 UICC_INS_UPDATE_BINARY = 0xd6, /* Update Binary Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 UICC_INS_READ_RECORD = 0xb2, /* Read Record Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 UICC_INS_UPDATE_RECORD = 0xdc, /* Update Record Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 UICC_INS_SEEK = 0xa2, /* Seek Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 UICC_INS_INCREASE = 0x32, /* Increase Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 UICC_INS_VERIFY_CHV = 0x20, /* Verify Chv Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 UICC_INS_CHANGE_CHV = 0x24, /* Change Chv Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 UICC_INS_DISABLE_CHV = 0x26, /* Disable Chv Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 UICC_INS_ENABLE_CHV = 0x28, /* Ensable Chv Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 UICC_INS_UNBLOCK_CHV = 0x2c, /* Unblock Chv Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 UICC_INS_INVALIDATE = 0x4, /* Invalidate Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 UICC_INS_REHABILITATE = 0x44, /* Rehabilitate Instruction */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 UICC_INS_TERMINAL_PROFILE = 0x10, /* Terminal Profile Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 UICC_INS_ENVELOPE = 0xc2, /* Envelope Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 UICC_INS_FETCH = 0x12, /* Fetch Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 UICC_INS_TERMINAL_RESPONSE = 0x14, /* Terminal Response Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 UICC_INS_GET_RESPONSE = 0xc0 /* Get Response Instruction */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 typedef Uint8 Uicc_ValIns;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 #endif /* UICC_VAL_INS_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 * Enum to value table VAL_voltage_select
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 * CCDGEN:WriteEnum_Count==40
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 #ifndef UICC_VAL_VOLTAGE_SELECT_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 #define UICC_VAL_VOLTAGE_SELECT_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 {
6da1d56a96a3 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 */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 typedef Uint8 Uicc_ValVoltageSelect;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 #endif /* UICC_VAL_VOLTAGE_SELECT_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 * Enum to value table VAL_config_requested
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 * CCDGEN:WriteEnum_Count==42
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 #ifndef UICC_VAL_CONFIG_REQUESTED_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 #define UICC_VAL_CONFIG_REQUESTED_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 {
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 UICC_REQUEST_CONFIG_CHARACTERISTICS = 0x1 /* PS Shall retrieve Configuration Characteristics */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 typedef Uint8 Uicc_ValConfigRequested;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 #endif /* UICC_VAL_CONFIG_REQUESTED_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 * Enum to value table VAL_reader_id
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 * CCDGEN:WriteEnum_Count==44
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 #ifndef UICC_VAL_READER_ID_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 #define UICC_VAL_READER_ID_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 enum
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 UICC_VAL_READER_ID__RANGE_MIN = 0x1, /* minimum */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 UICC_VAL_READER_ID__RANGE_MAX = 0x2 /* maximum */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 };
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 typedef Uint8 Uicc_ValReaderId;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 #endif /* UICC_VAL_READER_ID_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 #define UICC_SIZE_ATR_INFO (0x21)
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 #ifndef UICC_ATR_STRING_INFO_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 #define UICC_ATR_STRING_INFO_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 * SIM Card Info
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 * CCDGEN:WriteStruct_Count==1284
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 typedef struct
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 Uint8 atrStringArrayCount; /*< 0: 1> counter */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 Uint8 __dummy0; /*< 34: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 Uint8 __dummy1; /*< 35: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 } Uicc_AtrStringInfo;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 #endif /* UICC_ATR_STRING_INFO_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 * typedef between var and valtab enums
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
200 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201 #ifndef UICC_LEN_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 #define UICC_LEN_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203 typedef Uicc_ValLen Uicc_Len;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 #endif /* Uicc_Len_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 #define UICC_MAX_RESULT (0x100)
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206 #ifndef UICC_RESULT_INFO_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 #define UICC_RESULT_INFO_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 * Result Buffer
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 * CCDGEN:WriteStruct_Count==1286
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 typedef struct
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 {
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 Uint16 resultArrayCount; /*< 2: 2> counter */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216 Uint8 *resultArray; /*< 4: 4> pointer codetransparent to Result byte */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 } Uicc_ResultInfo;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 #endif /* UICC_RESULT_INFO_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220 #define UICC_MAX_DATA_SIZE (0xff)
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 #ifndef UICC_DATA_INFO_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 #define UICC_DATA_INFO_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 * Data element info
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225 * CCDGEN:WriteStruct_Count==1288
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 typedef struct
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 Uint8 __dummy0; /*< 0: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230 Uint8 __dummy1; /*< 1: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 Uint8 __dummy2; /*< 2: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 Uint8 dataArrayCount; /*< 3: 1> counter */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 Uint8 *dataArray; /*< 4: 4> pointer codetransparent to Data element */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 } Uicc_DataInfo;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 #endif /* UICC_DATA_INFO_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 * typedef between var and valtab enums
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 #ifndef UICC_CLA_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 #define UICC_CLA_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243 typedef Uicc_ValCla Uicc_Cla;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
244 #endif /* Uicc_Cla_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245 #ifndef UICC_INS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 #define UICC_INS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 typedef Uicc_ValIns Uicc_Ins;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 #endif /* Uicc_Ins_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249 #ifndef UICC_CMD_HEADER_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 #define UICC_CMD_HEADER_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 * Transparent command header
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253 * CCDGEN:WriteStruct_Count==1290
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255 typedef struct
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257 Uicc_Cla cla; /*< 0: 1> Uicc_Cla, Class Byte */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258 Uicc_Ins ins; /*< 1: 1> Uicc_Ins, instruction code */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259 Uint8 p1; /*< 2: 1> Parameter 1 of the SIM APDU */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 Uint8 p2; /*< 3: 1> Parameter 2 of the SIM APDU */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261 } Uicc_CmdHeader;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 #endif /* UICC_CMD_HEADER_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264 #ifndef UICC_CONFIG_CHARACTERISTICS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265 #define UICC_CONFIG_CHARACTERISTICS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
266 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
267 * Configuration Characteristics
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
268 * CCDGEN:WriteStruct_Count==1292
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
269 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
270 typedef struct
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
271 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
272 Uint8 uiccCharacteristics; /*< 0: 1> UICC Characteristics */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
273 Uint8 __dummy0; /*< 1: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
274 Uint8 __dummy1; /*< 2: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
275 Uint8 __dummy2; /*< 3: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
276 } Uicc_ConfigCharacteristics;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
277 #endif /* UICC_CONFIG_CHARACTERISTICS_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
278
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
279
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
280 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
281 * typedef between var and valtab enums
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
282 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
283 #ifndef UICC_RESET_RETURN_VAL_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
284 #define UICC_RESET_RETURN_VAL_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
285 typedef Uicc_ValResetReturnVal Uicc_ResetReturnVal;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
286 #endif /* Uicc_ResetReturnVal_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
287 #ifndef UICC_LEN_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
288 #define UICC_LEN_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
289 typedef Uicc_ValLen Uicc_Len;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
290 #endif /* Uicc_Len_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
291 #ifndef UICC_SW_1_2_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
292 #define UICC_SW_1_2_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
293 typedef Uicc_ValSw1_2 Uicc_Sw1_2;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
294 #endif /* Uicc_Sw1_2_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
295 #ifndef UICC_CLA_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
296 #define UICC_CLA_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
297 typedef Uicc_ValCla Uicc_Cla;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
298 #endif /* Uicc_Cla_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
299 #ifndef UICC_INS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
300 #define UICC_INS_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
301 typedef Uicc_ValIns Uicc_Ins;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
302 #endif /* Uicc_Ins_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
303 #ifndef UICC_VOLTAGE_SELECT_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
304 #define UICC_VOLTAGE_SELECT_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
305 typedef Uicc_ValVoltageSelect Uicc_VoltageSelect;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
306 #endif /* Uicc_VoltageSelect_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
307 #ifndef UICC_CONFIG_REQUESTED_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
308 #define UICC_CONFIG_REQUESTED_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309 typedef Uicc_ValConfigRequested Uicc_ConfigRequested;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310 #endif /* Uicc_ConfigRequested_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 #ifndef UICC_READER_ID_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
312 #define UICC_READER_ID_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 typedef Uicc_ValReaderId Uicc_ReaderId;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
314 #endif /* Uicc_ReaderId_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315 #ifndef UICC_DUMMY_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
316 #define UICC_DUMMY_CLASS
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317 /*
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318 *
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319 * CCDGEN:WriteStruct_Count==1294
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321 typedef struct
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 {
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
323 Puf_PrimHdr primHdr;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 Uicc_AtrStringInfo *atrStringInfoPtr; /*< 0: 4> pointer to SIM Card Info */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 Uicc_ResetReturnVal resetReturnVal; /*< 4: 1> Uicc_ResetReturnVal, Reset return value */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
326 Uint8 __dummy0; /*< 5: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
327 Uint8 __dummy1; /*< 6: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
328 Uint8 __dummy2; /*< 7: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
329 Uicc_ResultInfo *resultInfoPtr; /*< 8: 4> pointer to Result Buffer */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
331 Uint8 __dummy3; /*< 14: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
332 Uint8 __dummy4; /*< 15: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333 Uicc_DataInfo *dataInfoPtr; /*< 16: 4> pointer to Data element info */
6da1d56a96a3 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 */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 Uicc_Cla cla; /*< 22: 1> Uicc_Cla, Class Byte */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336 Uicc_Ins ins; /*< 23: 1> Uicc_Ins, instruction code */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 Uicc_CmdHeader cmdHeader; /*< 24: 4> Transparent command header */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338 Uicc_VoltageSelect voltageSelect; /*< 28: 1> Uicc_VoltageSelect, Perform Voltage Selection */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339 Uint8 p1; /*< 29: 1> Parameter 1 of the SIM APDU */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 Uint8 p2; /*< 30: 1> Parameter 2 of the SIM APDU */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341 Uicc_ConfigRequested configRequested; /*< 31: 1> Uicc_ConfigRequested, Configuration Characteristics requested */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 Uicc_ConfigCharacteristics *configCharacteristicsPtr; /*< 32: 4> pointer to Configuration Characteristics */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 Uicc_ReaderId readerId; /*< 36: 1> Uicc_ReaderId, Reader Id */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 Uint8 uiccCharacteristics; /*< 37: 1> UICC Characteristics */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 Uint8 __dummy5; /*< 38: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346 Uint8 __dummy6; /*< 39: 1> alignment */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347 } Uicc_Dummy;
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
348
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
349 #define UICC_DUMMY_SIZE() \
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
350 ( \
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
351 sizeof(Uicc_Dummy) \
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
352 )
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353 #endif /* UICC_DUMMY_CLASS */
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 #define UICC_MIN_RESULT (0x1)
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 #define UICC_MIN_DATA_SIZE (0x1)
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357 #define UICC_MAX_READERS (0x2)
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
358
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
359 #include "pub_L1_misc_leave.h"
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
360
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
361
6da1d56a96a3 cdg-hybrid: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
362 #endif