suppress enum conversion warnings
[project/uqmi.git] / qmi-enums-nas.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 Google Inc.
21  */
22
23 #ifndef _LIBQMI_GLIB_QMI_ENUMS_NAS_H_
24 #define _LIBQMI_GLIB_QMI_ENUMS_NAS_H_
25
26 /**
27  * SECTION: qmi-enums-nas
28  * @title: NAS enumerations and flags
29  *
30  * This section defines enumerations and flags used in the NAS service
31  * interface.
32  */
33
34 /*****************************************************************************/
35 /* Helper enums for the 'QMI NAS Event Report' indication */
36
37 /**
38  * QmiNasRadioInterface:
39  * @QMI_NAS_RADIO_INTERFACE_UNKNOWN: Not known or not needed.
40  * @QMI_NAS_RADIO_INTERFACE_NONE: None, no service.
41  * @QMI_NAS_RADIO_INTERFACE_CDMA_1X: CDMA2000 1X.
42  * @QMI_NAS_RADIO_INTERFACE_CDMA_1XEVDO: CDMA2000 HRPD (1xEV-DO).
43  * @QMI_NAS_RADIO_INTERFACE_AMPS: AMPS.
44  * @QMI_NAS_RADIO_INTERFACE_GSM: GSM.
45  * @QMI_NAS_RADIO_INTERFACE_UMTS: UMTS.
46  * @QMI_NAS_RADIO_INTERFACE_LTE: LTE.
47  * @QMI_NAS_RADIO_INTERFACE_TD_SCDMA: TD-SCDMA.
48  *
49  * Radio interface technology.
50  */
51 typedef enum {
52     QMI_NAS_RADIO_INTERFACE_UNKNOWN     = -1,
53     QMI_NAS_RADIO_INTERFACE_NONE        = 0x00,
54     QMI_NAS_RADIO_INTERFACE_CDMA_1X     = 0x01,
55     QMI_NAS_RADIO_INTERFACE_CDMA_1XEVDO = 0x02,
56     QMI_NAS_RADIO_INTERFACE_AMPS        = 0x03,
57     QMI_NAS_RADIO_INTERFACE_GSM         = 0x04,
58     QMI_NAS_RADIO_INTERFACE_UMTS        = 0x05,
59     QMI_NAS_RADIO_INTERFACE_LTE         = 0x08,
60     QMI_NAS_RADIO_INTERFACE_TD_SCDMA    = 0x09
61 } QmiNasRadioInterface;
62
63 /**
64  * QmiNasActiveBand:
65  * @QMI_NAS_ACTIVE_BAND_BC_0: Band class 0.
66  * @QMI_NAS_ACTIVE_BAND_BC_1: Band class 1.
67  * @QMI_NAS_ACTIVE_BAND_BC_2: Band class 2.
68  * @QMI_NAS_ACTIVE_BAND_BC_3: Band class 3.
69  * @QMI_NAS_ACTIVE_BAND_BC_4: Band class 4.
70  * @QMI_NAS_ACTIVE_BAND_BC_5: Band class 5.
71  * @QMI_NAS_ACTIVE_BAND_BC_6: Band class 6.
72  * @QMI_NAS_ACTIVE_BAND_BC_7: Band class 7.
73  * @QMI_NAS_ACTIVE_BAND_BC_8: Band class 8.
74  * @QMI_NAS_ACTIVE_BAND_BC_9: Band class 9.
75  * @QMI_NAS_ACTIVE_BAND_BC_10: Band class 10.
76  * @QMI_NAS_ACTIVE_BAND_BC_11: Band class 11.
77  * @QMI_NAS_ACTIVE_BAND_BC_12: Band class 12.
78  * @QMI_NAS_ACTIVE_BAND_BC_13: Band class 13.
79  * @QMI_NAS_ACTIVE_BAND_BC_14: Band class 14.
80  * @QMI_NAS_ACTIVE_BAND_BC_15: Band class 15.
81  * @QMI_NAS_ACTIVE_BAND_BC_16: Band class 16.
82  * @QMI_NAS_ACTIVE_BAND_BC_17: Band class 17.
83  * @QMI_NAS_ACTIVE_BAND_BC_18: Band class 18.
84  * @QMI_NAS_ACTIVE_BAND_BC_19: Band class 19.
85  * @QMI_NAS_ACTIVE_BAND_GSM_450: GSM 450.
86  * @QMI_NAS_ACTIVE_BAND_GSM_480: GSM 480.
87  * @QMI_NAS_ACTIVE_BAND_GSM_750: GSM 750.
88  * @QMI_NAS_ACTIVE_BAND_GSM_850: GSM 850.
89  * @QMI_NAS_ACTIVE_BAND_GSM_900_EXTENDED: GSM 900 (Extended).
90  * @QMI_NAS_ACTIVE_BAND_GSM_900_PRIMARY: GSM 900 (Primary).
91  * @QMI_NAS_ACTIVE_BAND_GSM_900_RAILWAYS: GSM 900 (Railways).
92  * @QMI_NAS_ACTIVE_BAND_GSM_DCS_1800: GSM 1800.
93  * @QMI_NAS_ACTIVE_BAND_GSM_PCS_1900: GSM 1900.
94  * @QMI_NAS_ACTIVE_BAND_WCDMA_2100: WCDMA 2100.
95  * @QMI_NAS_ACTIVE_BAND_WCDMA_PCS_1900: WCDMA PCS 1900.
96  * @QMI_NAS_ACTIVE_BAND_WCDMA_DCS_1800: WCDMA DCS 1800.
97  * @QMI_NAS_ACTIVE_BAND_WCDMA_1700_US: WCDMA 1700 (U.S.).
98  * @QMI_NAS_ACTIVE_BAND_WCDMA_850: WCDMA 850.
99  * @QMI_NAS_ACTIVE_BAND_WCDMA_800: WCDMA 800.
100  * @QMI_NAS_ACTIVE_BAND_WCDMA_2600: WCDMA 2600.
101  * @QMI_NAS_ACTIVE_BAND_WCDMA_900: WCDMA 900.
102  * @QMI_NAS_ACTIVE_BAND_WCDMA_1700_JAPAN: WCDMA 1700 (Japan).
103  * @QMI_NAS_ACTIVE_BAND_WCDMA_1500_JAPAN: WCDMA 1500 (Japan).
104  * @QMI_NAS_ACTIVE_BAND_WCDMA_850_JAPAN: WCDMA 850 (Japan).
105  * @QMI_NAS_ACTIVE_BAND_EUTRAN_1: EUTRAN band 1.
106  * @QMI_NAS_ACTIVE_BAND_EUTRAN_2: EUTRAN band 2.
107  * @QMI_NAS_ACTIVE_BAND_EUTRAN_3: EUTRAN band 3.
108  * @QMI_NAS_ACTIVE_BAND_EUTRAN_4: EUTRAN band 4.
109  * @QMI_NAS_ACTIVE_BAND_EUTRAN_5: EUTRAN band 5.
110  * @QMI_NAS_ACTIVE_BAND_EUTRAN_6: EUTRAN band 6.
111  * @QMI_NAS_ACTIVE_BAND_EUTRAN_7: EUTRAN band 7.
112  * @QMI_NAS_ACTIVE_BAND_EUTRAN_8: EUTRAN band 8.
113  * @QMI_NAS_ACTIVE_BAND_EUTRAN_9: EUTRAN band 9.
114  * @QMI_NAS_ACTIVE_BAND_EUTRAN_10: EUTRAN band 10.
115  * @QMI_NAS_ACTIVE_BAND_EUTRAN_11: EUTRAN band 11.
116  * @QMI_NAS_ACTIVE_BAND_EUTRAN_12: EUTRAN band 12.
117  * @QMI_NAS_ACTIVE_BAND_EUTRAN_13: EUTRAN band 13.
118  * @QMI_NAS_ACTIVE_BAND_EUTRAN_14: EUTRAN band 14.
119  * @QMI_NAS_ACTIVE_BAND_EUTRAN_17: EUTRAN band 17.
120  * @QMI_NAS_ACTIVE_BAND_EUTRAN_18: EUTRAN band 18.
121  * @QMI_NAS_ACTIVE_BAND_EUTRAN_19: EUTRAN band 19.
122  * @QMI_NAS_ACTIVE_BAND_EUTRAN_20: EUTRAN band 20.
123  * @QMI_NAS_ACTIVE_BAND_EUTRAN_21: EUTRAN band 21.
124  * @QMI_NAS_ACTIVE_BAND_EUTRAN_24: EUTRAN band 24.
125  * @QMI_NAS_ACTIVE_BAND_EUTRAN_25: EUTRAN band 25.
126  * @QMI_NAS_ACTIVE_BAND_EUTRAN_33: EUTRAN band 33.
127  * @QMI_NAS_ACTIVE_BAND_EUTRAN_34: EUTRAN band 34.
128  * @QMI_NAS_ACTIVE_BAND_EUTRAN_35: EUTRAN band 35.
129  * @QMI_NAS_ACTIVE_BAND_EUTRAN_36: EUTRAN band 36.
130  * @QMI_NAS_ACTIVE_BAND_EUTRAN_37: EUTRAN band 37.
131  * @QMI_NAS_ACTIVE_BAND_EUTRAN_38: EUTRAN band 38.
132  * @QMI_NAS_ACTIVE_BAND_EUTRAN_39: EUTRAN band 39.
133  * @QMI_NAS_ACTIVE_BAND_EUTRAN_40: EUTRAN band 40.
134  * @QMI_NAS_ACTIVE_BAND_EUTRAN_41: EUTRAN band 41.
135  * @QMI_NAS_ACTIVE_BAND_EUTRAN_42: EUTRAN band 42.
136  * @QMI_NAS_ACTIVE_BAND_EUTRAN_43: EUTRAN band 43.
137  * @QMI_NAS_ACTIVE_BAND_TDSCDMA_A: TD-SCDMA Band A.
138  * @QMI_NAS_ACTIVE_BAND_TDSCDMA_B: TD-SCDMA Band B.
139  * @QMI_NAS_ACTIVE_BAND_TDSCDMA_C: TD-SCDMA Band C.
140  * @QMI_NAS_ACTIVE_BAND_TDSCDMA_D: TD-SCDMA Band D.
141  * @QMI_NAS_ACTIVE_BAND_TDSCDMA_E: TD-SCDMA Band E.
142  * @QMI_NAS_ACTIVE_BAND_TDSCDMA_F: TD-SCDMA Band F.
143  *
144  * Band classes.
145  */
146 typedef enum {
147     QMI_NAS_ACTIVE_BAND_BC_0 = 0,
148     QMI_NAS_ACTIVE_BAND_BC_1 = 1,
149     QMI_NAS_ACTIVE_BAND_BC_2 = 2,
150     QMI_NAS_ACTIVE_BAND_BC_3 = 3,
151     QMI_NAS_ACTIVE_BAND_BC_4 = 4,
152     QMI_NAS_ACTIVE_BAND_BC_5 = 5,
153     QMI_NAS_ACTIVE_BAND_BC_6 = 6,
154     QMI_NAS_ACTIVE_BAND_BC_7 = 7,
155     QMI_NAS_ACTIVE_BAND_BC_8 = 8,
156     QMI_NAS_ACTIVE_BAND_BC_9 = 9,
157     QMI_NAS_ACTIVE_BAND_BC_10 = 10,
158     QMI_NAS_ACTIVE_BAND_BC_11 = 11,
159     QMI_NAS_ACTIVE_BAND_BC_12 = 12,
160     QMI_NAS_ACTIVE_BAND_BC_13 = 13,
161     QMI_NAS_ACTIVE_BAND_BC_14 = 14,
162     QMI_NAS_ACTIVE_BAND_BC_15 = 15,
163     QMI_NAS_ACTIVE_BAND_BC_16 = 16,
164     QMI_NAS_ACTIVE_BAND_BC_17 = 17,
165     QMI_NAS_ACTIVE_BAND_BC_18 = 18,
166     QMI_NAS_ACTIVE_BAND_BC_19 = 19,
167     QMI_NAS_ACTIVE_BAND_GSM_450 = 40,
168     QMI_NAS_ACTIVE_BAND_GSM_480 = 41,
169     QMI_NAS_ACTIVE_BAND_GSM_750 = 42,
170     QMI_NAS_ACTIVE_BAND_GSM_850 = 43,
171     QMI_NAS_ACTIVE_BAND_GSM_900_EXTENDED = 44,
172     QMI_NAS_ACTIVE_BAND_GSM_900_PRIMARY = 45,
173     QMI_NAS_ACTIVE_BAND_GSM_900_RAILWAYS = 46,
174     QMI_NAS_ACTIVE_BAND_GSM_DCS_1800 = 47,
175     QMI_NAS_ACTIVE_BAND_GSM_PCS_1900 = 48,
176     QMI_NAS_ACTIVE_BAND_WCDMA_2100 = 80,
177     QMI_NAS_ACTIVE_BAND_WCDMA_PCS_1900 = 81,
178     QMI_NAS_ACTIVE_BAND_WCDMA_DCS_1800 = 82,
179     QMI_NAS_ACTIVE_BAND_WCDMA_1700_US = 83,
180     QMI_NAS_ACTIVE_BAND_WCDMA_850 = 84,
181     QMI_NAS_ACTIVE_BAND_WCDMA_800 = 85,
182     QMI_NAS_ACTIVE_BAND_WCDMA_2600 = 86,
183     QMI_NAS_ACTIVE_BAND_WCDMA_900 = 87,
184     QMI_NAS_ACTIVE_BAND_WCDMA_1700_JAPAN = 88,
185     QMI_NAS_ACTIVE_BAND_WCDMA_1500_JAPAN = 90,
186     QMI_NAS_ACTIVE_BAND_WCDMA_850_JAPAN = 91,
187     QMI_NAS_ACTIVE_BAND_EUTRAN_1 = 120,
188     QMI_NAS_ACTIVE_BAND_EUTRAN_2 = 121,
189     QMI_NAS_ACTIVE_BAND_EUTRAN_3 = 122,
190     QMI_NAS_ACTIVE_BAND_EUTRAN_4 = 123,
191     QMI_NAS_ACTIVE_BAND_EUTRAN_5 = 124,
192     QMI_NAS_ACTIVE_BAND_EUTRAN_6 = 125,
193     QMI_NAS_ACTIVE_BAND_EUTRAN_7 = 126,
194     QMI_NAS_ACTIVE_BAND_EUTRAN_8 = 127,
195     QMI_NAS_ACTIVE_BAND_EUTRAN_9 = 128,
196     QMI_NAS_ACTIVE_BAND_EUTRAN_10 = 129,
197     QMI_NAS_ACTIVE_BAND_EUTRAN_11 = 130,
198     QMI_NAS_ACTIVE_BAND_EUTRAN_12 = 131,
199     QMI_NAS_ACTIVE_BAND_EUTRAN_13 = 132,
200     QMI_NAS_ACTIVE_BAND_EUTRAN_14 = 133,
201     QMI_NAS_ACTIVE_BAND_EUTRAN_17 = 134,
202     QMI_NAS_ACTIVE_BAND_EUTRAN_18 = 143,
203     QMI_NAS_ACTIVE_BAND_EUTRAN_19 = 144,
204     QMI_NAS_ACTIVE_BAND_EUTRAN_20 = 145,
205     QMI_NAS_ACTIVE_BAND_EUTRAN_21 = 146,
206     QMI_NAS_ACTIVE_BAND_EUTRAN_24 = 147,
207     QMI_NAS_ACTIVE_BAND_EUTRAN_25 = 148,
208     QMI_NAS_ACTIVE_BAND_EUTRAN_33 = 135,
209     QMI_NAS_ACTIVE_BAND_EUTRAN_34 = 136,
210     QMI_NAS_ACTIVE_BAND_EUTRAN_35 = 137,
211     QMI_NAS_ACTIVE_BAND_EUTRAN_36 = 138,
212     QMI_NAS_ACTIVE_BAND_EUTRAN_37 = 139,
213     QMI_NAS_ACTIVE_BAND_EUTRAN_38 = 140,
214     QMI_NAS_ACTIVE_BAND_EUTRAN_39 = 141,
215     QMI_NAS_ACTIVE_BAND_EUTRAN_40 = 142,
216     QMI_NAS_ACTIVE_BAND_EUTRAN_41 = 149,
217     QMI_NAS_ACTIVE_BAND_EUTRAN_42 = 150,
218     QMI_NAS_ACTIVE_BAND_EUTRAN_43 = 151,
219     QMI_NAS_ACTIVE_BAND_TDSCDMA_A = 200,
220     QMI_NAS_ACTIVE_BAND_TDSCDMA_B = 201,
221     QMI_NAS_ACTIVE_BAND_TDSCDMA_C = 202,
222     QMI_NAS_ACTIVE_BAND_TDSCDMA_D = 203,
223     QMI_NAS_ACTIVE_BAND_TDSCDMA_E = 204,
224     QMI_NAS_ACTIVE_BAND_TDSCDMA_F = 205
225 } QmiNasActiveBand;
226
227 /**
228  * QmiNasNetworkServiceDomain:
229  * @QMI_NAS_NETWORK_SERVICE_DOMAIN_NONE: No service.
230  * @QMI_NAS_NETWORK_SERVICE_DOMAIN_CS: Circuit switched.
231  * @QMI_NAS_NETWORK_SERVICE_DOMAIN_PS: Packet switched.
232  * @QMI_NAS_NETWORK_SERVICE_DOMAIN_CS_PS: Circuit and packet switched.
233  * @QMI_NAS_NETWORK_SERVICE_DOMAIN_UNKNOWN: Unknown service.
234  *
235  * Network Service Domain.
236  */
237 typedef enum {
238     QMI_NAS_NETWORK_SERVICE_DOMAIN_NONE    = 0x00,
239     QMI_NAS_NETWORK_SERVICE_DOMAIN_CS      = 0x01,
240     QMI_NAS_NETWORK_SERVICE_DOMAIN_PS      = 0x02,
241     QMI_NAS_NETWORK_SERVICE_DOMAIN_CS_PS   = 0x03,
242     QMI_NAS_NETWORK_SERVICE_DOMAIN_UNKNOWN = 0x04,
243 } QmiNasNetworkServiceDomain;
244
245 /**
246  * QmiNasEvdoSinrLevel:
247  * @QMI_NAS_EVDO_SINR_LEVEL_0: -9 dB.
248  * @QMI_NAS_EVDO_SINR_LEVEL_1: -6 dB.
249  * @QMI_NAS_EVDO_SINR_LEVEL_2: -4.5 dB.
250  * @QMI_NAS_EVDO_SINR_LEVEL_3: -3 dB.
251  * @QMI_NAS_EVDO_SINR_LEVEL_4: -2 dB.
252  * @QMI_NAS_EVDO_SINR_LEVEL_5: +1 dB.
253  * @QMI_NAS_EVDO_SINR_LEVEL_6: +3 dB.
254  * @QMI_NAS_EVDO_SINR_LEVEL_7: +6 dB.
255  * @QMI_NAS_EVDO_SINR_LEVEL_8: +9 dB.
256  *
257  * EV-DO SINR level.
258  */
259 typedef enum {
260     QMI_NAS_EVDO_SINR_LEVEL_0 = 0,
261     QMI_NAS_EVDO_SINR_LEVEL_1 = 1,
262     QMI_NAS_EVDO_SINR_LEVEL_2 = 2,
263     QMI_NAS_EVDO_SINR_LEVEL_3 = 3,
264     QMI_NAS_EVDO_SINR_LEVEL_4 = 4,
265     QMI_NAS_EVDO_SINR_LEVEL_5 = 5,
266     QMI_NAS_EVDO_SINR_LEVEL_6 = 6,
267     QMI_NAS_EVDO_SINR_LEVEL_7 = 7,
268     QMI_NAS_EVDO_SINR_LEVEL_8 = 8
269 } QmiNasEvdoSinrLevel;
270
271 /*****************************************************************************/
272 /* Helper enums for the 'QMI NAS Get Signal Strength' request/response */
273
274 /**
275  * QmiNasSignalStrengthRequest:
276  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_NONE: None.
277  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_RSSI: Request RSSI information.
278  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_ECIO: Request ECIO information.
279  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_IO: Request IO information.
280  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_SINR: Request SINR information.
281  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_ERROR_RATE: Request error rate information.
282  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_RSRQ: Request RSRQ information.
283  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_LTE_SNR: Request LTE SNR information.
284  * @QMI_NAS_SIGNAL_STRENGTH_REQUEST_LTE_RSRP: Request LTE RSRP information.
285  *
286  * Extra information to request when gathering Signal Strength.
287  */
288 typedef enum {
289     QMI_NAS_SIGNAL_STRENGTH_REQUEST_NONE       = 0,
290     QMI_NAS_SIGNAL_STRENGTH_REQUEST_RSSI       = 1 << 0,
291     QMI_NAS_SIGNAL_STRENGTH_REQUEST_ECIO       = 1 << 1,
292     QMI_NAS_SIGNAL_STRENGTH_REQUEST_IO         = 1 << 2,
293     QMI_NAS_SIGNAL_STRENGTH_REQUEST_SINR       = 1 << 3,
294     QMI_NAS_SIGNAL_STRENGTH_REQUEST_ERROR_RATE = 1 << 4,
295     QMI_NAS_SIGNAL_STRENGTH_REQUEST_RSRQ       = 1 << 5,
296     QMI_NAS_SIGNAL_STRENGTH_REQUEST_LTE_SNR    = 1 << 6,
297     QMI_NAS_SIGNAL_STRENGTH_REQUEST_LTE_RSRP   = 1 << 7
298 } QmiNasSignalStrengthRequest;
299
300 /*****************************************************************************/
301 /* Helper enums for the 'QMI NAS Network Scan' request/response */
302
303 /**
304  * QmiNasNetworkScanType:
305  * @QMI_NAS_NETWORK_SCAN_TYPE_GSM: GSM network.
306  * @QMI_NAS_NETWORK_SCAN_TYPE_UMTS: UMTS network.
307  * @QMI_NAS_NETWORK_SCAN_TYPE_LTE: LTE network.
308  * @QMI_NAS_NETWORK_SCAN_TYPE_TD_SCDMA: TD-SCDMA network.
309  *
310  * Flags to use when specifying which networks to scan.
311  */
312 typedef enum {
313     QMI_NAS_NETWORK_SCAN_TYPE_GSM      = 1 << 0,
314     QMI_NAS_NETWORK_SCAN_TYPE_UMTS     = 1 << 1,
315     QMI_NAS_NETWORK_SCAN_TYPE_LTE      = 1 << 2,
316     QMI_NAS_NETWORK_SCAN_TYPE_TD_SCDMA = 1 << 3
317 } QmiNasNetworkScanType;
318
319 /**
320  * QmiNasNetworkStatus:
321  * @QMI_NAS_NETWORK_STATUS_CURRENT_SERVING: Network is in use, current serving.
322  * @QMI_NAS_NETWORK_STATUS_AVAILABLE: Network is vailable.
323  * @QMI_NAS_NETWORK_STATUS_HOME: Network is home network.
324  * @QMI_NAS_NETWORK_STATUS_ROAMING: Network is a roaming network.
325  * @QMI_NAS_NETWORK_STATUS_FORBIDDEN: Network is forbidden.
326  * @QMI_NAS_NETWORK_STATUS_NOT_FORBIDDEN: Network is not forbidden.
327  * @QMI_NAS_NETWORK_STATUS_PREFERRED: Network is preferred.
328  * @QMI_NAS_NETWORK_STATUS_NOT_PREFERRED: Network is not preferred.
329  *
330  * Flags to specify the status of a given network.
331  */
332 typedef enum {
333     QMI_NAS_NETWORK_STATUS_CURRENT_SERVING = 1 << 0,
334     QMI_NAS_NETWORK_STATUS_AVAILABLE       = 1 << 1,
335     QMI_NAS_NETWORK_STATUS_HOME            = 1 << 2,
336     QMI_NAS_NETWORK_STATUS_ROAMING         = 1 << 3,
337     QMI_NAS_NETWORK_STATUS_FORBIDDEN       = 1 << 4,
338     QMI_NAS_NETWORK_STATUS_NOT_FORBIDDEN   = 1 << 5,
339     QMI_NAS_NETWORK_STATUS_PREFERRED       = 1 << 6,
340     QMI_NAS_NETWORK_STATUS_NOT_PREFERRED   = 1 << 7
341 } QmiNasNetworkStatus;
342
343 /*****************************************************************************/
344 /* Helper enums for the 'QMI NAS Initiate Network Register' request/response */
345
346 /**
347  * QmiNasNetworkRegisterType:
348  * @QMI_NAS_NETWORK_REGISTER_TYPE_AUTOMATIC: Automatic network registration.
349  * @QMI_NAS_NETWORK_REGISTER_TYPE_MANUAL: Manual network registration.
350  *
351  * Type of network registration.
352  */
353 typedef enum {
354     QMI_NAS_NETWORK_REGISTER_TYPE_AUTOMATIC = 0x01,
355     QMI_NAS_NETWORK_REGISTER_TYPE_MANUAL    = 0x02
356 } QmiNasNetworkRegisterType;
357
358 /*****************************************************************************/
359 /* Helper enums for the 'QMI NAS Get Serving System' request/response */
360
361 /**
362  * QmiNasRegistrationState:
363  * @QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED: Not registered.
364  * @QMI_NAS_REGISTRATION_STATE_REGISTERED: Registered.
365  * @QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED_SEARCHING: Searching.
366  * @QMI_NAS_REGISTRATION_STATE_REGISTRATION_DENIED: Registration denied.
367  * @QMI_NAS_REGISTRATION_STATE_UNKNOWN: Unknown.
368  *
369  * Status of the network registration.
370  */
371 typedef enum {
372     QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED           = 0x00,
373     QMI_NAS_REGISTRATION_STATE_REGISTERED               = 0x01,
374     QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 0x02,
375     QMI_NAS_REGISTRATION_STATE_REGISTRATION_DENIED      = 0x03,
376     QMI_NAS_REGISTRATION_STATE_UNKNOWN                  = 0x04
377 } QmiNasRegistrationState;
378
379 /**
380  * QmiNasAttachState:
381  * @QMI_NAS_ATTACH_STATE_UNKNOWN: Unknown attach state.
382  * @QMI_NAS_ATTACH_STATE_ATTACHED: Attached.
383  * @QMI_NAS_ATTACH_STATE_DETACHED: Detached.
384  *
385  * Domain attach state.
386  */
387 typedef enum {
388     QMI_NAS_ATTACH_STATE_UNKNOWN  = 0x00,
389     QMI_NAS_ATTACH_STATE_ATTACHED = 0x01,
390     QMI_NAS_ATTACH_STATE_DETACHED = 0x02,
391 } QmiNasAttachState;
392
393 /**
394  * QmiNasNetworkType:
395  * @QMI_NAS_NETWORK_TYPE_UNKNOWN: Unknown.
396  * @QMI_NAS_NETWORK_TYPE_3GPP2: 3GPP2 network.
397  * @QMI_NAS_NETWORK_TYPE_3GPP: 3GPP network.
398  *
399  * Type of network.
400  */
401 typedef enum {
402     QMI_NAS_NETWORK_TYPE_UNKNOWN = 0x00,
403     QMI_NAS_NETWORK_TYPE_3GPP2   = 0x01,
404     QMI_NAS_NETWORK_TYPE_3GPP    = 0x02,
405 } QmiNasNetworkType;
406
407 /**
408  * QmiNasRoamingIndicatorStatus:
409  * @QMI_NAS_ROAMING_INDICATOR_STATUS_ON: Roaming.
410  * @QMI_NAS_ROAMING_INDICATOR_STATUS_OFF: Home.
411  *
412  * Status of the roaming indication.
413  */
414 typedef enum {
415     QMI_NAS_ROAMING_INDICATOR_STATUS_ON  = 0x00,
416     QMI_NAS_ROAMING_INDICATOR_STATUS_OFF = 0x01,
417     /* next values only for 3GPP2 */
418 } QmiNasRoamingIndicatorStatus;
419
420 /**
421  * QmiNasDataCapability:
422  * @QMI_NAS_DATA_CAPABILITY_NONE: None or unknown.
423  * @QMI_NAS_DATA_CAPABILITY_GPRS: GPRS.
424  * @QMI_NAS_DATA_CAPABILITY_EDGE: EDGE.
425  * @QMI_NAS_DATA_CAPABILITY_HSDPA: HSDPA.
426  * @QMI_NAS_DATA_CAPABILITY_HSUPA: HSUPA.
427  * @QMI_NAS_DATA_CAPABILITY_WCDMA: WCDMA.
428  * @QMI_NAS_DATA_CAPABILITY_CDMA: CDMA.
429  * @QMI_NAS_DATA_CAPABILITY_EVDO_REV_0: EV-DO revision 0.
430  * @QMI_NAS_DATA_CAPABILITY_EVDO_REV_A: EV-DO revision A.
431  * @QMI_NAS_DATA_CAPABILITY_GSM: GSM.
432  * @QMI_NAS_DATA_CAPABILITY_EVDO_REV_B: EV-DO revision B.
433  * @QMI_NAS_DATA_CAPABILITY_LTE: LTE.
434  * @QMI_NAS_DATA_CAPABILITY_HSDPA_PLUS: HSDPA+.
435  * @QMI_NAS_DATA_CAPABILITY_DC_HSDPA_PLUS: DC-HSDPA+.
436  *
437  * Data capability of the network.
438  */
439 typedef enum {
440     QMI_NAS_DATA_CAPABILITY_NONE          = 0x00,
441     QMI_NAS_DATA_CAPABILITY_GPRS          = 0x01,
442     QMI_NAS_DATA_CAPABILITY_EDGE          = 0x02,
443     QMI_NAS_DATA_CAPABILITY_HSDPA         = 0x03,
444     QMI_NAS_DATA_CAPABILITY_HSUPA         = 0x04,
445     QMI_NAS_DATA_CAPABILITY_WCDMA         = 0x05,
446     QMI_NAS_DATA_CAPABILITY_CDMA          = 0x06,
447     QMI_NAS_DATA_CAPABILITY_EVDO_REV_0    = 0x07,
448     QMI_NAS_DATA_CAPABILITY_EVDO_REV_A    = 0x08,
449     QMI_NAS_DATA_CAPABILITY_GSM           = 0x09,
450     QMI_NAS_DATA_CAPABILITY_EVDO_REV_B    = 0x0A,
451     QMI_NAS_DATA_CAPABILITY_LTE           = 0x0B,
452     QMI_NAS_DATA_CAPABILITY_HSDPA_PLUS    = 0x0C,
453     QMI_NAS_DATA_CAPABILITY_DC_HSDPA_PLUS = 0x0D
454 } QmiNasDataCapability;
455
456 /**
457  * QmiNasServiceStatus:
458  * @QMI_NAS_SERVICE_STATUS_NONE: No service.
459  * @QMI_NAS_SERVICE_STATUS_LIMITED: Limited service.
460  * @QMI_NAS_SERVICE_STATUS_AVAILABLE: Service available.
461  * @QMI_NAS_SERVICE_STATUS_LIMITED_REGIONAL: Limited regional service.
462  * @QMI_NAS_SERVICE_STATUS_POWER_SAVE: Device in power save mode.
463  *
464  * Status of the service.
465  */
466 typedef enum {
467     QMI_NAS_SERVICE_STATUS_NONE             = 0x00,
468     QMI_NAS_SERVICE_STATUS_LIMITED          = 0x01,
469     QMI_NAS_SERVICE_STATUS_AVAILABLE        = 0x02,
470     QMI_NAS_SERVICE_STATUS_LIMITED_REGIONAL = 0x03,
471     QMI_NAS_SERVICE_STATUS_POWER_SAVE       = 0x04
472 } QmiNasServiceStatus;
473
474 /**
475  * QmiNasHdrPersonality:
476  * @QMI_NAS_HDR_PERSONALITY_UNKNOWN: Unknown.
477  * @QMI_NAS_HDR_PERSONALITY_HRPD: HRPD.
478  * @QMI_NAS_HDR_PERSONALITY_EHRPD: eHRPD.
479  *
480  * HDR personality type.
481  */
482 typedef enum {
483     QMI_NAS_HDR_PERSONALITY_UNKNOWN = 0x00,
484     QMI_NAS_HDR_PERSONALITY_HRPD    = 0x01,
485     QMI_NAS_HDR_PERSONALITY_EHRPD   = 0x02,
486 } QmiNasHdrPersonality;
487
488 /**
489  * QmiNasCallBarringStatus:
490  * @QMI_NAS_CALL_BARRING_STATUS_NORMAL_ONLY: Normal calls only.
491  * @QMI_NAS_CALL_BARRING_STATUS_EMERGENCY_ONLY: Emergency calls only.
492  * @QMI_NAS_CALL_BARRING_STATUS_NO_CALLS: No calls allowed.
493  * @QMI_NAS_CALL_BARRING_STATUS_ALL_CALLS: All calls allowed.
494  * @QMI_NAS_CALL_BARRING_STATUS_UNKNOWN: Unknown.
495  *
496  * Status of the call barring functionality.
497  */
498 typedef enum {
499     QMI_NAS_CALL_BARRING_STATUS_NORMAL_ONLY    = 0x00,
500     QMI_NAS_CALL_BARRING_STATUS_EMERGENCY_ONLY = 0x01,
501     QMI_NAS_CALL_BARRING_STATUS_NO_CALLS       = 0x02,
502     QMI_NAS_CALL_BARRING_STATUS_ALL_CALLS      = 0x03,
503     QMI_NAS_CALL_BARRING_STATUS_UNKNOWN        = -1
504 } QmiNasCallBarringStatus;
505
506 /*****************************************************************************/
507 /* Helper enums for the 'QMI NAS Get Home Network' request/response */
508
509 /**
510  * QmiNasNetworkDescriptionDisplay:
511  * @QMI_NAS_NETWORK_DESCRIPTION_DISPLAY_NO: Don't display.
512  * @QMI_NAS_NETWORK_DESCRIPTION_DISPLAY_YES: Display.
513  * @QMI_NAS_NETWORK_DESCRIPTION_DISPLAY_UNKNOWN: Unknown.
514  *
515  * Setup to define whether the network description should be displayed.
516  */
517 typedef enum {
518     QMI_NAS_NETWORK_DESCRIPTION_DISPLAY_NO      = 0x00,
519     QMI_NAS_NETWORK_DESCRIPTION_DISPLAY_YES     = 0x01,
520     QMI_NAS_NETWORK_DESCRIPTION_DISPLAY_UNKNOWN = 0xFF
521 } QmiNasNetworkDescriptionDisplay;
522
523 /**
524  * QmiNasNetworkDescriptionEncoding:
525  * @QMI_NAS_NETWORK_DESCRIPTION_ENCODING_UNSPECIFIED: Unspecified.
526  * @QMI_NAS_NETWORK_DESCRIPTION_ENCODING_ASCII7: ASCII-7.
527  * @QMI_NAS_NETWORK_DESCRIPTION_ENCODING_UNICODE: Unicode.
528  * @QMI_NAS_NETWORK_DESCRIPTION_ENCODING_GSM: GSM 7-bit.
529  *
530  * Type of encoding used in the network description.
531  */
532 typedef enum {
533     QMI_NAS_NETWORK_DESCRIPTION_ENCODING_UNSPECIFIED = 0x00,
534     QMI_NAS_NETWORK_DESCRIPTION_ENCODING_ASCII7      = 0x01,
535     QMI_NAS_NETWORK_DESCRIPTION_ENCODING_UNICODE     = 0x04,
536     QMI_NAS_NETWORK_DESCRIPTION_ENCODING_GSM         = 0x09
537 } QmiNasNetworkDescriptionEncoding;
538
539 /*****************************************************************************/
540 /* Helper enums for the 'QMI NAS Get Technology Preference' request/response */
541
542 /**
543  * QmiNasRadioTechnologyPreference:
544  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO: Automatic selection.
545  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP2: 3GPP2 technology.
546  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP: 3GPP technology.
547  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AMPS_OR_GSM: AMPS if 3GPP2, GSM if 3GPP.
548  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_CDMA_OR_WCDMA: CDMA if 3GPP2, WCDMA if 3GPP.
549  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_HDR: CDMA EV-DO.
550  * @QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_LTE: LTE.
551  *
552  * Flags to specify the radio technology preference.
553  */
554 typedef enum {
555     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO          = 0,
556     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP2         = 1 << 0,
557     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_3GPP          = 1 << 1,
558     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AMPS_OR_GSM   = 1 << 2,
559     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_CDMA_OR_WCDMA = 1 << 3,
560     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_HDR           = 1 << 4,
561     QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_LTE           = 1 << 5
562 } QmiNasRadioTechnologyPreference;
563
564 /**
565  * QmiNasPreferenceDuration:
566  * @QMI_NAS_PREFERENCE_DURATION_PERMANENT: Permanent.
567  * @QMI_NAS_PREFERENCE_DURATION_POWER_CYCLE: Until the next power cycle.
568  * @QMI_NAS_PREFERENCE_DURATION_ONE_CALL: Until end of call.
569  * @QMI_NAS_PREFERENCE_DURATION_ONE_CALL_OR_TIME: Until end of call or a specified time.
570  * @QMI_NAS_PREFERENCE_DURATION_INTERNAL_ONE_CALL_1: Internal reason 1, one call.
571  * @QMI_NAS_PREFERENCE_DURATION_INTERNAL_ONE_CALL_2: Internal reason 2, one call.
572  * @QMI_NAS_PREFERENCE_DURATION_INTERNAL_ONE_CALL_3: Internal reason 3, one call.
573  *
574  * Duration of the preference setting.
575  */
576 typedef enum {
577     QMI_NAS_PREFERENCE_DURATION_PERMANENT           = 0x00,
578     QMI_NAS_PREFERENCE_DURATION_POWER_CYCLE         = 0x01,
579     QMI_NAS_PREFERENCE_DURATION_ONE_CALL            = 0x02,
580     QMI_NAS_PREFERENCE_DURATION_ONE_CALL_OR_TIME    = 0x03,
581     QMI_NAS_PREFERENCE_DURATION_INTERNAL_ONE_CALL_1 = 0x04,
582     QMI_NAS_PREFERENCE_DURATION_INTERNAL_ONE_CALL_2 = 0x05,
583     QMI_NAS_PREFERENCE_DURATION_INTERNAL_ONE_CALL_3 = 0x06
584 } QmiNasPreferenceDuration;
585
586 /*****************************************************************************/
587 /* Helper enums for the 'QMI NAS Get/Set System Selection Preference'
588  * requests/responses */
589
590 /**
591  * QmiNasRatModePreference:
592  * @QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1X: CDMA2000 1X.
593  * @QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO: CDMA2000 HRPD (1xEV-DO).
594  * @QMI_NAS_RAT_MODE_PREFERENCE_GSM: GSM.
595  * @QMI_NAS_RAT_MODE_PREFERENCE_UMTS: UMTS.
596  * @QMI_NAS_RAT_MODE_PREFERENCE_LTE: LTE.
597  * @QMI_NAS_RAT_MODE_PREFERENCE_TD_SCDMA: TD-SCDMA.
598  *
599  * Flags specifying radio access technology mode preference.
600  */
601 typedef enum {
602     QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1X     = 1 << 0,
603     QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO = 1 << 1,
604     QMI_NAS_RAT_MODE_PREFERENCE_GSM         = 1 << 2,
605     QMI_NAS_RAT_MODE_PREFERENCE_UMTS        = 1 << 3,
606     QMI_NAS_RAT_MODE_PREFERENCE_LTE         = 1 << 4,
607     QMI_NAS_RAT_MODE_PREFERENCE_TD_SCDMA    = 1 << 5
608 } QmiNasRatModePreference;
609
610 /**
611  * QmiNasCdmaPrlPreference:
612  * @QMI_NAS_CDMA_PRL_PREFERENCE_A_SIDE_ONLY: System A only.
613  * @QMI_NAS_CDMA_PRL_PREFERENCE_B_SIDE_ONLY: System B only.
614  * @QMI_NAS_CDMA_PRL_PREFERENCE_ANY: Any system.
615  *
616  * Flags specifying the preference when using CDMA Band Class 0.
617  */
618 typedef enum {
619     QMI_NAS_CDMA_PRL_PREFERENCE_A_SIDE_ONLY = 0x0001,
620     QMI_NAS_CDMA_PRL_PREFERENCE_B_SIDE_ONLY = 0x0002,
621     QMI_NAS_CDMA_PRL_PREFERENCE_ANY         = 0x3FFF
622 } QmiNasCdmaPrlPreference;
623
624 /**
625  * QmiNasRoamingPreference:
626  * @QMI_NAS_ROAMING_PREFERENCE_OFF: Only non-roaming networks.
627  * @QMI_NAS_ROAMING_PREFERENCE_NOT_OFF: Only roaming networks.
628  * @QMI_NAS_ROAMING_PREFERENCE_NOT_FLASHING: Only non-roaming networks or not flashing.
629  * @QMI_NAS_ROAMING_PREFERENCE_ANY: Don't filter by roaming when acquiring networks.
630  *
631  * Roaming preference.
632  */
633 typedef enum {
634     QMI_NAS_ROAMING_PREFERENCE_OFF          = 0x01,
635     QMI_NAS_ROAMING_PREFERENCE_NOT_OFF      = 0x02,
636     QMI_NAS_ROAMING_PREFERENCE_NOT_FLASHING = 0x03,
637     QMI_NAS_ROAMING_PREFERENCE_ANY          = 0xFF
638 } QmiNasRoamingPreference;
639
640 /**
641  * QmiNasNetworkSelectionPreference:
642  * @QMI_NAS_NETWORK_SELECTION_PREFERENCE_AUTOMATIC: Automatic.
643  * @QMI_NAS_NETWORK_SELECTION_PREFERENCE_MANUAL: Manual.
644  *
645  * Network selection preference.
646  */
647 typedef enum {
648     QMI_NAS_NETWORK_SELECTION_PREFERENCE_AUTOMATIC = 0x00,
649     QMI_NAS_NETWORK_SELECTION_PREFERENCE_MANUAL    = 0x01
650 } QmiNasNetworkSelectionPreference;
651
652 /**
653  * QmiNasChangeDuration:
654  * @QMI_NAS_CHANGE_DURATION_PERMANENT: Permanent.
655  * @QMI_NAS_CHANGE_DURATION_POWER_CYCLE: Until the next power cycle.
656  *
657  * Duration of the change setting.
658  */
659 typedef enum {
660     QMI_NAS_CHANGE_DURATION_POWER_CYCLE = 0x00,
661     QMI_NAS_CHANGE_DURATION_PERMANENT   = 0x01
662 } QmiNasChangeDuration;
663
664 /**
665  * QmiNasServiceDomainPreference:
666  * @QMI_NAS_SERVICE_DOMAIN_PREFERENCE_CS_ONLY: Circuit-switched only.
667  * @QMI_NAS_SERVICE_DOMAIN_PREFERENCE_PS_ONLY: Packet-switched only.
668  * @QMI_NAS_SERVICE_DOMAIN_PREFERENCE_CS_PS: Circuit-switched and packet-switched.
669  * @QMI_NAS_SERVICE_DOMAIN_PREFERENCE_PS_ATTACH: Packet-switched attach.
670  * @QMI_NAS_SERVICE_DOMAIN_PREFERENCE_PS_DETACH:Packet-switched dettach.
671  *
672  * Service domain preference.
673  */
674 typedef enum {
675     QMI_NAS_SERVICE_DOMAIN_PREFERENCE_CS_ONLY   = 0x00,
676     QMI_NAS_SERVICE_DOMAIN_PREFERENCE_PS_ONLY   = 0x01,
677     QMI_NAS_SERVICE_DOMAIN_PREFERENCE_CS_PS     = 0x02,
678     QMI_NAS_SERVICE_DOMAIN_PREFERENCE_PS_ATTACH = 0x03,
679     QMI_NAS_SERVICE_DOMAIN_PREFERENCE_PS_DETACH = 0x04,
680 } QmiNasServiceDomainPreference;
681
682 /**
683  * QmiNasGsmWcdmaAcquisitionOrderPreference:
684  * @QMI_NAS_GSM_WCDMA_ACQUISITION_ORDER_PREFERENCE_AUTOMATIC: Automatic.
685  * @QMI_NAS_GSM_WCDMA_ACQUISITION_ORDER_PREFERENCE_GSM: GSM first, then WCDMA.
686  * @QMI_NAS_GSM_WCDMA_ACQUISITION_ORDER_PREFERENCE_WCDMA: WCDMA first, then GSM.
687  *
688  * GSM/WCDMA acquisition order preference.
689  */
690 typedef enum {
691     QMI_NAS_GSM_WCDMA_ACQUISITION_ORDER_PREFERENCE_AUTOMATIC = 0x00,
692     QMI_NAS_GSM_WCDMA_ACQUISITION_ORDER_PREFERENCE_GSM       = 0x01,
693     QMI_NAS_GSM_WCDMA_ACQUISITION_ORDER_PREFERENCE_WCDMA     = 0x02
694 } QmiNasGsmWcdmaAcquisitionOrderPreference;
695
696 /**
697  * QmiNasTdScdmaBandPreference:
698  * @QMI_NAS_TD_SCDMA_BAND_PREFERENCE_A: Band A.
699  * @QMI_NAS_TD_SCDMA_BAND_PREFERENCE_B: Band B.
700  * @QMI_NAS_TD_SCDMA_BAND_PREFERENCE_C: Band C.
701  * @QMI_NAS_TD_SCDMA_BAND_PREFERENCE_D: Band D.
702  * @QMI_NAS_TD_SCDMA_BAND_PREFERENCE_E: Band E.
703  * @QMI_NAS_TD_SCDMA_BAND_PREFERENCE_F: Band F.
704  *
705  * Flags to specify TD-SCDMA-specific frequency band preferences.
706  */
707 typedef enum {
708     QMI_NAS_TD_SCDMA_BAND_PREFERENCE_A = 1 << 0,
709     QMI_NAS_TD_SCDMA_BAND_PREFERENCE_B = 1 << 1,
710     QMI_NAS_TD_SCDMA_BAND_PREFERENCE_C = 1 << 2,
711     QMI_NAS_TD_SCDMA_BAND_PREFERENCE_D = 1 << 3,
712     QMI_NAS_TD_SCDMA_BAND_PREFERENCE_E = 1 << 4,
713     QMI_NAS_TD_SCDMA_BAND_PREFERENCE_F = 1 << 5
714 } QmiNasTdScdmaBandPreference;
715
716 /*****************************************************************************/
717 /* Helper enums for the 'QMI NAS Get System Info' request/response */
718
719 /**
720  * QmiNasRoamingStatus:
721  * @QMI_NAS_ROAMING_STATUS_OFF: Off.
722  * @QMI_NAS_ROAMING_STATUS_ON: On.
723  * @QMI_NAS_ROAMING_STATUS_BLINK: Blinking.
724  * @QMI_NAS_ROAMING_STATUS_OUT_OF_NEIGHBORHOOD: Out of neighborhood.
725  * @QMI_NAS_ROAMING_STATUS_OUT_OF_BUILDING: Out of building.
726  * @QMI_NAS_ROAMING_STATUS_PREFERRED_SYSTEM: Preferred system.
727  * @QMI_NAS_ROAMING_STATUS_AVAILABLE_SYSTEM: Available system.
728  * @QMI_NAS_ROAMING_STATUS_ALLIANCE_PARTNER: Alliance partner.
729  * @QMI_NAS_ROAMING_STATUS_PREMIUM_PARTNER: Premium partner.
730  * @QMI_NAS_ROAMING_STATUS_FULL_SERVICE: Full service.
731  * @QMI_NAS_ROAMING_STATUS_PARTIAL_SERVICE: Partial service.
732  * @QMI_NAS_ROAMING_STATUS_BANNER_ON: Banner on.
733  * @QMI_NAS_ROAMING_STATUS_BANNER_OFF: Banner off.
734 */
735 typedef enum {
736     QMI_NAS_ROAMING_STATUS_OFF                 = 0x00,
737     QMI_NAS_ROAMING_STATUS_ON                  = 0x01,
738     /* Next ones only for 3GPP2 */
739     QMI_NAS_ROAMING_STATUS_BLINK               = 0x02,
740     QMI_NAS_ROAMING_STATUS_OUT_OF_NEIGHBORHOOD = 0x03,
741     QMI_NAS_ROAMING_STATUS_OUT_OF_BUILDING     = 0x04,
742     QMI_NAS_ROAMING_STATUS_PREFERRED_SYSTEM    = 0x05,
743     QMI_NAS_ROAMING_STATUS_AVAILABLE_SYSTEM    = 0x06,
744     QMI_NAS_ROAMING_STATUS_ALLIANCE_PARTNER    = 0x07,
745     QMI_NAS_ROAMING_STATUS_PREMIUM_PARTNER     = 0x08,
746     QMI_NAS_ROAMING_STATUS_FULL_SERVICE        = 0x09,
747     QMI_NAS_ROAMING_STATUS_PARTIAL_SERVICE     = 0x0A,
748     QMI_NAS_ROAMING_STATUS_BANNER_ON           = 0x0B,
749     QMI_NAS_ROAMING_STATUS_BANNER_OFF          = 0x0C
750 } QmiNasRoamingStatus;
751
752 /**
753  * QmiNasHdrProtocolRevision:
754  * @QMI_NAS_HDR_PROTOCOL_REVISION_NONE: None.
755  * @QMI_NAS_HDR_PROTOCOL_REVISION_REL_0: HDR Rel 0.
756  * @QMI_NAS_HDR_PROTOCOL_REVISION_REL_A: HDR Rel A.
757  * @QMI_NAS_HDR_PROTOCOL_REVISION_REL_B: HDR Rel B.
758  *
759  * HDR protocol revision.
760  */
761 typedef enum {
762     QMI_NAS_HDR_PROTOCOL_REVISION_NONE  = 0x00,
763     QMI_NAS_HDR_PROTOCOL_REVISION_REL_0 = 0x01,
764     QMI_NAS_HDR_PROTOCOL_REVISION_REL_A = 0x02,
765     QMI_NAS_HDR_PROTOCOL_REVISION_REL_B = 0x03
766 } QmiNasHdrProtocolRevision;
767
768 /**
769  * QmiNasWcdmaHsService:
770  * @QMI_NAS_WCDMA_HS_SERVICE_HSDPA_HSUPA_UNSUPPORTED: HSDPA and HSUPA not supported.
771  * @QMI_NAS_WCDMA_HS_SERVICE_HSDPA_SUPPORTED: HSDPA supported.
772  * @QMI_NAS_WCDMA_HS_SERVICE_HSUPA_SUPPORTED: HSUPA supported.
773  * @QMI_NAS_WCDMA_HS_SERVICE_HSDPA_HSUPA_SUPPORTED: HSDPA and HSUPA supported.
774  * @QMI_NAS_WCDMA_HS_SERVICE_HSDPA_PLUS_SUPPORTED: HSDPA+ supported.
775  * @QMI_NAS_WCDMA_HS_SERVICE_HSDPA_PLUS_HSUPA_SUPPORTED: HSDPA+ and HSUPA supported.
776  * @QMI_NAS_WCDMA_HS_SERVICE_DC_HSDPA_PLUS_SUPPORTED: DC-HSDPA+ supported.
777  * @QMI_NAS_WCDMA_HS_SERVICE_DC_HSDPA_PLUS_HSUPA_SUPPORTED: DC-HSDPA+ and HSUPA supported.
778  * Call status on high speed.
779  */
780 typedef enum {
781     QMI_NAS_WCDMA_HS_SERVICE_HSDPA_HSUPA_UNSUPPORTED       = 0x00,
782     QMI_NAS_WCDMA_HS_SERVICE_HSDPA_SUPPORTED               = 0x01,
783     QMI_NAS_WCDMA_HS_SERVICE_HSUPA_SUPPORTED               = 0x02,
784     QMI_NAS_WCDMA_HS_SERVICE_HSDPA_HSUPA_SUPPORTED         = 0x03,
785     QMI_NAS_WCDMA_HS_SERVICE_HSDPA_PLUS_SUPPORTED          = 0x04,
786     QMI_NAS_WCDMA_HS_SERVICE_HSDPA_PLUS_HSUPA_SUPPORTED    = 0x05,
787     QMI_NAS_WCDMA_HS_SERVICE_DC_HSDPA_PLUS_SUPPORTED       = 0x06,
788     QMI_NAS_WCDMA_HS_SERVICE_DC_HSDPA_PLUS_HSUPA_SUPPORTED = 0x07
789 } QmiNasWcdmaHsService;
790
791 /**
792  * QmiNasCellBroadcastCapability:
793  * @QMI_NAS_CELL_BROADCAST_CAPABILITY_UNKNOWN: Unknown.
794  * @QMI_NAS_CELL_BROADCAST_CAPABILITY_OFF: Cell broadcast not supported.
795  * @QMI_NAS_CELL_BROADCAST_CAPABILITY_ON: Cell broadcast supported.
796  *
797  * Cell broadcast support.
798  */
799 typedef enum {
800     QMI_NAS_CELL_BROADCAST_CAPABILITY_UNKNOWN = 0x00,
801     QMI_NAS_CELL_BROADCAST_CAPABILITY_OFF     = 0x01,
802     QMI_NAS_CELL_BROADCAST_CAPABILITY_ON      = 0x02
803 } QmiNasCellBroadcastCapability;
804
805 /**
806  * QmiNasSimRejectState:
807  * @QMI_NAS_SIM_REJECT_STATE_SIM_UNAVAILABLE: SIM not available.
808  * @QMI_NAS_SIM_REJECT_STATE_SIM_VAILABLE: SIM available.
809  * @QMI_NAS_SIM_REJECT_STATE_SIM_CS_INVALID: SIM invalid for circuit-switched connections.
810  * @QMI_NAS_SIM_REJECT_STATE_SIM_PS_INVALID: SIM invalid for packet-switched connections.
811  * @QMI_NAS_SIM_REJECT_STATE_SIM_CS_PS_INVALID: SIM invalid for circuit-switched and packet-switched connections.
812  *
813  * Reject information of the SIM.
814  */
815 typedef enum {
816     QMI_NAS_SIM_REJECT_STATE_SIM_UNAVAILABLE   = 0,
817     QMI_NAS_SIM_REJECT_STATE_SIM_VAILABLE      = 1,
818     QMI_NAS_SIM_REJECT_STATE_SIM_CS_INVALID    = 2,
819     QMI_NAS_SIM_REJECT_STATE_SIM_PS_INVALID    = 3,
820     QMI_NAS_SIM_REJECT_STATE_SIM_CS_PS_INVALID = 4
821 } QmiNasSimRejectState;
822
823 /**
824  * QmiNasCdmaPilotType:
825  * @QMI_NAS_CDMA_PILOT_TYPE_ACTIVE: the pilot is part of the active set.
826  * @QMI_NAS_CDMA_PILOT_TYPE_NEIGHBOR: the pilot is part of the neighbor set.
827  *
828  * The pilot set the pilot belongs to.
829  */
830 typedef enum {
831     QMI_NAS_CDMA_PILOT_TYPE_ACTIVE   = 0,
832     QMI_NAS_CDMA_PILOT_TYPE_NEIGHBOR = 1,
833 } QmiNasCdmaPilotType;
834
835 /**
836  * QmiNasDayOfWeek:
837  * @QMI_NAS_DAY_OF_WEEK_MONDAY: Monday
838  * @QMI_NAS_DAY_OF_WEEK_TUESDAY: Tuesday
839  * @QMI_NAS_DAY_OF_WEEK_WEDNESDAY: Wednesday
840  * @QMI_NAS_DAY_OF_WEEK_THURSDAY: Thursday
841  * @QMI_NAS_DAY_OF_WEEK_FRIDAY: Friday
842  * @QMI_NAS_DAY_OF_WEEK_SATURDAY: Saturday
843  * @QMI_NAS_DAY_OF_WEEK_SUNDAY: Sunday
844  *
845  * The day of the week.
846  */
847 typedef enum {
848     QMI_NAS_DAY_OF_WEEK_MONDAY    = 0,
849     QMI_NAS_DAY_OF_WEEK_TUESDAY   = 1,
850     QMI_NAS_DAY_OF_WEEK_WEDNESDAY = 2,
851     QMI_NAS_DAY_OF_WEEK_THURSDAY  = 3,
852     QMI_NAS_DAY_OF_WEEK_FRIDAY    = 4,
853     QMI_NAS_DAY_OF_WEEK_SATURDAY  = 5,
854     QMI_NAS_DAY_OF_WEEK_SUNDAY    = 6
855 } QmiNasDayOfWeek;
856
857 /**
858  * QmiNasDaylightSavingsAdjustment:
859  * @QMI_NAS_DAYLIGHT_SAVINGS_ADJUSTMENT_NONE: no adjustment
860  * @QMI_NAS_DAYLIGHT_SAVINGS_ADJUSTMENT_ONE_HOUR: one hour adjustment
861  * @QMI_NAS_DAYLIGHT_SAVINGS_ADJUSTMENT_TWO_HOURS: two hours adjustment
862  *
863  * The number of hours a time is adjusted for daylight savings.
864  */
865 typedef enum {
866     QMI_NAS_DAYLIGHT_SAVINGS_ADJUSTMENT_NONE      = 0,
867     QMI_NAS_DAYLIGHT_SAVINGS_ADJUSTMENT_ONE_HOUR  = 1,
868     QMI_NAS_DAYLIGHT_SAVINGS_ADJUSTMENT_TWO_HOURS = 2
869 } QmiNasDaylightSavingsAdjustment;
870
871 /*****************************************************************************/
872 /* Helper enums for the 'QMI NAS Get Cell Location Info' request/response */
873
874 /**
875  * QmiNasWcdmaRrcState:
876  * @QMI_NAS_WCDMA_RRC_STATE_DISCONNECTED: Disconnected.
877  * @QMI_NAS_WCDMA_RRC_STATE_CELL_PCH: WCDMA RRC state is CELL_PCH.
878  * @QMI_NAS_WCDMA_RRC_STATE_URA_PCH: WCDMA RRC state is URA_PCH.
879  * @QMI_NAS_WCDMA_RRC_STATE_CELL_FACH: WCDMA RRC state is CELL_FACH.
880  * @QMI_NAS_WCDMA_RRC_STATE_CELL_DCH: WCDMA RRC state is CELL_DCH.
881  *
882  * RRC state.
883  */
884 typedef enum {
885     QMI_NAS_WCDMA_RRC_STATE_DISCONNECTED = 0,
886     QMI_NAS_WCDMA_RRC_STATE_CELL_PCH     = 1,
887     QMI_NAS_WCDMA_RRC_STATE_URA_PCH      = 2,
888     QMI_NAS_WCDMA_RRC_STATE_CELL_FACH    = 3,
889     QMI_NAS_WCDMA_RRC_STATE_CELL_DCH     = 4
890 } QmiNasWcdmaRrcState;
891
892 #endif /* _LIBQMI_GLIB_QMI_ENUMS_NAS_H_ */