uqmi: print radio interfaces in serving system command
[project/uqmi.git] / qmi-enums-dms.h
1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * uqmi -- tiny QMI support implementation
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 Lanedo GmbH <aleksander@lanedo.com>
21 */
22
23 #ifndef _LIBQMI_GLIB_QMI_ENUMS_DMS_H_
24 #define _LIBQMI_GLIB_QMI_ENUMS_DMS_H_
25
26 /**
27 * SECTION: qmi-enums-dms
28 * @title: DMS enumerations and flags
29 *
30 * This section defines enumerations and flags used in the DMS service
31 * interface.
32 */
33
34 /*****************************************************************************/
35 /* Helper enums for the 'QMI DMS Get Capabilities' message */
36
37 /**
38 * QmiDmsDataServiceCapability:
39 * @QMI_DMS_DATA_SERVICE_CAPABILITY_NONE: No data services supported.
40 * @QMI_DMS_DATA_SERVICE_CAPABILITY_CS: Only CS supported.
41 * @QMI_DMS_DATA_SERVICE_CAPABILITY_PS: Only PS supported.
42 * @QMI_DMS_DATA_SERVICE_CAPABILITY_SIMULTANEOUS_CS_PS: Simultaneous CS and PS supported.
43 * @QMI_DMS_DATA_SERVICE_CAPABILITY_NON_SIMULTANEOUS_CS_PS: Non simultaneous CS and PS supported.
44 *
45 * Data service capability.
46 */
47 typedef enum {
48 QMI_DMS_DATA_SERVICE_CAPABILITY_NONE = 0,
49 QMI_DMS_DATA_SERVICE_CAPABILITY_CS = 1,
50 QMI_DMS_DATA_SERVICE_CAPABILITY_PS = 2,
51 QMI_DMS_DATA_SERVICE_CAPABILITY_SIMULTANEOUS_CS_PS = 3,
52 QMI_DMS_DATA_SERVICE_CAPABILITY_NON_SIMULTANEOUS_CS_PS = 4
53 } QmiDmsDataServiceCapability;
54
55 /**
56 * QmiDmsSimCapability:
57 * @QMI_DMS_SIM_CAPABILITY_NOT_SUPPORTED: SIM not supported.
58 * @QMI_DMS_SIM_CAPABILITY_SUPPORTED: SIM is supported.
59 *
60 * SIM capability.
61 */
62 typedef enum {
63 QMI_DMS_SIM_CAPABILITY_NOT_SUPPORTED = 1,
64 QMI_DMS_SIM_CAPABILITY_SUPPORTED = 2
65 } QmiDmsSimCapability;
66
67 /**
68 * QmiDmsRadioInterface:
69 * @QMI_DMS_RADIO_INTERFACE_CDMA20001X: CDMA2000 1x.
70 * @QMI_DMS_RADIO_INTERFACE_EVDO: CDMA2000 HRPD (1xEV-DO)
71 * @QMI_DMS_RADIO_INTERFACE_GSM: GSM.
72 * @QMI_DMS_RADIO_INTERFACE_UMTS: UMTS.
73 * @QMI_DMS_RADIO_INTERFACE_LTE: LTE.
74 *
75 * Radio interface type.
76 */
77 typedef enum {
78 QMI_DMS_RADIO_INTERFACE_CDMA20001X = 1,
79 QMI_DMS_RADIO_INTERFACE_EVDO = 2,
80 QMI_DMS_RADIO_INTERFACE_GSM = 4,
81 QMI_DMS_RADIO_INTERFACE_UMTS = 5,
82 QMI_DMS_RADIO_INTERFACE_LTE = 8
83 } QmiDmsRadioInterface;
84
85
86 /*****************************************************************************/
87 /* Helper enums for the 'QMI DMS Get Power State' message */
88
89 /**
90 * QmiDmsPowerState:
91 * @QMI_DMS_POWER_STATE_EXTERNAL_SOURCE: Powered by an external source.
92 * @QMI_DMS_POWER_STATE_BATTERY_CONNECTED: Battery is connected.
93 * @QMI_DMS_POWER_STATE_BATTERY_CHARGING: Battery is currently being charged.
94 * @QMI_DMS_POWER_STATE_FAULT: Recognized power fault.
95 *
96 * Flags specifying the current power state.
97 *
98 * If @QMI_DMS_POWER_STATE_EXTERNAL_SOURCE is set, the device is powerered by an
99 * external source; otherwise it is powered by a battery.
100 *
101 * If @QMI_DMS_POWER_STATE_BATTERY_CONNECTED is set, the battery is connected;
102 * otherwise the battery is not connected.
103 *
104 * If @QMI_DMS_POWER_STATE_BATTERY_CHARGING is set, the battery is being charged;
105 * otherwise the battery is not being charged.
106 *
107 * If @QMI_DMS_POWER_STATE_FAULT is set, a power fault has been detected.
108 */
109 typedef enum {
110 QMI_DMS_POWER_STATE_EXTERNAL_SOURCE = 1 << 0,
111 QMI_DMS_POWER_STATE_BATTERY_CONNECTED = 1 << 1,
112 QMI_DMS_POWER_STATE_BATTERY_CHARGING = 1 << 2,
113 QMI_DMS_POWER_STATE_FAULT = 1 << 3,
114 } QmiDmsPowerState;
115
116
117 /*****************************************************************************/
118 /* Helper enums for the 'QMI DMS UIM Set PIN Protection' message */
119
120 /**
121 * QmiDmsUimPinId:
122 * @QMI_DMS_UIM_PIN_ID_PIN: PIN.
123 * @QMI_DMS_UIM_PIN_ID_PIN2: PIN2.
124 *
125 * The PIN identifier.
126 */
127 typedef enum {
128 QMI_DMS_UIM_PIN_ID_PIN = 1,
129 QMI_DMS_UIM_PIN_ID_PIN2 = 2
130 } QmiDmsUimPinId;
131
132
133 /*****************************************************************************/
134 /* Helper enums for the 'QMI DMS UIM Get PIN Status' message */
135
136 /**
137 * QmiDmsUimPinStatus:
138 * @QMI_DMS_UIM_PIN_STATUS_NOT_INITIALIZED: Not initialized.
139 * @QMI_DMS_UIM_PIN_STATUS_ENABLED_NOT_VERIFIED: Enabled, not verified.
140 * @QMI_DMS_UIM_PIN_STATUS_ENABLED_VERIFIED: Enabled, verified.
141 * @QMI_DMS_UIM_PIN_STATUS_DISABLED: Disabled.
142 * @QMI_DMS_UIM_PIN_STATUS_BLOCKED: Blocked.
143 * @QMI_DMS_UIM_PIN_STATUS_PERMANENTLY_BLOCKED: Permanently Blocked.
144 * @QMI_DMS_UIM_PIN_STATUS_UNBLOCKED: Unblocked.
145 * @QMI_DMS_UIM_PIN_STATUS_CHANGED: Changed.
146 *
147 * The PIN status.
148 */
149 typedef enum {
150 QMI_DMS_UIM_PIN_STATUS_NOT_INITIALIZED = 0,
151 QMI_DMS_UIM_PIN_STATUS_ENABLED_NOT_VERIFIED = 1,
152 QMI_DMS_UIM_PIN_STATUS_ENABLED_VERIFIED = 2,
153 QMI_DMS_UIM_PIN_STATUS_DISABLED = 3,
154 QMI_DMS_UIM_PIN_STATUS_BLOCKED = 4,
155 QMI_DMS_UIM_PIN_STATUS_PERMANENTLY_BLOCKED = 5,
156 QMI_DMS_UIM_PIN_STATUS_UNBLOCKED = 6,
157 QMI_DMS_UIM_PIN_STATUS_CHANGED = 7,
158 } QmiDmsUimPinStatus;
159
160 /*****************************************************************************/
161 /* Helper enums for the 'QMI DMS Get Operating Mode' message */
162
163 /**
164 * QmiDmsOperatingMode:
165 * @QMI_DMS_OPERATING_MODE_ONLINE: Device can acquire a system and make calls.
166 * @QMI_DMS_OPERATING_MODE_LOW_POWER: Device has temporarily disabled RF.
167 * @QMI_DMS_OPERATING_MODE_PERSISTENT_LOW_POWER: Device has disabled RF and state persists even after a reset.
168 * @QMI_DMS_OPERATING_MODE_FACTORY_TEST: Special mode for manufacturer tests.
169 * @QMI_DMS_OPERATING_MODE_OFFLINE: Device has deactivated RF and is partially shutdown.
170 * @QMI_DMS_OPERATING_MODE_RESET: Device is in the process of power cycling.
171 * @QMI_DMS_OPERATING_MODE_SHUTTING_DOWN: Device is in the process of shutting down.
172 * @QMI_DMS_OPERATING_MODE_MODE_ONLY_LOW_POWER: Mode-only Low Power.
173 * @QMI_DMS_OPERATING_MODE_UNKNOWN: Unknown.
174 *
175 * Operating mode of the device.
176 */
177 typedef enum {
178 QMI_DMS_OPERATING_MODE_ONLINE = 0,
179 QMI_DMS_OPERATING_MODE_LOW_POWER = 1,
180 QMI_DMS_OPERATING_MODE_FACTORY_TEST = 2,
181 QMI_DMS_OPERATING_MODE_OFFLINE = 3,
182 QMI_DMS_OPERATING_MODE_RESET = 4,
183 QMI_DMS_OPERATING_MODE_SHUTTING_DOWN = 5,
184 QMI_DMS_OPERATING_MODE_PERSISTENT_LOW_POWER = 6,
185 QMI_DMS_OPERATING_MODE_MODE_ONLY_LOW_POWER = 7,
186 QMI_DMS_OPERATING_MODE_UNKNOWN = 0xFF
187 } QmiDmsOperatingMode;
188
189 /**
190 * QmiDmsOfflineReason:
191 * @QMI_DMS_OFFLINE_REASON_HOST_IMAGE_MISCONFIGURATION: Host image misconfiguration.
192 * @QMI_DMS_OFFLINE_REASON_PRI_IMAGE_MISCONFIGURATION: PRI image misconfiguration.
193 * @QMI_DMS_OFFLINE_REASON_PRI_VERSION_INCOMPATIBLE: PRI version incompatible.
194 * @QMI_DMS_OFFLINE_REASON_DEVICE_MEMORY_FULL: Memory full, cannot copy PRI information.
195 *
196 * Reasons for being in Offline (@QMI_DMS_OPERATING_MODE_OFFLINE) state.
197 */
198 typedef enum {
199 QMI_DMS_OFFLINE_REASON_HOST_IMAGE_MISCONFIGURATION = 1 << 0,
200 QMI_DMS_OFFLINE_REASON_PRI_IMAGE_MISCONFIGURATION = 1 << 1,
201 QMI_DMS_OFFLINE_REASON_PRI_VERSION_INCOMPATIBLE = 1 << 2,
202 QMI_DMS_OFFLINE_REASON_DEVICE_MEMORY_FULL = 1 << 3
203 } QmiDmsOfflineReason;
204
205 /*****************************************************************************/
206 /* Helper enums for the 'QMI DMS Get Time' message */
207
208 /**
209 * QmiDmsTimeSource:
210 * @QMI_DMS_TIME_SOURCE_DEVICE: 32 kHz device clock.
211 * @QMI_DMS_TIME_SOURCE_CDMA_NETWORK: CDMA network.
212 * @QMI_DMS_TIME_SOURCE_HDR_NETWORK: HDR network.
213 *
214 * Source of the timestamp.
215 */
216 typedef enum {
217 QMI_DMS_TIME_SOURCE_DEVICE = 0,
218 QMI_DMS_TIME_SOURCE_CDMA_NETWORK = 1,
219 QMI_DMS_TIME_SOURCE_HDR_NETWORK = 2,
220 } QmiDmsTimeSource;
221
222 /*****************************************************************************/
223 /* Helper enums for the 'QMI DMS Get Activation State' message */
224
225 /**
226 * QmiDmsActivationState:
227 * @QMI_DMS_ACTIVATION_STATE_NOT_ACTIVATED: Service not activated.
228 * @QMI_DMS_ACTIVATION_STATE_ACTIVATED: Service is activated.
229 * @QMI_DMS_ACTIVATION_STATE_CONNECTING: Connection in progress for automatic activation.
230 * @QMI_DMS_ACTIVATION_STATE_CONNECTED: Connection connected for automatic activation.
231 * @QMI_DMS_ACTIVATION_STATE_OTASP_AUTHENTICATED: OTASP security authenticated.
232 * @QMI_DMS_ACTIVATION_STATE_OTASP_NAM: OTASP NAM downloaded.
233 * @QMI_DMS_ACTIVATION_STATE_OTASP_MDN: OTASP MDN downloaded.
234 * @QMI_DMS_ACTIVATION_STATE_OTASP_IMSI: OTASP IMSI downloaded.
235 * @QMI_DMS_ACTIVATION_STATE_OTASP_PRL: OTASP PRL downloaded.
236 * @QMI_DMS_ACTIVATION_STATE_OTASP_SPC: OTASP SPC downloaded.
237 * @QMI_DMS_ACTIVATION_STATE_OTASP_COMMITED: OTASP settings committed.
238 *
239 * State of the service activation.
240 */
241 typedef enum {
242 QMI_DMS_ACTIVATION_STATE_NOT_ACTIVATED = 0x00,
243 QMI_DMS_ACTIVATION_STATE_ACTIVATED = 0x01,
244 QMI_DMS_ACTIVATION_STATE_CONNECTING = 0x02,
245 QMI_DMS_ACTIVATION_STATE_CONNECTED = 0x03,
246 QMI_DMS_ACTIVATION_STATE_OTASP_AUTHENTICATED = 0x04,
247 QMI_DMS_ACTIVATION_STATE_OTASP_NAM = 0x05,
248 QMI_DMS_ACTIVATION_STATE_OTASP_MDN = 0x06,
249 QMI_DMS_ACTIVATION_STATE_OTASP_IMSI = 0x07,
250 QMI_DMS_ACTIVATION_STATE_OTASP_PRL = 0x08,
251 QMI_DMS_ACTIVATION_STATE_OTASP_SPC = 0x09,
252 QMI_DMS_ACTIVATION_STATE_OTASP_COMMITED = 0x0A
253 } QmiDmsActivationState;
254
255 /*****************************************************************************/
256 /* Helper enums for the 'QMI DMS UIM Get CK Status' message */
257
258 /**
259 * QmiDmsUimFacility:
260 * @QMI_DMS_UIM_FACILITY_PN: Network personalization facility.
261 * @QMI_DMS_UIM_FACILITY_PU: Network subset personalization facility.
262 * @QMI_DMS_UIM_FACILITY_PP: Service provider facility.
263 * @QMI_DMS_UIM_FACILITY_PC: Corporate personalization facility.
264 * @QMI_DMS_UIM_FACILITY_PF: UIM personalization facility.
265 *
266 * UIM personalization facilities.
267 */
268 typedef enum {
269 QMI_DMS_UIM_FACILITY_PN = 0,
270 QMI_DMS_UIM_FACILITY_PU = 1,
271 QMI_DMS_UIM_FACILITY_PP = 2,
272 QMI_DMS_UIM_FACILITY_PC = 3,
273 QMI_DMS_UIM_FACILITY_PF = 4
274 } QmiDmsUimFacility;
275
276 /**
277 * QmiDmsUimFacilityState:
278 * @QMI_DMS_UIM_FACILITY_STATE_DEACTIVATED: Facility is deactivated.
279 * @QMI_DMS_UIM_FACILITY_STATE_ACTIVATED: Facility is activated.
280 * @QMI_DMS_UIM_FACILITY_STATE_BLOCKED: Facility is blocked.
281 */
282 typedef enum {
283 QMI_DMS_UIM_FACILITY_STATE_DEACTIVATED = 0,
284 QMI_DMS_UIM_FACILITY_STATE_ACTIVATED = 1,
285 QMI_DMS_UIM_FACILITY_STATE_BLOCKED = 2
286 } QmiDmsUimFacilityState;
287
288 /*****************************************************************************/
289 /* Helper enums for the 'QMI DMS UIM Get State' message */
290
291 /**
292 * QmiDmsUimState:
293 * @QMI_DMS_UIM_STATE_INITIALIZATION_COMPLETED: UIM initialization completed.
294 * @QMI_DMS_UIM_STATE_LOCKED_OR_FAILED: UIM is locked or failed.
295 * @QMI_DMS_UIM_STATE_NOT_PRESENT: No UIM in the device.
296 * @QMI_DMS_UIM_STATE_RESERVED: Reserved, unknown.
297 * @QMI_DMS_UIM_STATE_UNKNOWN: UIM state currently unavailable.
298 *
299 * State of the UIM.
300 */
301 typedef enum {
302 QMI_DMS_UIM_STATE_INITIALIZATION_COMPLETED = 0x00,
303 QMI_DMS_UIM_STATE_LOCKED_OR_FAILED = 0x01,
304 QMI_DMS_UIM_STATE_NOT_PRESENT = 0x02,
305 QMI_DMS_UIM_STATE_RESERVED = 0x03,
306 QMI_DMS_UIM_STATE_UNKNOWN = 0xFF
307 } QmiDmsUimState;
308
309 /*****************************************************************************/
310 /* Helper enums for the 'QMI DMS Set Time' message */
311
312 /**
313 * QmiDmsTimeReferenceType:
314 * @QMI_DMS_TIME_REFERENCE_TYPE_USER: User time.
315 *
316 * Time reference type.
317 */
318 typedef enum {
319 QMI_DMS_TIME_REFERENCE_TYPE_USER = 0
320 } QmiDmsTimeReferenceType;
321
322 /*****************************************************************************/
323 /* Helper enums for the 'QMI DMS Get Firmware Preference' message */
324
325 /**
326 * QmiDmsFirmwareImageType:
327 * @QMI_DMS_FIRMWARE_IMAGE_TYPE_MODEM: Modem image.
328 * @QMI_DMS_FIRMWARE_IMAGE_TYPE_PRI: PRI image.
329 *
330 * Type of firmware image.
331 */
332 typedef enum {
333 QMI_DMS_FIRMWARE_IMAGE_TYPE_MODEM = 0,
334 QMI_DMS_FIRMWARE_IMAGE_TYPE_PRI = 1
335 } QmiDmsFirmwareImageType;
336
337 #endif /* _LIBQMI_GLIB_QMI_ENUMS_DMS_H_ */