umbim: fix invalid mbim message string encoding
[project/umbim.git] / mbim-enum.h
1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3 /*
4 * libmbim-glib -- GLib/GIO based library to control MBIM devices
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301 USA.
20 *
21 * Copyright (C) 2013 - 2014 Aleksander Morgado <aleksander@aleksander.es>
22 */
23
24 #ifndef _LIBMBIM_GLIB_MBIM_ENUMS_H_
25 #define _LIBMBIM_GLIB_MBIM_ENUMS_H_
26
27 /**
28 * MbimMessageType:
29 * @MBIM_MESSAGE_TYPE_INVALID: Invalid MBIM message.
30 * @MBIM_MESSAGE_TYPE_OPEN: Initialization request.
31 * @MBIM_MESSAGE_TYPE_CLOSE: Close request.
32 * @MBIM_MESSAGE_TYPE_COMMAND: Command request.
33 * @MBIM_MESSAGE_TYPE_HOST_ERROR: Host-reported error in the communication.
34 * @MBIM_MESSAGE_TYPE_OPEN_DONE: Response to initialization request.
35 * @MBIM_MESSAGE_TYPE_CLOSE_DONE: Response to close request.
36 * @MBIM_MESSAGE_TYPE_COMMAND_DONE: Response to command request.
37 * @MBIM_MESSAGE_TYPE_FUNCTION_ERROR: Function-reported error in the communication.
38 * @MBIM_MESSAGE_TYPE_INDICATE_STATUS: Unsolicited message from the function.
39 *
40 * Type of MBIM messages.
41 */
42 typedef enum {
43 MBIM_MESSAGE_TYPE_INVALID = 0x00000000,
44 /* From Host to Function */
45 MBIM_MESSAGE_TYPE_OPEN = 0x00000001,
46 MBIM_MESSAGE_TYPE_CLOSE = 0x00000002,
47 MBIM_MESSAGE_TYPE_COMMAND = 0x00000003,
48 MBIM_MESSAGE_TYPE_HOST_ERROR = 0x00000004,
49 /* From Function to Host */
50 MBIM_MESSAGE_TYPE_OPEN_DONE = 0x80000001,
51 MBIM_MESSAGE_TYPE_CLOSE_DONE = 0x80000002,
52 MBIM_MESSAGE_TYPE_COMMAND_DONE = 0x80000003,
53 MBIM_MESSAGE_TYPE_FUNCTION_ERROR = 0x80000004,
54 MBIM_MESSAGE_TYPE_INDICATE_STATUS = 0x80000007
55 } MbimMessageType;
56
57 /**
58 * MbimMessageCommandType:
59 * @MBIM_MESSAGE_COMMAND_TYPE_UNKNOWN: Unknown type.
60 * @MBIM_MESSAGE_COMMAND_TYPE_QUERY: Query command.
61 * @MBIM_MESSAGE_COMMAND_TYPE_SET: Set command.
62 *
63 * Type of command message.
64 */
65 typedef enum {
66 MBIM_MESSAGE_COMMAND_TYPE_UNKNOWN = -1,
67 MBIM_MESSAGE_COMMAND_TYPE_QUERY = 0,
68 MBIM_MESSAGE_COMMAND_TYPE_SET = 1
69 } MbimMessageCommandType;
70
71 /**
72 * SECTION: mbim-enums
73 * @title: Enumerations and Flags
74 * @short_description: Common enumeration and flag types.
75 *
76 * This section defines common enum and flag types used in the interface.
77 */
78
79 /*****************************************************************************/
80 /* 'Device Caps' enums */
81
82 /**
83 * MbimDeviceType:
84 * @MBIM_DEVICE_TYPE_UNKNOWN: Unknown type.
85 * @MBIM_DEVICE_TYPE_EMBEDDED: Device is embedded in the system.
86 * @MBIM_DEVICE_TYPE_REMOVABLE: Device is removable.
87 * @MBIM_DEVICE_TYPE_REMOTE: Device is remote.
88 *
89 * Type of device.
90 */
91 typedef enum {
92 MBIM_DEVICE_TYPE_UNKNOWN = 0,
93 MBIM_DEVICE_TYPE_EMBEDDED = 1,
94 MBIM_DEVICE_TYPE_REMOVABLE = 2,
95 MBIM_DEVICE_TYPE_REMOTE = 3
96 } MbimDeviceType;
97
98 /**
99 * MbimCellularClass:
100 * @MBIM_CELLULAR_CLASS_GSM: Device is 3GPP.
101 * @MBIM_CELLULAR_CLASS_CDMA: Device is 3GPP2.
102 *
103 * Cellular class.
104 */
105 typedef enum {
106 MBIM_CELLULAR_CLASS_GSM = 1 << 0,
107 MBIM_CELLULAR_CLASS_CDMA = 1 << 1
108 } MbimCellularClass;
109
110 /**
111 * MbimVoiceClass:
112 * @MBIM_VOICE_CLASS_UNKNOWN: Unknown voice class.
113 * @MBIM_VOICE_CLASS_NO_VOICE: Device doesn't support voice.
114 * @MBIM_VOICE_CLASS_SEPARATED_VOICE_DATA: Device supports separate voice and data connections.
115 * @MBIM_VOICE_CLASS_SIMULTANEOUS_VOICE_DATA: Device supports simultaneous voice and data connections.
116 *
117 * Voice class.
118 */
119 typedef enum {
120 MBIM_VOICE_CLASS_UNKNOWN = 0,
121 MBIM_VOICE_CLASS_NO_VOICE = 1,
122 MBIM_VOICE_CLASS_SEPARATED_VOICE_DATA = 2,
123 MBIM_VOICE_CLASS_SIMULTANEOUS_VOICE_DATA = 3
124 } MbimVoiceClass;
125
126 /**
127 * MbimSimClass:
128 * @MBIM_SIM_CLASS_LOGICAL: No physical SIM.
129 * @MBIM_SIM_CLASS_REMOVABLE: Physical removable SIM.
130 *
131 * SIM class.
132 */
133 typedef enum {
134 MBIM_SIM_CLASS_LOGICAL = 1 << 0,
135 MBIM_SIM_CLASS_REMOVABLE = 1 << 1
136 } MbimSimClass;
137
138 /**
139 * MbimDataClass:
140 * @MBIM_DATA_CLASS_GPRS: GPRS.
141 * @MBIM_DATA_CLASS_EDGE: EDGE.
142 * @MBIM_DATA_CLASS_UMTS: UMTS.
143 * @MBIM_DATA_CLASS_HSDPA: HSDPA.
144 * @MBIM_DATA_CLASS_HSUPA: HSUPA.
145 * @MBIM_DATA_CLASS_LTE: LTE.
146 * @MBIM_DATA_CLASS_1XRTT: 1xRTT.
147 * @MBIM_DATA_CLASS_1XEVDO: 1xEV-DO.
148 * @MBIM_DATA_CLASS_1XEVDO_REVA: 1xEV-DO RevA
149 * @MBIM_DATA_CLASS_1XEVDV: 1xEV-DV.
150 * @MBIM_DATA_CLASS_3XRTT: 3xRTT.
151 * @MBIM_DATA_CLASS_1XEVDO_REVB: 1xEV-DO RevB.
152 * @MBIM_DATA_CLASS_UMB: UMB.
153 * @MBIM_DATA_CLASS_CUSTOM: Custom.
154 *
155 * Data class.
156 */
157 typedef enum {
158 MBIM_DATA_CLASS_GPRS = 1 << 0,
159 MBIM_DATA_CLASS_EDGE = 1 << 1,
160 MBIM_DATA_CLASS_UMTS = 1 << 2,
161 MBIM_DATA_CLASS_HSDPA = 1 << 3,
162 MBIM_DATA_CLASS_HSUPA = 1 << 4,
163 MBIM_DATA_CLASS_LTE = 1 << 5,
164 /* Bits 6 to 15 reserved for future 3GPP classes */
165 MBIM_DATA_CLASS_1XRTT = 1 << 16,
166 MBIM_DATA_CLASS_1XEVDO = 1 << 17,
167 MBIM_DATA_CLASS_1XEVDO_REVA = 1 << 18,
168 MBIM_DATA_CLASS_1XEVDV = 1 << 19,
169 MBIM_DATA_CLASS_3XRTT = 1 << 20,
170 MBIM_DATA_CLASS_1XEVDO_REVB = 1 << 21,
171 MBIM_DATA_CLASS_UMB = 1 << 22,
172 /* Bits 23 to 30 reserved for future 3GPP2 classes */
173 MBIM_DATA_CLASS_CUSTOM = 1 << 31
174 } MbimDataClass;
175
176 /**
177 * MbimSmsCaps:
178 * @MBIM_SMS_CAPS_PDU_RECEIVE: Can receive in PDU mode.
179 * @MBIM_SMS_CAPS_PDU_SEND: Can send in PDU mode.
180 * @MBIM_SMS_CAPS_TEXT_RECEIVE: Can receive in text mode.
181 * @MBIM_SMS_CAPS_TEXT_SEND: Can send in text mode.
182 *
183 * SMS capabilities.
184 */
185 typedef enum {
186 MBIM_SMS_CAPS_PDU_RECEIVE = 1 << 0,
187 MBIM_SMS_CAPS_PDU_SEND = 1 << 1,
188 MBIM_SMS_CAPS_TEXT_RECEIVE = 1 << 2,
189 MBIM_SMS_CAPS_TEXT_SEND = 1 << 3
190 } MbimSmsCaps;
191
192 /**
193 * MbimCtrlCaps:
194 * @MBIM_CTRL_CAPS_REG_MANUAL: Device allows manual network selection.
195 * @MBIM_CTRL_CAPS_HW_RADIO_SWITCH: Device has a hardware radio power switch.
196 * @MBIM_CTRL_CAPS_CDMA_MOBILE_IP: The CDMA function supports Mobile IP.
197 * @MBIM_CTRL_CAPS_CDMA_SIMPLE_IP: The CDMA function supports Simple IP.
198 * @MBIM_CTRL_CAPS_MULTI_CARRIER: Device can work with multiple providers.
199 *
200 * Control capabilities.
201 */
202 typedef enum {
203 MBIM_CTRL_CAPS_REG_MANUAL = 1 << 0,
204 MBIM_CTRL_CAPS_HW_RADIO_SWITCH = 1 << 1,
205 MBIM_CTRL_CAPS_CDMA_MOBILE_IP = 1 << 2,
206 MBIM_CTRL_CAPS_CDMA_SIMPLE_IP = 1 << 3,
207 MBIM_CTRL_CAPS_MULTI_CARRIER = 1 << 4
208 } MbimCtrlCaps;
209
210 /*****************************************************************************/
211 /* 'Subscriber Ready Status' enums */
212
213 /**
214 * MbimSubscriberReadyState:
215 * @MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED: Not initialized.
216 * @MBIM_SUBSCRIBER_READY_STATE_INITIALIZED: Initialized.
217 * @MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED: SIM not inserted.
218 * @MBIM_SUBSCRIBER_READY_STATE_BAD_SIM: Bad SIM.
219 * @MBIM_SUBSCRIBER_READY_STATE_FAILURE: Failure.
220 * @MBIM_SUBSCRIBER_READY_STATE_NOT_ACTIVATED: Not activated.
221 * @MBIM_SUBSCRIBER_READY_STATE_DEVICE_LOCKED: Device locked.
222 *
223 * Ready state of the subscriber.
224 */
225 typedef enum {
226 MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED = 0,
227 MBIM_SUBSCRIBER_READY_STATE_INITIALIZED = 1,
228 MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED = 2,
229 MBIM_SUBSCRIBER_READY_STATE_BAD_SIM = 3,
230 MBIM_SUBSCRIBER_READY_STATE_FAILURE = 4,
231 MBIM_SUBSCRIBER_READY_STATE_NOT_ACTIVATED = 5,
232 MBIM_SUBSCRIBER_READY_STATE_DEVICE_LOCKED = 6,
233 } MbimSubscriberReadyState;
234
235 /**
236 * MbimReadyInfoFlag:
237 * @MBIM_READY_INFO_FLAG_PROTECT_UNIQUE_ID: Request to avoid displaying subscriber ID.
238 */
239 typedef enum {
240 MBIM_READY_INFO_FLAG_PROTECT_UNIQUE_ID = 1 << 0
241 } MbimReadyInfoFlag;
242
243 /*****************************************************************************/
244 /* 'Radio State' enums */
245
246 /**
247 * MbimRadioSwitchState:
248 * @MBIM_RADIO_SWITCH_STATE_OFF: Radio is off.
249 * @MBIM_RADIO_SWITCH_STATE_ON: Radio is on.
250 *
251 * Radio switch state.
252 */
253 typedef enum {
254 MBIM_RADIO_SWITCH_STATE_OFF = 0,
255 MBIM_RADIO_SWITCH_STATE_ON = 1
256 } MbimRadioSwitchState;
257
258 /*****************************************************************************/
259 /* 'Pin' enums */
260
261 /**
262 * MbimPinType:
263 * @MBIM_PIN_TYPE_UNKNOWN: Unknown or unset.
264 * @MBIM_PIN_TYPE_CUSTOM: The PIN type is a custom type and is none of the other PIN types listed in this enumeration.
265 * @MBIM_PIN_TYPE_PIN1: The PIN1 key.
266 * @MBIM_PIN_TYPE_PIN2: The PIN2 key.
267 * @MBIM_PIN_TYPE_DEVICE_SIM_PIN: The device to SIM key.
268 * @MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PIN: The device to very first SIM key.
269 * @MBIM_PIN_TYPE_NETWORK_PIN: The network personalization key.
270 * @MBIM_PIN_TYPE_NETWORK_SUBSET_PIN: The network subset personalization key.
271 * @MBIM_PIN_TYPE_SERVICE_PROVIDER_PIN: The service provider (SP) personalization key.
272 * @MBIM_PIN_TYPE_CORPORATE_PIN: The corporate personalization key.
273 * @MBIM_PIN_TYPE_SUBSIDY_PIN: The subsidy unlock key.
274 * @MBIM_PIN_TYPE_PUK1: The Personal Identification Number1 Unlock Key (PUK1).
275 * @MBIM_PIN_TYPE_PUK2: The Personal Identification Number2 Unlock Key (PUK2).
276 * @MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PUK: The device to very first SIM PIN unlock key.
277 * @MBIM_PIN_TYPE_NETWORK_PUK: The network personalization unlock key.
278 * @MBIM_PIN_TYPE_NETWORK_SUBSET_PUK: The network subset personalization unlock key.
279 * @MBIM_PIN_TYPE_SERVICE_PROVIDER_PUK: The service provider (SP) personalization unlock key.
280 * @MBIM_PIN_TYPE_CORPORATE_PUK: The corporate personalization unlock key.
281 *
282 * PIN Types.
283 */
284 typedef enum {
285 MBIM_PIN_TYPE_UNKNOWN = 0,
286 MBIM_PIN_TYPE_CUSTOM = 1,
287 MBIM_PIN_TYPE_PIN1 = 2,
288 MBIM_PIN_TYPE_PIN2 = 3,
289 MBIM_PIN_TYPE_DEVICE_SIM_PIN = 4,
290 MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PIN = 5,
291 MBIM_PIN_TYPE_NETWORK_PIN = 6,
292 MBIM_PIN_TYPE_NETWORK_SUBSET_PIN = 7,
293 MBIM_PIN_TYPE_SERVICE_PROVIDER_PIN = 8,
294 MBIM_PIN_TYPE_CORPORATE_PIN = 9,
295 MBIM_PIN_TYPE_SUBSIDY_PIN = 10,
296 MBIM_PIN_TYPE_PUK1 = 11,
297 MBIM_PIN_TYPE_PUK2 = 12,
298 MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PUK = 13,
299 MBIM_PIN_TYPE_NETWORK_PUK = 14,
300 MBIM_PIN_TYPE_NETWORK_SUBSET_PUK = 15,
301 MBIM_PIN_TYPE_SERVICE_PROVIDER_PUK = 16,
302 MBIM_PIN_TYPE_CORPORATE_PUK = 17
303 } MbimPinType;
304
305 /**
306 * MbimPinState:
307 * @MBIM_PIN_STATE_UNLOCKED: The device does not require a PIN.
308 * @MBIM_PIN_STATE_LOCKED: The device requires the user to enter a PIN.
309 *
310 * PIN States.
311 */
312 typedef enum {
313 MBIM_PIN_STATE_UNLOCKED = 0,
314 MBIM_PIN_STATE_LOCKED = 1
315 } MbimPinState;
316
317 /**
318 * MbimPinOperation:
319 * @MBIM_PIN_OPERATION_ENTER: Enter the specified PIN into the device.
320 * @MBIM_PIN_OPERATION_ENABLE: Enable the specified PIN.
321 * @MBIM_PIN_OPERATION_DISABLE: Disable the specified PIN.
322 * @MBIM_PIN_OPERATION_CHANGE: Change the specified PIN.
323 */
324 typedef enum {
325 MBIM_PIN_OPERATION_ENTER = 0,
326 MBIM_PIN_OPERATION_ENABLE = 1,
327 MBIM_PIN_OPERATION_DISABLE = 2,
328 MBIM_PIN_OPERATION_CHANGE = 3
329 } MbimPinOperation;
330
331 /*****************************************************************************/
332 /* 'Pin List' enums */
333
334 /**
335 * MbimPinMode:
336 * @MBIM_PIN_MODE_NOT_SUPPORTED: Not supported.
337 * @MBIM_PIN_MODE_ENABLED: Enabled.
338 * @MBIM_PIN_MODE_DISABLED: Disabled.
339 *
340 * Whether the lock is enabled or disabled.
341 */
342 typedef enum {
343 MBIM_PIN_MODE_NOT_SUPPORTED = 0,
344 MBIM_PIN_MODE_ENABLED = 1,
345 MBIM_PIN_MODE_DISABLED = 2
346 } MbimPinMode;
347
348 /**
349 * MbimPinFormat:
350 * @MBIM_PIN_FORMAT_UNKNOWN: Unknown format.
351 * @MBIM_PIN_FORMAT_NUMERIC: Numeric-only format.
352 * @MBIM_PIN_FORMAT_ALPHANUMERIC: Alphanumeric format.
353 *
354 * Format of the expected PIN code.
355 */
356 typedef enum {
357 MBIM_PIN_FORMAT_UNKNOWN = 0,
358 MBIM_PIN_FORMAT_NUMERIC = 1,
359 MBIM_PIN_FORMAT_ALPHANUMERIC = 2
360 } MbimPinFormat;
361
362 /*****************************************************************************/
363 /* 'Home Provider' enums */
364
365 /**
366 * MbimProviderState:
367 * @MBIM_PROVIDER_STATE_UNKNOWN: Unknown.
368 * @MBIM_PROVIDER_STATE_HOME: Home operator.
369 * @MBIM_PROVIDER_STATE_FORBIDDEN: Provider blocked.
370 * @MBIM_PROVIDER_STATE_PREFERRED: Provider is in the preferred list.
371 * @MBIM_PROVIDER_STATE_VISIBLE: Provider is visible.
372 * @MBIM_PROVIDER_STATE_REGISTERED: Currently registered to the provider.
373 * @MBIM_PROVIDER_STATE_PREFERRED_MULTICARRIER: Provider is a preferred multicarrier network.
374 *
375 * State of the provider.
376 */
377 typedef enum {
378 MBIM_PROVIDER_STATE_UNKNOWN = 0,
379 MBIM_PROVIDER_STATE_HOME = 1 << 0,
380 MBIM_PROVIDER_STATE_FORBIDDEN = 1 << 1,
381 MBIM_PROVIDER_STATE_PREFERRED = 1 << 2,
382 MBIM_PROVIDER_STATE_VISIBLE = 1 << 3,
383 MBIM_PROVIDER_STATE_REGISTERED = 1 << 4,
384 MBIM_PROVIDER_STATE_PREFERRED_MULTICARRIER = 1 << 5
385 } MbimProviderState;
386
387 /*****************************************************************************/
388 /* 'Visible Providers' enums */
389
390 /**
391 * MbimVisibleProvidersAction:
392 * @MBIM_VISIBLE_PROVIDERS_ACTION_FULL_SCAN: Full scan.
393 * @MBIM_VISIBLE_PROVIDERS_ACTION_RESTRICTED_SCAN: Locate preferred multicarrier providers.
394 *
395 * Type of action to perform when listing visible providers.
396 */
397 typedef enum {
398 MBIM_VISIBLE_PROVIDERS_ACTION_FULL_SCAN = 0,
399 MBIM_VISIBLE_PROVIDERS_ACTION_RESTRICTED_SCAN = 1
400 } MbimVisibleProvidersAction;
401
402 /*****************************************************************************/
403 /* 'Register State' enums */
404
405 /**
406 * MbimNwError:
407 * @MBIM_NW_ERROR_UNKNOWN: Unknown or unset error.
408 * @MBIM_NW_ERROR_IMSI_UNKNOWN_IN_HLR: IMSI unknown in the HLR.
409 * @MBIM_NW_ERROR_ILLEGAL_MS: Illegal MS.
410 * @MBIM_NW_ERROR_IMSI_UNKNOWN_IN_VLR: IMSI unknown in the VLR.
411 * @MBIM_NW_ERROR_IMEI_NOT_ACCEPTED: IMEI not accepted.
412 * @MBIM_NW_ERROR_ILLEGAL_ME: Illegal ME.
413 * @MBIM_NW_ERROR_GPRS_NOT_ALLOWED: GPRS not allowed.
414 * @MBIM_NW_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED: GPRS and non-GPRS not allowed.
415 * @MBIM_NW_ERROR_MS_IDENTITY_NOT_DERIVED_BY_NETWORK: MS identity cannot be derived by the network.
416 * @MBIM_NW_ERROR_IMPLICITLY_DETACHED: Implicitly detached.
417 * @MBIM_NW_ERROR_PLMN_NOT_ALLOWED: PLMN not allowed.
418 * @MBIM_NW_ERROR_LOCATION_AREA_NOT_ALLOWED: Location area not allowed.
419 * @MBIM_NW_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA: Roaming not allowed in the location area.
420 * @MBIM_NW_ERROR_GPRS_NOT_ALLOWED_IN_PLMN: GPRS not allowed in PLMN.
421 * @MBIM_NW_ERROR_NO_CELLS_IN_LOCATION_AREA: No cells in location area.
422 * @MBIM_NW_ERROR_MSC_TEMPORARILY_NOT_REACHABLE: MSC temporarily not reachable.
423 * @MBIM_NW_ERROR_NETWORK_FAILURE: Network failure.
424 * @MBIM_NW_ERROR_MAC_FAILURE: MAC failure.
425 * @MBIM_NW_ERROR_SYNCH_FAILURE: Synch failure.
426 * @MBIM_NW_ERROR_CONGESTION: Congestion.
427 * @MBIM_NW_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE: GSM authentication unacceptable.
428 * @MBIM_NW_ERROR_NOT_AUTHORIZED_FOR_CSG: Not authorized for this CSG.
429 * @MBIM_NW_ERROR_MISSING_OR_UNKNOWN_APN: Missing or unknown access point name.
430 * @MBIM_NW_ERROR_SERVICE_OPTION_NOT_SUPPORTED: Service option not supported.
431 * @MBIM_NW_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED: Requested service option not subscribed.
432 * @MBIM_NW_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER: Service option temporarily out of order.
433 * @MBIM_NW_ERROR_NO_PDP_CONTEXT_ACTIVATED: No PDP context activated.
434 * @MBIM_NW_ERROR_SEMANTICALLY_INCORRECT_MESSAGE: Semantically incorrect message.
435 * @MBIM_NW_ERROR_INVALID_MANDATORY_INFORMATION: Invalid mandatory information.
436 * @MBIM_NW_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED: Message type non-existent or not implemented.
437 * @MBIM_NW_ERROR_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE: Message type not compatible with protocol state.
438 * @MBIM_NW_ERROR_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED: Information element non-existent or not implemented.
439 * @MBIM_NW_ERROR_CONDITIONAL_IE_ERROR: Conditional IE error.
440 * @MBIM_NW_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE: Message not compatible with protocol state.
441 * @MBIM_NW_ERROR_PROTOCOL_ERROR_UNSPECIFIED: Protocol error, unspecified.
442 *
443 * Network errors.
444 */
445 typedef enum {
446 MBIM_NW_ERROR_UNKNOWN = 0,
447 MBIM_NW_ERROR_IMSI_UNKNOWN_IN_HLR = 2,
448 MBIM_NW_ERROR_ILLEGAL_MS = 3,
449 MBIM_NW_ERROR_IMSI_UNKNOWN_IN_VLR = 4,
450 MBIM_NW_ERROR_IMEI_NOT_ACCEPTED = 5,
451 MBIM_NW_ERROR_ILLEGAL_ME = 6,
452 MBIM_NW_ERROR_GPRS_NOT_ALLOWED = 7,
453 MBIM_NW_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED = 8,
454 MBIM_NW_ERROR_MS_IDENTITY_NOT_DERIVED_BY_NETWORK = 9,
455 MBIM_NW_ERROR_IMPLICITLY_DETACHED = 10,
456 MBIM_NW_ERROR_PLMN_NOT_ALLOWED = 11,
457 MBIM_NW_ERROR_LOCATION_AREA_NOT_ALLOWED = 12,
458 MBIM_NW_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA = 13,
459 MBIM_NW_ERROR_GPRS_NOT_ALLOWED_IN_PLMN = 14,
460 MBIM_NW_ERROR_NO_CELLS_IN_LOCATION_AREA = 15,
461 MBIM_NW_ERROR_MSC_TEMPORARILY_NOT_REACHABLE = 16,
462 MBIM_NW_ERROR_NETWORK_FAILURE = 17,
463 MBIM_NW_ERROR_MAC_FAILURE = 20,
464 MBIM_NW_ERROR_SYNCH_FAILURE = 21,
465 MBIM_NW_ERROR_CONGESTION = 22,
466 MBIM_NW_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE = 23,
467 MBIM_NW_ERROR_NOT_AUTHORIZED_FOR_CSG = 25,
468 MBIM_NW_ERROR_MISSING_OR_UNKNOWN_APN = 27,
469 MBIM_NW_ERROR_SERVICE_OPTION_NOT_SUPPORTED = 32,
470 MBIM_NW_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED = 33,
471 MBIM_NW_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
472 MBIM_NW_ERROR_NO_PDP_CONTEXT_ACTIVATED = 40,
473 MBIM_NW_ERROR_SEMANTICALLY_INCORRECT_MESSAGE = 95,
474 MBIM_NW_ERROR_INVALID_MANDATORY_INFORMATION = 96,
475 MBIM_NW_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
476 MBIM_NW_ERROR_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
477 MBIM_NW_ERROR_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
478 MBIM_NW_ERROR_CONDITIONAL_IE_ERROR = 100,
479 MBIM_NW_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
480 MBIM_NW_ERROR_PROTOCOL_ERROR_UNSPECIFIED = 111
481 } MbimNwError;
482
483 /**
484 * MbimRegisterAction:
485 * @MBIM_REGISTER_ACTION_AUTOMATIC: Automatic registration.
486 * @MBIM_REGISTER_ACTION_MANUAL: Manual registration.
487 *
488 * Type of registration requested.
489 */
490 typedef enum {
491 MBIM_REGISTER_ACTION_AUTOMATIC = 0,
492 MBIM_REGISTER_ACTION_MANUAL = 1
493 } MbimRegisterAction;
494
495 /**
496 * MbimRegisterState:
497 * @MBIM_REGISTER_STATE_UNKNOWN: Unknown registration state.
498 * @MBIM_REGISTER_STATE_DEREGISTERED: Not registered.
499 * @MBIM_REGISTER_STATE_SEARCHING: Searching.
500 * @MBIM_REGISTER_STATE_HOME: Registered in home network.
501 * @MBIM_REGISTER_STATE_ROAMING: Registered in roaming network.
502 * @MBIM_REGISTER_STATE_PARTNER: Registered in a preferred roaming network.
503 * @MBIM_REGISTER_STATE_DENIED: Registration denied.
504 *
505 * Registration state.
506 */
507 typedef enum {
508 MBIM_REGISTER_STATE_UNKNOWN = 0,
509 MBIM_REGISTER_STATE_DEREGISTERED = 1,
510 MBIM_REGISTER_STATE_SEARCHING = 2,
511 MBIM_REGISTER_STATE_HOME = 3,
512 MBIM_REGISTER_STATE_ROAMING = 4,
513 MBIM_REGISTER_STATE_PARTNER = 5,
514 MBIM_REGISTER_STATE_DENIED = 6
515 } MbimRegisterState;
516
517 /**
518 * MbimRegisterMode:
519 * @MBIM_REGISTER_MODE_UNKNOWN: Unknown.
520 * @MBIM_REGISTER_MODE_AUTOMATIC: Automatic registration.
521 * @MBIM_REGISTER_MODE_MANUAL: Manual registration.
522 *
523 * Type of registration requested.
524 */
525 typedef enum {
526 MBIM_REGISTER_MODE_UNKNOWN = 0,
527 MBIM_REGISTER_MODE_AUTOMATIC = 1,
528 MBIM_REGISTER_MODE_MANUAL = 2
529 } MbimRegisterMode;
530
531 /**
532 * MbimRegistrationFlag:
533 * @MBIM_REGISTRATION_FLAG_NONE: None.
534 * @MBIM_REGISTRATION_FLAG_MANUAL_SELECTION_NOT_AVAILABLE: Network doesn't support manual network selection.
535 * @MBIM_REGISTRATION_FLAG_PACKET_SERVICE_AUTOMATIC_ATTACH: Modem should auto-attach to the network after registration.
536 *
537 * Registration flags.
538 */
539 typedef enum {
540 MBIM_REGISTRATION_FLAG_NONE = 0,
541 MBIM_REGISTRATION_FLAG_MANUAL_SELECTION_NOT_AVAILABLE = 1 << 0,
542 MBIM_REGISTRATION_FLAG_PACKET_SERVICE_AUTOMATIC_ATTACH = 1 << 1,
543 } MbimRegistrationFlag;
544
545 /*****************************************************************************/
546 /* 'Packet Service' enums */
547
548 /**
549 * MbimPacketServiceAction:
550 * @MBIM_PACKET_SERVICE_ACTION_ATTACH: Attach.
551 * @MBIM_PACKET_SERVICE_ACTION_DETACH: Detach.
552 *
553 * Packet Service Action.
554 */
555 typedef enum {
556 MBIM_PACKET_SERVICE_ACTION_ATTACH = 0,
557 MBIM_PACKET_SERVICE_ACTION_DETACH = 1
558 } MbimPacketServiceAction;
559
560 /**
561 * MbimPacketServiceState:
562 * @MBIM_PACKET_SERVICE_STATE_UNKNOWN: Unknown.
563 * @MBIM_PACKET_SERVICE_STATE_ATTACHING: Attaching.
564 * @MBIM_PACKET_SERVICE_STATE_ATTACHED: Attached.
565 * @MBIM_PACKET_SERVICE_STATE_DETACHING: Detaching.
566 * @MBIM_PACKET_SERVICE_STATE_DETACHED: Detached.
567 *
568 * Packet Service State.
569 */
570 typedef enum {
571 MBIM_PACKET_SERVICE_STATE_UNKNOWN = 0,
572 MBIM_PACKET_SERVICE_STATE_ATTACHING = 1,
573 MBIM_PACKET_SERVICE_STATE_ATTACHED = 2,
574 MBIM_PACKET_SERVICE_STATE_DETACHING = 3,
575 MBIM_PACKET_SERVICE_STATE_DETACHED = 4
576 } MbimPacketServiceState;
577
578 /*****************************************************************************/
579 /* 'Connect' enums */
580
581 /**
582 * MbimActivationCommand:
583 * @MBIM_ACTIVATION_COMMAND_DEACTIVATE: Deactivate.
584 * @MBIM_ACTIVATION_COMMAND_ACTIVATE: Activate.
585 *
586 * Activation Command.
587 */
588 typedef enum {
589 MBIM_ACTIVATION_COMMAND_DEACTIVATE = 0,
590 MBIM_ACTIVATION_COMMAND_ACTIVATE = 1
591 } MbimActivationCommand;
592
593 /**
594 * MbimCompression:
595 * @MBIM_COMPRESSION_NONE: None.
596 * @MBIM_COMPRESSION_ENABLE: Enable.
597 *
598 * Compression.
599 */
600 typedef enum {
601 MBIM_COMPRESSION_NONE = 0,
602 MBIM_COMPRESSION_ENABLE = 1
603 } MbimCompression;
604
605 /**
606 * MbimAuthProtocol:
607 * @MBIM_AUTH_PROTOCOL_NONE: None.
608 * @MBIM_AUTH_PROTOCOL_PAP: Pap.
609 * @MBIM_AUTH_PROTOCOL_CHAP: Chap.
610 * @MBIM_AUTH_PROTOCOL_MSCHAPV2: V2.
611 *
612 * Auth Protocol.
613 */
614 typedef enum {
615 MBIM_AUTH_PROTOCOL_NONE = 0,
616 MBIM_AUTH_PROTOCOL_PAP = 1,
617 MBIM_AUTH_PROTOCOL_CHAP = 2,
618 MBIM_AUTH_PROTOCOL_MSCHAPV2 = 3
619 } MbimAuthProtocol;
620
621 /**
622 * MbimContextIpType:
623 * @MBIM_CONTEXT_IP_TYPE_DEFAULT: It is up to the function to decide, the host does not care.
624 * @MBIM_CONTEXT_IP_TYPE_IPV4: IPv4 context.
625 * @MBIM_CONTEXT_IP_TYPE_IPV6: IPv6 context.
626 * @MBIM_CONTEXT_IP_TYPE_IPV4V6: The context is IPv4, IPv6 or dualstack IPv4v6.
627 * @MBIM_CONTEXT_IP_TYPE_IPV4_AND_IPV6: Both an IPv4 and an IPv6 context.
628 *
629 * Context IP Type.
630 */
631 typedef enum {
632 MBIM_CONTEXT_IP_TYPE_DEFAULT = 0,
633 MBIM_CONTEXT_IP_TYPE_IPV4 = 1,
634 MBIM_CONTEXT_IP_TYPE_IPV6 = 2,
635 MBIM_CONTEXT_IP_TYPE_IPV4V6 = 3,
636 MBIM_CONTEXT_IP_TYPE_IPV4_AND_IPV6 = 4
637 } MbimContextIpType;
638
639 /**
640 * MbimActivationState:
641 * @MBIM_ACTIVATION_STATE_UNKNOWN: Unknown.
642 * @MBIM_ACTIVATION_STATE_ACTIVATED: Activated.
643 * @MBIM_ACTIVATION_STATE_ACTIVATING: Activating.
644 * @MBIM_ACTIVATION_STATE_DEACTIVATED: Deactivated.
645 * @MBIM_ACTIVATION_STATE_DEACTIVATING: Deactivating.
646 *
647 * Activation State.
648 */
649 typedef enum {
650 MBIM_ACTIVATION_STATE_UNKNOWN = 0,
651 MBIM_ACTIVATION_STATE_ACTIVATED = 1,
652 MBIM_ACTIVATION_STATE_ACTIVATING = 2,
653 MBIM_ACTIVATION_STATE_DEACTIVATED = 3,
654 MBIM_ACTIVATION_STATE_DEACTIVATING = 4
655 } MbimActivationState;
656
657 /**
658 * MbimVoiceCallState:
659 * @MBIM_VOICE_CALL_STATE_NONE: None.
660 * @MBIM_VOICE_CALL_STATE_IN_PROGRESS: Progress.
661 * @MBIM_VOICE_CALL_STATE_HANG_UP: Up.
662 *
663 * Voice Call State.
664 */
665 typedef enum {
666 MBIM_VOICE_CALL_STATE_NONE = 0,
667 MBIM_VOICE_CALL_STATE_IN_PROGRESS = 1,
668 MBIM_VOICE_CALL_STATE_HANG_UP = 2
669 } MbimVoiceCallState;
670
671 /*****************************************************************************/
672 /* 'IP Configuration' enums */
673
674 /**
675 * MbimIPConfigurationAvailableFlag:
676 * @MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_NONE: No info available.
677 * @MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_ADDRESS: Address info available.
678 * @MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_GATEWAY: Gateway info available.
679 * @MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_DNS: DNS info available.
680 * @MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_MTU: MTU info available.
681 *
682 * Mask of available information about an IP address.
683 */
684 typedef enum { /*< underscore_name=mbim_ip_configuration_available_flag >*/
685 MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_NONE = 0,
686 MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_ADDRESS = 1 << 0,
687 MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_GATEWAY = 1 << 1,
688 MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_DNS = 1 << 2,
689 MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_MTU = 1 << 3,
690 } MbimIPConfigurationAvailableFlag;
691
692 /*****************************************************************************/
693 /* 'SMS Configuration' enums */
694
695 /**
696 * MbimSmsStorageState:
697 * @MBIM_SMS_STORAGE_STATE_NOT_INITIALIZED: Storage not initialized.
698 * @MBIM_SMS_STORAGE_STATE_INITIALIZED: Storage initialized.
699 *
700 * State of the SMS storage.
701 */
702 typedef enum {
703 MBIM_SMS_STORAGE_STATE_NOT_INITIALIZED = 0,
704 MBIM_SMS_STORAGE_STATE_INITIALIZED = 1
705 } MbimSmsStorageState;
706
707 /**
708 * MbimSmsFormat:
709 * @MBIM_SMS_FORMAT_PDU: PDU format.
710 * @MBIM_SMS_FORMAT_CDMA: CDMA format.
711 *
712 * SMS format.
713 */
714 typedef enum {
715 MBIM_SMS_FORMAT_PDU = 0,
716 MBIM_SMS_FORMAT_CDMA = 1
717 } MbimSmsFormat;
718
719 /*****************************************************************************/
720 /* 'SMS Read' enums */
721
722 /**
723 * MbimSmsFlag:
724 * @MBIM_SMS_FLAG_ALL: All.
725 * @MBIM_SMS_FLAG_INDEX: Index.
726 * @MBIM_SMS_FLAG_NEW: New.
727 * @MBIM_SMS_FLAG_OLD: Old.
728 * @MBIM_SMS_FLAG_SENT: Sent.
729 * @MBIM_SMS_FLAG_DRAFT: Draft.
730 *
731 * Flags to use when requesting to read SMS. @MBIM_SMS_FLAG_ALL and
732 * @MBIM_SMS_FLAG_NEW are mandatory, all the others are optional.
733 */
734 typedef enum {
735 MBIM_SMS_FLAG_ALL = 0,
736 MBIM_SMS_FLAG_INDEX = 1,
737 MBIM_SMS_FLAG_NEW = 2,
738 MBIM_SMS_FLAG_OLD = 3,
739 MBIM_SMS_FLAG_SENT = 4,
740 MBIM_SMS_FLAG_DRAFT = 5
741 } MbimSmsFlag;
742
743 /**
744 * MbimSmsCdmaLang:
745 * @MBIM_SMS_CDMA_LANG_UNKNOWN: Unknown language.
746 * @MBIM_SMS_CDMA_LANG_ENGLISH: English.
747 * @MBIM_SMS_CDMA_LANG_FRENCH: French.
748 * @MBIM_SMS_CDMA_LANG_SPANISH: Spanish.
749 * @MBIM_SMS_CDMA_LANG_JAPANESE: Japanese.
750 * @MBIM_SMS_CDMA_LANG_KOREAN: Korean.
751 * @MBIM_SMS_CDMA_LANG_CHINESE: Chinese.
752 * @MBIM_SMS_CDMA_LANG_HEBREW: Hebrew.
753 *
754 * Language of a CDMA SMS.
755 */
756 typedef enum {
757 MBIM_SMS_CDMA_LANG_UNKNOWN = 0,
758 MBIM_SMS_CDMA_LANG_ENGLISH = 1,
759 MBIM_SMS_CDMA_LANG_FRENCH = 2,
760 MBIM_SMS_CDMA_LANG_SPANISH = 3,
761 MBIM_SMS_CDMA_LANG_JAPANESE = 4,
762 MBIM_SMS_CDMA_LANG_KOREAN = 5,
763 MBIM_SMS_CDMA_LANG_CHINESE = 6,
764 MBIM_SMS_CDMA_LANG_HEBREW = 7
765 } MbimSmsCdmaLang;
766
767 /**
768 * MbimSmsCdmaEncoding:
769 * @MBIM_SMS_CDMA_ENCODING_OCTET: Octet.
770 * @MBIM_SMS_CDMA_ENCODING_EPM: EPM.
771 * @MBIM_SMS_CDMA_ENCODING_7BIT_ASCII: 7-bit ASCII.
772 * @MBIM_SMS_CDMA_ENCODING_LA5: LA5.
773 * @MBIM_SMS_CDMA_ENCODING_UNICODE: Unicode.
774 * @MBIM_SMS_CDMA_ENCODING_SHIFT_JIS: Shift JIS.
775 * @MBIM_SMS_CDMA_ENCODING_KOREAN: Korean.
776 * @MBIM_SMS_CDMA_ENCODING_LATIN_HEBREW: Latin hebrew.
777 * @MBIM_SMS_CDMA_ENCODING_LATIN: Latin.
778 * @MBIM_SMS_CDMA_ENCODING_GSM_7BIT: 7-bit GSM.
779 *
780 * Type of encoding of a CDMA SMS.
781 */
782 typedef enum {
783 MBIM_SMS_CDMA_ENCODING_OCTET = 0,
784 MBIM_SMS_CDMA_ENCODING_EPM = 1,
785 MBIM_SMS_CDMA_ENCODING_7BIT_ASCII = 2,
786 MBIM_SMS_CDMA_ENCODING_LA5 = 3,
787 MBIM_SMS_CDMA_ENCODING_UNICODE = 4,
788 MBIM_SMS_CDMA_ENCODING_SHIFT_JIS = 5,
789 MBIM_SMS_CDMA_ENCODING_KOREAN = 6,
790 MBIM_SMS_CDMA_ENCODING_LATIN_HEBREW = 7,
791 MBIM_SMS_CDMA_ENCODING_LATIN = 8,
792 MBIM_SMS_CDMA_ENCODING_GSM_7BIT = 9
793 } MbimSmsCdmaEncoding;
794
795 /**
796 * MbimSmsStatus:
797 * @MBIM_SMS_STATUS_NEW: New.
798 * @MBIM_SMS_STATUS_OLD: Old.
799 * @MBIM_SMS_STATUS_DRAFT: Draft.
800 * @MBIM_SMS_STATUS_SENT: Sent.
801 *
802 * Status of a SMS message.
803 */
804 typedef enum {
805 MBIM_SMS_STATUS_NEW = 0,
806 MBIM_SMS_STATUS_OLD = 1,
807 MBIM_SMS_STATUS_DRAFT = 2,
808 MBIM_SMS_STATUS_SENT = 3
809 } MbimSmsStatus;
810
811 /*****************************************************************************/
812 /* 'SMS Message Store Status' enums */
813
814 /**
815 * MbimSmsStatusFlag:
816 * @MBIM_SMS_STATUS_FLAG_NONE: None.
817 * @MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL: Message store is full.
818 * @MBIM_SMS_STATUS_FLAG_NEW_MESSAGE: New non-Class 0 message arrived.
819 *
820 * SMS status flags.
821 */
822 typedef enum {
823 MBIM_SMS_STATUS_FLAG_NONE = 0,
824 MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL = 1,
825 MBIM_SMS_STATUS_FLAG_NEW_MESSAGE = 2
826 } MbimSmsStatusFlag;
827
828 /*****************************************************************************/
829 /* 'USSD' enums */
830
831 /**
832 * MbimUssdAction:
833 * @MBIM_USSD_ACTION_INITIATE: Initiate USSD session.
834 * @MBIM_USSD_ACTION_CONTINUE: Continue USSD session.
835 * @MBIM_USSD_ACTION_CANCEL: Cancel USSD session.
836 *
837 * USSD action.
838 */
839 typedef enum {
840 MBIM_USSD_ACTION_INITIATE = 0,
841 MBIM_USSD_ACTION_CONTINUE = 1,
842 MBIM_USSD_ACTION_CANCEL = 2
843 } MbimUssdAction;
844
845 /**
846 * MbimUssdResponse:
847 * @MBIM_USSD_RESPONSE_NO_ACTION_REQUIRED: No action required.
848 * @MBIM_USSD_RESPONSE_ACTION_REQUIRED: An action is required.
849 * @MBIM_USSD_RESPONSE_TERMINATED_BY_NETWORK: Terminated by network
850 * @MBIM_USSD_RESPONSE_OTHER_LOCAL_CLIENT: Other local client.
851 * @MBIM_USSD_RESPONSE_OPERATION_NOT_SUPPORTED: Operation not supported.
852 * @MBIM_USSD_RESPONSE_NETWORK_TIMEOUT: Network timeout.
853 *
854 * USSD response.
855 */
856 typedef enum {
857 MBIM_USSD_RESPONSE_NO_ACTION_REQUIRED = 0,
858 MBIM_USSD_RESPONSE_ACTION_REQUIRED = 1,
859 MBIM_USSD_RESPONSE_TERMINATED_BY_NETWORK = 2,
860 MBIM_USSD_RESPONSE_OTHER_LOCAL_CLIENT = 3,
861 MBIM_USSD_RESPONSE_OPERATION_NOT_SUPPORTED = 4,
862 MBIM_USSD_RESPONSE_NETWORK_TIMEOUT = 5
863 } MbimUssdResponse;
864
865 /**
866 * MbimUssdSessionState:
867 * @MBIM_USSD_SESSION_STATE_NEW_SESSION: New session.
868 * @MBIM_USSD_SESSION_STATE_EXISTING_SESSION: Existing session.
869 *
870 * Session state.
871 */
872 typedef enum {
873 MBIM_USSD_SESSION_STATE_NEW_SESSION = 0,
874 MBIM_USSD_SESSION_STATE_EXISTING_SESSION = 1
875 } MbimUssdSessionState;
876
877 /*****************************************************************************/
878 /* 'Phonebook configuration' enums */
879
880 /**
881 * MbimPhonebookState:
882 * @MBIM_PHONEBOOK_STATE_NOT_INITIALIZED: Not initialized.
883 * @MBIM_PHONEBOOK_STATE_INITIALIZED: Initialized
884 *
885 * Phonebook state.
886 */
887 typedef enum {
888 MBIM_PHONEBOOK_STATE_NOT_INITIALIZED = 0,
889 MBIM_PHONEBOOK_STATE_INITIALIZED = 1
890 } MbimPhonebookState;
891
892 /*****************************************************************************/
893 /* 'Phonebook read' enums */
894
895 /**
896 * MbimPhonebookFlag:
897 * @MBIM_PHONEBOOK_FLAG_ALL: Request all.
898 * @MBIM_PHONEBOOK_FLAG_INDEX: Request single entry by index.
899 *
900 * Flags to use when reading the phonebook.
901 */
902 typedef enum {
903 MBIM_PHONEBOOK_FLAG_ALL = 0,
904 MBIM_PHONEBOOK_FLAG_INDEX = 1
905 } MbimPhonebookFlag;
906
907 /**
908 * MbimPhonebookWriteFlag:
909 * @MBIM_PHONEBOOK_WRITE_FLAG_SAVE_UNUSED: Store the record in an unused slot.
910 * @MBIM_PHONEBOOK_WRITE_FLAG_SAVE_INDEX: Index where to store the record.
911 *
912 * Flags to use when writing the phonebook.
913 */
914 typedef enum {
915 MBIM_PHONEBOOK_WRITE_FLAG_SAVE_UNUSED = 0,
916 MBIM_PHONEBOOK_WRITE_FLAG_SAVE_INDEX = 1,
917 } MbimPhonebookWriteFlag;
918
919 /*****************************************************************************/
920 /* 'STK PAC' enums */
921
922 /**
923 * MbimStkPacProfile:
924 * @MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_HANDLED_BY_HOST: Command not handled by function but handled by host.
925 * @MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_MAY_BE_HANDLED_BY_HOST: Command not handled by function but may be handled by host.
926 * @MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_ONLY_TRANSPARENT_TO_HOST: Command handled by function without informing the host.
927 * @MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATION_TO_HOST_POSSIBLE: Command handled by function without informing the host, but notifications may be sent to host.
928 * @MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATIONS_TO_HOST_ENABLED: Command handled by function, and the function wil also send notification to the host.
929 * @MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_CAN_BE_OVERRIDEN_BY_HOST: Command handled by function, but the host may request full control of the command.
930 * @MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_NOT_ABLE_TO_HANDLE: Command will be forwarded to the host. If the host decides not to receive the command, the function will not handle it.
931 * @MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_ABLE_TO_HANDLE: Command will be forwarded to the host. If the host decides not to receive the command, the function will handle it.
932 *
933 * Proactive command profile.
934 */
935 typedef enum {
936 MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_HANDLED_BY_HOST = 0,
937 MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_MAY_BE_HANDLED_BY_HOST = 1,
938 MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_ONLY_TRANSPARENT_TO_HOST = 2,
939 MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATION_TO_HOST_POSSIBLE = 3,
940 MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATIONS_TO_HOST_ENABLED = 4,
941 MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_CAN_BE_OVERRIDEN_BY_HOST = 5,
942 MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_NOT_ABLE_TO_HANDLE = 6,
943 MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_ABLE_TO_HANDLE = 7
944 } MbimStkPacProfile;
945
946 /**
947 * MbimStkPacType:
948 * @MBIM_STK_PAC_TYPE_PROACTIVE_COMMAND: Host is requested to handle the Proactive command.
949 * @MBIM_STK_PAC_TYPE_NOTIFICATION: Proactive command is handled by the function, but the host is notified.
950 *
951 * Type of proactive command.
952 */
953 typedef enum {
954 MBIM_STK_PAC_TYPE_PROACTIVE_COMMAND = 0,
955 MBIM_STK_PAC_TYPE_NOTIFICATION = 1
956 } MbimStkPacType;
957
958 /*****************************************************************************/
959 /* 'Network idle hint' enums */
960
961 /**
962 * MbimNetworkIdleHintState:
963 * @MBIM_NETWORK_IDLE_HINT_STATE_DISABLED: Disabled.
964 * @MBIM_NETWORK_IDLE_HINT_STATE_ENABLED: Enabled.
965 *
966 * Enable or disable network idle hint.
967 */
968 typedef enum {
969 MBIM_NETWORK_IDLE_HINT_STATE_DISABLED = 0,
970 MBIM_NETWORK_IDLE_HINT_STATE_ENABLED = 1
971 } MbimNetworkIdleHintState;
972
973 /*****************************************************************************/
974 /* 'Emergency mode' enums */
975
976 /**
977 * MbimEmergencyModeState:
978 * @MBIM_EMERGENCY_MODE_STATE_OFF: Off.
979 * @MBIM_EMERGENCY_MODE_STATE_ON: On.
980 *
981 * Emergency mode state.
982 */
983 typedef enum {
984 MBIM_EMERGENCY_MODE_STATE_OFF = 0,
985 MBIM_EMERGENCY_MODE_STATE_ON = 1
986 } MbimEmergencyModeState;
987
988 /*****************************************************************************/
989 /* 'DSS connect' enums */
990
991 /**
992 * MbimDssLinkState:
993 * @MBIM_DSS_LINK_STATE_DEACTIVATE: Deactivate.
994 * @MBIM_DSS_LINK_STATE_ACTIVATE: Activate.
995 *
996 * Action performed in the link state.
997 */
998 typedef enum {
999 MBIM_DSS_LINK_STATE_DEACTIVATE = 0,
1000 MBIM_DSS_LINK_STATE_ACTIVATE = 1
1001 } MbimDssLinkState;
1002
1003 /**
1004 * MbimService:
1005 * @MBIM_SERVICE_INVALID: Invalid service.
1006 * @MBIM_SERVICE_BASIC_CONNECT: Basic connectivity service.
1007 * @MBIM_SERVICE_SMS: SMS messaging service.
1008 * @MBIM_SERVICE_USSD: USSD service.
1009 * @MBIM_SERVICE_PHONEBOOK: Phonebook service.
1010 * @MBIM_SERVICE_STK: SIM toolkit service.
1011 * @MBIM_SERVICE_AUTH: Authentication service.
1012 * @MBIM_SERVICE_DSS: Device Service Stream service.
1013 * @MBIM_SERVICE_MS_FIRMWARE_ID: Microsoft Firmware ID service.
1014 * @MBIM_SERVICE_MS_HOST_SHUTDOWN: Microsoft Host Shutdown service.
1015 * @MBIM_SERVICE_PROXY_CONTROL: Proxy Control service.
1016 *
1017 * Enumeration of the generic MBIM services.
1018 */
1019 typedef enum {
1020 MBIM_SERVICE_INVALID = 0,
1021 MBIM_SERVICE_BASIC_CONNECT = 1,
1022 MBIM_SERVICE_SMS = 2,
1023 MBIM_SERVICE_USSD = 3,
1024 MBIM_SERVICE_PHONEBOOK = 4,
1025 MBIM_SERVICE_STK = 5,
1026 MBIM_SERVICE_AUTH = 6,
1027 MBIM_SERVICE_DSS = 7,
1028 MBIM_SERVICE_MS_FIRMWARE_ID = 8,
1029 MBIM_SERVICE_MS_HOST_SHUTDOWN = 9,
1030 MBIM_SERVICE_PROXY_CONTROL = 10,
1031 /* Note: update MBIM_SERVICE_LAST when a new value is added */
1032 } MbimService;
1033
1034 /**
1035 * MbimContextType:
1036 * @MBIM_CONTEXT_TYPE_INVALID: Invalid context type.
1037 * @MBIM_CONTEXT_TYPE_NONE: Context not yet provisioned.
1038 * @MBIM_CONTEXT_TYPE_INTERNET: Connection to the Internet.
1039 * @MBIM_CONTEXT_TYPE_VPN: Connection to a VPN.
1040 * @MBIM_CONTEXT_TYPE_VOICE: Connection to a VoIP service.
1041 * @MBIM_CONTEXT_TYPE_VIDEO_SHARE: Connection to a video sharing service.
1042 * @MBIM_CONTEXT_TYPE_PURCHASE: Connection to an over-the-air activation site.
1043 * @MBIM_CONTEXT_TYPE_IMS: Connection to IMS.
1044 * @MBIM_CONTEXT_TYPE_MMS: Connection to MMS.
1045 * @MBIM_CONTEXT_TYPE_LOCAL: A local.
1046 *
1047 * Enumeration of the generic MBIM context types.
1048 */
1049 typedef enum {
1050 MBIM_CONTEXT_TYPE_INVALID = 0,
1051 MBIM_CONTEXT_TYPE_NONE = 1,
1052 MBIM_CONTEXT_TYPE_INTERNET = 2,
1053 MBIM_CONTEXT_TYPE_VPN = 3,
1054 MBIM_CONTEXT_TYPE_VOICE = 4,
1055 MBIM_CONTEXT_TYPE_VIDEO_SHARE = 5,
1056 MBIM_CONTEXT_TYPE_PURCHASE = 6,
1057 MBIM_CONTEXT_TYPE_IMS = 7,
1058 MBIM_CONTEXT_TYPE_MMS = 8,
1059 MBIM_CONTEXT_TYPE_LOCAL = 9,
1060 } MbimContextType;
1061
1062 #endif /* _LIBMBIM_GLIB_MBIM_ENUMS_H_ */