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_ */