add initial prototype with a few commands
[project/uqmi.git] / qmi-flags64-nas.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_FLAGS64_NAS_H_
24 #define _LIBQMI_GLIB_QMI_FLAGS64_NAS_H_
25
26 /*****************************************************************************/
27 /* Helper enums for the 'QMI NAS Get System Selection Preference'
28  * request/response */
29
30 /**
31  * QmiNasBandPreference:
32  * @QMI_NAS_BAND_PREFERENCE_BC_0_A_SYSTEM: Band class 0, A system.
33  * @QMI_NAS_BAND_PREFERENCE_BC_0_B_SYSTEM: Band class 0, B system.
34  * @QMI_NAS_BAND_PREFERENCE_BC_1_ALL_BLOCKS: Band class 1.
35  * @QMI_NAS_BAND_PREFERENCE_BC_2: Band class 2.
36  * @QMI_NAS_BAND_PREFERENCE_BC_3_A_SYSTEM: Band class 3, A system.
37  * @QMI_NAS_BAND_PREFERENCE_BC_4_ALL_BLOCKS: Band class 4, all blocks.
38  * @QMI_NAS_BAND_PREFERENCE_BC_5_ALL_BLOCKS: Band class 5, all blocks.
39  * @QMI_NAS_BAND_PREFERENCE_BC_6: Band class 6.
40  * @QMI_NAS_BAND_PREFERENCE_BC_7: Band class 7.
41  * @QMI_NAS_BAND_PREFERENCE_BC_8: Band class 8.
42  * @QMI_NAS_BAND_PREFERENCE_BC_9: Band class 9.
43  * @QMI_NAS_BAND_PREFERENCE_BC_10: Band class 10.
44  * @QMI_NAS_BAND_PREFERENCE_BC_11: Band class 11.
45  * @QMI_NAS_BAND_PREFERENCE_BC_12: Band class 12.
46  * @QMI_NAS_BAND_PREFERENCE_BC_14: Band class 14.
47  * @QMI_NAS_BAND_PREFERENCE_BC_15: Band class 15.
48  * @QMI_NAS_BAND_PREFERENCE_BC_16: Band class 16.
49  * @QMI_NAS_BAND_PREFERENCE_BC_17: Band class 17.
50  * @QMI_NAS_BAND_PREFERENCE_BC_18: Band class 18.
51  * @QMI_NAS_BAND_PREFERENCE_BC_19: Band class 19.
52  * @QMI_NAS_BAND_PREFERENCE_GSM_DCS_1800: GSM DCS 1800 band.
53  * @QMI_NAS_BAND_PREFERENCE_GSM_900_EXTENDED: Extended GSM 900 band.
54  * @QMI_NAS_BAND_PREFERENCE_GSM_900_PRIMARY: Primary GSM 900 band.
55  * @QMI_NAS_BAND_PREFERENCE_GSM_450: GSM 450.
56  * @QMI_NAS_BAND_PREFERENCE_GSM_480: GSM 480.
57  * @QMI_NAS_BAND_PREFERENCE_GSM_750: GSM 750.
58  * @QMI_NAS_BAND_PREFERENCE_GSM_850: GSM 850.
59  * @QMI_NAS_BAND_PREFERENCE_GSM_900_RAILWAYS: GSM 900 (Railways).
60  * @QMI_NAS_BAND_PREFERENCE_GSM_PCS_1900: GSM 1900.
61  * @QMI_NAS_BAND_PREFERENCE_WCDMA_2100: WCDMA 2100.
62  * @QMI_NAS_BAND_PREFERENCE_WCDMA_PCS_1900: WCDMA PCS 1900.
63  * @QMI_NAS_BAND_PREFERENCE_WCDMA_DCS_1800: WCDMA DCS 1800.
64  * @QMI_NAS_BAND_PREFERENCE_WCDMA_1700_US: WCDMA 1700 (U.S.).
65  * @QMI_NAS_BAND_PREFERENCE_WCDMA_850_US: WCDMA 850.
66  * @QMI_NAS_BAND_PREFERENCE_WCDMA_800: WCDMA 800.
67  * @QMI_NAS_BAND_PREFERENCE_WCDMA_2600: WCDMA 2600.
68  * @QMI_NAS_BAND_PREFERENCE_WCDMA_900: WCDMA 900.
69  * @QMI_NAS_BAND_PREFERENCE_WCDMA_1700_JAPAN: WCDMA 1700 (Japan).
70  *
71  * Flags to specify frequency band preferences.
72  */
73 typedef enum {
74     QMI_NAS_BAND_PREFERENCE_BC_0_A_SYSTEM    = 1 << 0,
75     QMI_NAS_BAND_PREFERENCE_BC_0_B_SYSTEM    = 1 << 1,
76     QMI_NAS_BAND_PREFERENCE_BC_1_ALL_BLOCKS  = 1 << 2,
77     QMI_NAS_BAND_PREFERENCE_BC_2             = 1 << 3,
78     QMI_NAS_BAND_PREFERENCE_BC_3_A_SYSTEM    = 1 << 4,
79     QMI_NAS_BAND_PREFERENCE_BC_4_ALL_BLOCKS  = 1 << 5,
80     QMI_NAS_BAND_PREFERENCE_BC_5_ALL_BLOCKS  = 1 << 6,
81     QMI_NAS_BAND_PREFERENCE_GSM_DCS_1800     = 1 << 7,
82     QMI_NAS_BAND_PREFERENCE_GSM_900_EXTENDED = 1 << 8,
83     QMI_NAS_BAND_PREFERENCE_GSM_900_PRIMARY  = 1 << 9,
84     QMI_NAS_BAND_PREFERENCE_BC_6             = 1 << 10,
85     QMI_NAS_BAND_PREFERENCE_BC_7             = 1 << 11,
86     QMI_NAS_BAND_PREFERENCE_BC_8             = 1 << 12,
87     QMI_NAS_BAND_PREFERENCE_BC_9             = 1 << 13,
88     QMI_NAS_BAND_PREFERENCE_BC_10            = 1 << 14,
89     QMI_NAS_BAND_PREFERENCE_BC_11            = 1 << 15,
90     QMI_NAS_BAND_PREFERENCE_GSM_450          = 1 << 16,
91     QMI_NAS_BAND_PREFERENCE_GSM_480          = 1 << 17,
92     QMI_NAS_BAND_PREFERENCE_GSM_750          = 1 << 18,
93     QMI_NAS_BAND_PREFERENCE_GSM_850          = 1 << 19,
94     QMI_NAS_BAND_PREFERENCE_GSM_900_RAILWAYS = 1 << 20,
95     QMI_NAS_BAND_PREFERENCE_GSM_PCS_1900     = 1 << 21,
96     QMI_NAS_BAND_PREFERENCE_WCDMA_2100       = 1 << 22,
97     QMI_NAS_BAND_PREFERENCE_WCDMA_PCS_1900   = 1 << 23,
98     QMI_NAS_BAND_PREFERENCE_WCDMA_DCS_1800   = 1 << 24,
99     QMI_NAS_BAND_PREFERENCE_WCDMA_1700_US    = 1 << 25,
100     QMI_NAS_BAND_PREFERENCE_WCDMA_850_US     = 1 << 26,
101     QMI_NAS_BAND_PREFERENCE_WCDMA_800        = 1 << 27,
102     QMI_NAS_BAND_PREFERENCE_BC_12            = 1 << 28,
103     QMI_NAS_BAND_PREFERENCE_BC_14            = 1 << 29,
104     /* Bit 30 reserved */
105     QMI_NAS_BAND_PREFERENCE_BC_15            = 1 << 31,
106     /* Bits 32-47 reserved */
107     QMI_NAS_BAND_PREFERENCE_WCDMA_2600       = ((uint64_t) 1) << 48,
108     QMI_NAS_BAND_PREFERENCE_WCDMA_900        = ((uint64_t) 1) << 49,
109     QMI_NAS_BAND_PREFERENCE_WCDMA_1700_JAPAN = ((uint64_t) 1) << 50,
110     /* Bits 51-55 reserved */
111     QMI_NAS_BAND_PREFERENCE_BC_16            = ((uint64_t) 1) << 56,
112     QMI_NAS_BAND_PREFERENCE_BC_17            = ((uint64_t) 1) << 57,
113     QMI_NAS_BAND_PREFERENCE_BC_18            = ((uint64_t) 1) << 58,
114     QMI_NAS_BAND_PREFERENCE_BC_19            = ((uint64_t) 1) << 59
115     /* Bits 60-63 reserved */
116 } QmiNasBandPreference;
117
118 /**
119  * QmiNasLteBandPreference:
120  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_1: LTE EUTRAN Band 1
121  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_2: LTE EUTRAN Band 2.
122  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_3: LTE EUTRAN Band 3.
123  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_4: LTE EUTRAN Band 4.
124  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_5: LTE EUTRAN Band 5.
125  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_6: LTE EUTRAN Band 6.
126  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_7: LTE EUTRAN Band 7.
127  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_8: LTE EUTRAN Band 8.
128  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_9: LTE EUTRAN Band 9.
129  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_10: LTE EUTRAN Band 10.
130  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_11: LTE EUTRAN Band 11.
131  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_12: LTE EUTRAN Band 12.
132  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_13: LTE EUTRAN Band 13.
133  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_14: LTE EUTRAN Band 14.
134  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_17: LTE EUTRAN Band 17.
135  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_18: LTE EUTRAN Band 18.
136  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_19: LTE EUTRAN Band 19.
137  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_20: LTE EUTRAN Band 20.
138  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_21: LTE EUTRAN Band 21.
139  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_24: LTE EUTRAN Band 24.
140  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_25: LTE EUTRAN Band 25.
141  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_33: LTE EUTRAN Band 33.
142  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_34: LTE EUTRAN Band 34.
143  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_35: LTE EUTRAN Band 35.
144  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_36: LTE EUTRAN Band 36.
145  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_37: LTE EUTRAN Band 37.
146  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_38: LTE EUTRAN Band 38.
147  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_39: LTE EUTRAN Band 39.
148  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_40: LTE EUTRAN Band 40.
149  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_41: LTE EUTRAN Band 41.
150  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_42: LTE EUTRAN Band 42.
151  * @QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_43: LTE EUTRAN Band 43.
152  *
153  * Flags to specify LTE-specific frequency band preferences.
154  */
155 typedef enum {
156     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_1  = 1 << 0,
157     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_2  = 1 << 1,
158     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_3  = 1 << 2,
159     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_4  = 1 << 3,
160     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_5  = 1 << 4,
161     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_6  = 1 << 5,
162     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_7  = 1 << 6,
163     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_8  = 1 << 7,
164     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_9  = 1 << 8,
165     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_10 = 1 << 9,
166     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_11 = 1 << 10,
167     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_12 = 1 << 11,
168     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_13 = 1 << 12,
169     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_14 = 1 << 13,
170     /* Bit 14-15 reserved */
171     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_17 = 1 << 16,
172     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_18 = 1 << 17,
173     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_19 = 1 << 18,
174     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_20 = 1 << 19,
175     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_21 = 1 << 20,
176     /* Bit 21-22 reserved */
177     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_24 = 1 << 23,
178     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_25 = 1 << 24,
179     /* Bit 25-31 reserved */
180     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_33 = ((uint64_t) 1) << 32,
181     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_34 = ((uint64_t) 1) << 33,
182     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_35 = ((uint64_t) 1) << 34,
183     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_36 = ((uint64_t) 1) << 35,
184     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_37 = ((uint64_t) 1) << 36,
185     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_38 = ((uint64_t) 1) << 37,
186     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_39 = ((uint64_t) 1) << 38,
187     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_40 = ((uint64_t) 1) << 39,
188     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_41 = ((uint64_t) 1) << 40,
189     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_42 = ((uint64_t) 1) << 41,
190     QMI_NAS_LTE_BAND_PREFERENCE_EUTRAN_43 = ((uint64_t) 1) << 42
191     /* Bit 43-64 reserved */
192 } QmiNasLteBandPreference;
193
194 #endif /* _LIBQMI_GLIB_QMI_FLAGS64_NAS_H_ */