qmi-flags64-nas.h 11 KB

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