enable uim message functions
[project/uqmi.git] / qmi-enums-uim.h
1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * libqmi-glib -- GLib/GIO based library to control QMI devices
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301 USA.
19 *
20 * Copyright (C) 2012 Google Inc.
21 */
22
23 #ifndef _LIBQMI_GLIB_QMI_ENUMS_UIM_H_
24 #define _LIBQMI_GLIB_QMI_ENUMS_UIM_H_
25
26 /**
27 * SECTION: qmi-enums-uim
28 * @title: UIM enumerations and flags
29 *
30 * This section defines enumerations and flags used in the UIM service
31 * interface.
32 */
33
34 /*****************************************************************************/
35 /* Helper enums for the 'QMI UIM Read Record' request/response */
36
37 /**
38 * QmiUimSessionType:
39 * @QMI_UIM_SESSION_TYPE_PRIMARY_GW_PROVISIONING: Primary GSM/WCDMA provisioning.
40 * @QMI_UIM_SESSION_TYPE_PRIMARY_1X_PROVISIONING: Primary CDMA1x provisioning.
41 * @QMI_UIM_SESSION_TYPE_SECONDARY_GW_PROVISIONING: Secondary GSM/WCDMA provisioning.
42 * @QMI_UIM_SESSION_TYPE_SECONDARY_1X_PROVISIONING: Secondary CDMA1x provisioning.
43 * @QMI_UIM_SESSION_TYPE_NONPROVISIONING_SLOT_1: Nonprovisioning on slot 1.
44 * @QMI_UIM_SESSION_TYPE_NONPROVISIONING_SLOT_2: Nonprovisioning on slot 2.
45 * @QMI_UIM_SESSION_TYPE_CARD_SLOT_1: Card on slot 1.
46 * @QMI_UIM_SESSION_TYPE_CARD_SLOT_2: Card on slot 2.
47 * @QMI_UIM_SESSION_TYPE_LOGICAL_CHANNEL_SLOT_1: Logical channel on slot 1.
48 * @QMI_UIM_SESSION_TYPE_LOGICAL_CHANNEL_SLOT_2: Logical channel on slot 2.
49 *
50 * Type of UIM session.
51 */
52 typedef enum {
53 QMI_UIM_SESSION_TYPE_PRIMARY_GW_PROVISIONING = 0,
54 QMI_UIM_SESSION_TYPE_PRIMARY_1X_PROVISIONING = 1,
55 QMI_UIM_SESSION_TYPE_SECONDARY_GW_PROVISIONING = 2,
56 QMI_UIM_SESSION_TYPE_SECONDARY_1X_PROVISIONING = 3,
57 QMI_UIM_SESSION_TYPE_NONPROVISIONING_SLOT_1 = 4,
58 QMI_UIM_SESSION_TYPE_NONPROVISIONING_SLOT_2 = 5,
59 QMI_UIM_SESSION_TYPE_CARD_SLOT_1 = 6,
60 QMI_UIM_SESSION_TYPE_CARD_SLOT_2 = 7,
61 QMI_UIM_SESSION_TYPE_LOGICAL_CHANNEL_SLOT_1 = 8,
62 QMI_UIM_SESSION_TYPE_LOGICAL_CHANNEL_SLOT_2 = 9
63 } QmiUimSessionType;
64
65 /*****************************************************************************/
66 /* Helper enums for the 'QMI UIM Get File Attributes' request/response */
67
68 /**
69 * QmiUimFileType:
70 * @QMI_UIM_FILE_TYPE_TRANSPARENT: Transparent.
71 * @QMI_UIM_FILE_TYPE_CYCLIC: Cyclic.
72 * @QMI_UIM_FILE_TYPE_LINEAR_FIXED: Linear fixed.
73 * @QMI_UIM_FILE_TYPE_DEDICATED_FILE: Dedicated file.
74 * @QMI_UIM_FILE_TYPE_MASTER_FILE: Master file.
75 *
76 * Type of UIM file.
77 */
78 typedef enum {
79 QMI_UIM_FILE_TYPE_TRANSPARENT = 0,
80 QMI_UIM_FILE_TYPE_CYCLIC = 1,
81 QMI_UIM_FILE_TYPE_LINEAR_FIXED = 2,
82 QMI_UIM_FILE_TYPE_DEDICATED_FILE = 3,
83 QMI_UIM_FILE_TYPE_MASTER_FILE = 4
84 } QmiUimFileType;
85
86 /**
87 * QmiUimSecurityAttributeLogic:
88 * @QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_ALWAYS: Always.
89 * @QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_NEVER: Never.
90 * @QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_AND: And.
91 * @QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_OR: Or.
92 * @QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_SINGLE: Single.
93 *
94 * Logic applicable to security attributes.
95 */
96 typedef enum {
97 QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_ALWAYS = 0,
98 QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_NEVER = 1,
99 QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_AND = 2,
100 QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_OR = 3,
101 QMI_UIM_SECURITY_ATTRIBUTE_LOGIC_SINGLE = 4
102 } QmiUimSecurityAttributeLogic;
103
104 /**
105 * QmiUimSecurityAttribute:
106 * @QMI_UIM_SECURITY_ATTRIBUTE_PIN1: PIN1.
107 * @QMI_UIM_SECURITY_ATTRIBUTE_PIN2: PIN2.
108 * @QMI_UIM_SECURITY_ATTRIBUTE_UPIN: UPIN.
109 * @QMI_UIM_SECURITY_ATTRIBUTE_ADM: ADM.
110 *
111 * Security Attributes.
112 */
113 typedef enum {
114 QMI_UIM_SECURITY_ATTRIBUTE_PIN1 = 1 << 0,
115 QMI_UIM_SECURITY_ATTRIBUTE_PIN2 = 1 << 1,
116 QMI_UIM_SECURITY_ATTRIBUTE_UPIN = 1 << 2,
117 QMI_UIM_SECURITY_ATTRIBUTE_ADM = 1 << 3
118 } QmiUimSecurityAttribute;
119
120 /*****************************************************************************/
121 /* Helper enums for the 'QMI UIM Set PIN Protection' */
122
123 /**
124 * QmiUimPinId:
125 * @QMI_UIM_PIN_ID_UNKNOWN: Unknown.
126 * @QMI_UIM_PIN_ID_PIN1: PIN1.
127 * @QMI_UIM_PIN_ID_PIN2: PIN2.
128 * @QMI_UIM_PIN_ID_UPIN: UPIN.
129 * @QMI_UIM_PIN_ID_HIDDEN_KEY: Hidden key.
130 *
131 * PIN ID.
132 */
133 typedef enum {
134 QMI_UIM_PIN_ID_UNKNOWN = 0,
135 QMI_UIM_PIN_ID_PIN1 = 1,
136 QMI_UIM_PIN_ID_PIN2 = 2,
137 QMI_UIM_PIN_ID_UPIN = 3,
138 QMI_UIM_PIN_ID_HIDDEN_KEY = 4
139 } QmiUimPinId;
140
141 /*****************************************************************************/
142 /* Helper enums for the 'QMI UIM Get Card Status' request/response */
143
144 /**
145 * QmiUimCardState:
146 * @QMI_UIM_CARD_STATE_ABSENT: Absent.
147 * @QMI_UIM_CARD_STATE_PRESENT: Present.
148 * @QMI_UIM_CARD_STATE_ERROR: Error.
149 *
150 * State of the card.
151 */
152 typedef enum {
153 QMI_UIM_CARD_STATE_ABSENT = 0,
154 QMI_UIM_CARD_STATE_PRESENT = 1,
155 QMI_UIM_CARD_STATE_ERROR = 2
156 } QmiUimCardState;
157
158 /**
159 * QmiUimPinState:
160 * @QMI_UIM_PIN_STATE_NOT_INITIALIZED: Not initialized.
161 * @QMI_UIM_PIN_STATE_ENABLED_NOT_VERIFIED: Enabled, not verified.
162 * @QMI_UIM_PIN_STATE_ENABLED_VERIFIED: Enabled, verified.
163 * @QMI_UIM_PIN_STATE_DISABLED: Disabled.
164 * @QMI_UIM_PIN_STATE_BLOCKED: Blocked.
165 * @QMI_UIM_PIN_STATE_PERMANENTLY_BLOCKED: Permanently Blocked.
166 *
167 * The PIN state.
168 */
169 typedef enum {
170 QMI_UIM_PIN_STATE_NOT_INITIALIZED = 0,
171 QMI_UIM_PIN_STATE_ENABLED_NOT_VERIFIED = 1,
172 QMI_UIM_PIN_STATE_ENABLED_VERIFIED = 2,
173 QMI_UIM_PIN_STATE_DISABLED = 3,
174 QMI_UIM_PIN_STATE_BLOCKED = 4,
175 QMI_UIM_PIN_STATE_PERMANENTLY_BLOCKED = 5,
176 } QmiUimPinState;
177
178 /**
179 * QmiUimCardError:
180 * @QMI_UIM_CARD_ERROR_UNKNOWN: Unknown error.
181 * @QMI_UIM_CARD_ERROR_POWER_DOWN: Power down.
182 * @QMI_UIM_CARD_ERROR_POLL: Poll error.
183 * @QMI_UIM_CARD_ERROR_NO_ATR_RECEIVED: No ATR received.
184 * @QMI_UIM_CARD_ERROR_VOLTAGE_MISMATCH: Voltage mismatch.
185 * @QMI_UIM_CARD_ERROR_PARITY: Parity error.
186 * @QMI_UIM_CARD_ERROR_POSSIBLY_REMOVED: Unknown error, possibly removed.
187 * @QMI_UIM_CARD_ERROR_TECHNICAL: Technical problem.
188 *
189 * Card error.
190 */
191 typedef enum {
192 QMI_UIM_CARD_ERROR_UNKNOWN = 0,
193 QMI_UIM_CARD_ERROR_POWER_DOWN = 1,
194 QMI_UIM_CARD_ERROR_POLL = 2,
195 QMI_UIM_CARD_ERROR_NO_ATR_RECEIVED = 3,
196 QMI_UIM_CARD_ERROR_VOLTAGE_MISMATCH = 4,
197 QMI_UIM_CARD_ERROR_PARITY = 5,
198 QMI_UIM_CARD_ERROR_POSSIBLY_REMOVED = 6,
199 QMI_UIM_CARD_ERROR_TECHNICAL = 7
200 } QmiUimCardError;
201
202 /**
203 * QmiUimCardApplicationType:
204 * @QMI_UIM_CARD_APPLICATION_TYPE_UNKNOWN: Unknown.
205 * @QMI_UIM_CARD_APPLICATION_TYPE_SIM: SIM.
206 * @QMI_UIM_CARD_APPLICATION_TYPE_USIM: USIM.
207 * @QMI_UIM_CARD_APPLICATION_TYPE_RUIM: RUIM.
208 * @QMI_UIM_CARD_APPLICATION_TYPE_CSIM: CSIM.
209 * @QMI_UIM_CARD_APPLICATION_TYPE_ISIM: ISIM.
210 *
211 * Card application type.
212 */
213 typedef enum {
214 QMI_UIM_CARD_APPLICATION_TYPE_UNKNOWN = 0,
215 QMI_UIM_CARD_APPLICATION_TYPE_SIM = 1,
216 QMI_UIM_CARD_APPLICATION_TYPE_USIM = 2,
217 QMI_UIM_CARD_APPLICATION_TYPE_RUIM = 3,
218 QMI_UIM_CARD_APPLICATION_TYPE_CSIM = 4,
219 QMI_UIM_CARD_APPLICATION_TYPE_ISIM = 5,
220 } QmiUimCardApplicationType;
221
222 /**
223 * QmiUimCardApplicationState:
224 * @QMI_UIM_CARD_APPLICATION_STATE_UNKNOWN: Unknown.
225 * @QMI_UIM_CARD_APPLICATION_STATE_DETECTED: Detected.
226 * @QMI_UIM_CARD_APPLICATION_STATE_PIN1_OR_UPIN_PIN_REQUIRED: PIN1 or UPIN PIN required.
227 * @QMI_UIM_CARD_APPLICATION_STATE_PUK1_OR_UPIN_PUK_REQUIRED: PUK1 or UPIN PUK required.
228 * @QMI_UIM_CARD_APPLICATION_STATE_CHECK_PERSONALIZATION_STATE: Personalization state must be checked.
229 * @QMI_UIM_CARD_APPLICATION_STATE_PIN1_BLOCKED: PIN1 blocked.
230 * @QMI_UIM_CARD_APPLICATION_STATE_ILLEGAL: Illegal.
231 * @QMI_UIM_CARD_APPLICATION_STATE_READY: Ready
232 *
233 * Card application state.
234 */
235 typedef enum {
236 QMI_UIM_CARD_APPLICATION_STATE_UNKNOWN = 0,
237 QMI_UIM_CARD_APPLICATION_STATE_DETECTED = 1,
238 QMI_UIM_CARD_APPLICATION_STATE_PIN1_OR_UPIN_PIN_REQUIRED = 2,
239 QMI_UIM_CARD_APPLICATION_STATE_PUK1_OR_UPIN_PUK_REQUIRED = 3,
240 QMI_UIM_CARD_APPLICATION_STATE_CHECK_PERSONALIZATION_STATE = 4,
241 QMI_UIM_CARD_APPLICATION_STATE_PIN1_BLOCKED = 5,
242 QMI_UIM_CARD_APPLICATION_STATE_ILLEGAL = 6,
243 QMI_UIM_CARD_APPLICATION_STATE_READY = 7,
244 } QmiUimCardApplicationState;
245
246 /**
247 * QmiUimCardApplicationPersonalizationState:
248 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_UNKNOWN: Unknown.
249 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_IN_PROGRESS: Operation in progress.
250 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_READY: Ready.
251 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_CODE_REQUIRED: Code required.
252 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_PUK_CODE_REQUIRED: PUK code required.
253 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_PERMANENTLY_BLOCKED: Permanently blocked-
254 *
255 * Card application personalization state.
256 */
257 typedef enum {
258 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_UNKNOWN = 0,
259 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_IN_PROGRESS = 1,
260 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_READY = 2,
261 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_CODE_REQUIRED = 3,
262 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_PUK_CODE_REQUIRED = 4,
263 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_STATE_PERMANENTLY_BLOCKED = 5,
264 } QmiUimCardApplicationPersonalizationState;
265
266 /**
267 * QmiUimCardApplicationPersonalizationFeature:
268 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK: GW network.
269 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK_SUBSET: GW network subset.
270 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SERVICE_PROVIDER: GW service provider.
271 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_CORPORATE: GW corporate.
272 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_UIM: UIM.
273 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_1: 1X network type 1.
274 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_2: 1X network type 2.
275 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_HRPD: 1X HRPD.
276 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_SERVICE_PROVIDER: 1X service provider.
277 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_CORPORATE: 1X corporate.
278 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_RUIM: 1X R-UIM.
279 * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN: Unknown.
280 *
281 * Card application personalization feature, when a code is required.
282 */
283 typedef enum {
284 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK = 0,
285 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK_SUBSET = 1,
286 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SERVICE_PROVIDER = 2,
287 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_CORPORATE = 3,
288 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_UIM = 4,
289 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_1 = 5,
290 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_2 = 6,
291 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_HRPD = 7,
292 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_SERVICE_PROVIDER = 8,
293 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_CORPORATE = 9,
294 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_RUIM = 10,
295 QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN = 11
296 } QmiUimCardApplicationPersonalizationFeature;
297
298 #endif /* _LIBQMI_GLIB_QMI_ENUMS_UIM_H_ */