qmi-enums-dms.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2. /*
  3. * uqmi -- tiny QMI support implementation
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public
  16. * License along with this library; if not, write to the
  17. * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  18. * Boston, MA 02110-1301 USA.
  19. *
  20. * Copyright (C) 2012 Lanedo GmbH.
  21. * Copyright (C) 2012-2017 Aleksander Morgado <aleksander@aleksander.es>
  22. */
  23. #ifndef _LIBQMI_GLIB_QMI_ENUMS_DMS_H_
  24. #define _LIBQMI_GLIB_QMI_ENUMS_DMS_H_
  25. /**
  26. * SECTION: qmi-enums-dms
  27. *
  28. * This section defines enumerations and flags used in the DMS service
  29. * interface.
  30. */
  31. /*****************************************************************************/
  32. /* Helper enums for the 'QMI DMS Get Capabilities' message */
  33. /**
  34. * QmiDmsDataServiceCapability:
  35. * @QMI_DMS_DATA_SERVICE_CAPABILITY_NONE: No data services supported.
  36. * @QMI_DMS_DATA_SERVICE_CAPABILITY_CS: Only CS supported.
  37. * @QMI_DMS_DATA_SERVICE_CAPABILITY_PS: Only PS supported.
  38. * @QMI_DMS_DATA_SERVICE_CAPABILITY_SIMULTANEOUS_CS_PS: Simultaneous CS and PS supported.
  39. * @QMI_DMS_DATA_SERVICE_CAPABILITY_NON_SIMULTANEOUS_CS_PS: Non simultaneous CS and PS supported.
  40. *
  41. * Data service capability.
  42. *
  43. * Since: 1.0
  44. */
  45. typedef enum { /*< since=1.0 >*/
  46. QMI_DMS_DATA_SERVICE_CAPABILITY_NONE = 0,
  47. QMI_DMS_DATA_SERVICE_CAPABILITY_CS = 1,
  48. QMI_DMS_DATA_SERVICE_CAPABILITY_PS = 2,
  49. QMI_DMS_DATA_SERVICE_CAPABILITY_SIMULTANEOUS_CS_PS = 3,
  50. QMI_DMS_DATA_SERVICE_CAPABILITY_NON_SIMULTANEOUS_CS_PS = 4
  51. } QmiDmsDataServiceCapability;
  52. /**
  53. * QmiDmsSimCapability:
  54. * @QMI_DMS_SIM_CAPABILITY_NOT_SUPPORTED: SIM not supported.
  55. * @QMI_DMS_SIM_CAPABILITY_SUPPORTED: SIM is supported.
  56. *
  57. * SIM capability.
  58. *
  59. * Since: 1.0
  60. */
  61. typedef enum { /*< since=1.0 >*/
  62. QMI_DMS_SIM_CAPABILITY_NOT_SUPPORTED = 1,
  63. QMI_DMS_SIM_CAPABILITY_SUPPORTED = 2
  64. } QmiDmsSimCapability;
  65. /**
  66. * QmiDmsRadioInterface:
  67. * @QMI_DMS_RADIO_INTERFACE_CDMA20001X: CDMA2000 1x.
  68. * @QMI_DMS_RADIO_INTERFACE_EVDO: CDMA2000 HRPD (1xEV-DO)
  69. * @QMI_DMS_RADIO_INTERFACE_GSM: GSM.
  70. * @QMI_DMS_RADIO_INTERFACE_UMTS: UMTS.
  71. * @QMI_DMS_RADIO_INTERFACE_LTE: LTE.
  72. * @QMI_DMS_RADIO_INTERFACE_TDS: TDS. Since 1.32.
  73. * @QMI_DMS_RADIO_INTERFACE_5GNR: 5G NR. Since 1.26.
  74. *
  75. * Radio interface type.
  76. *
  77. * Since: 1.0
  78. */
  79. typedef enum { /*< since=1.0 >*/
  80. QMI_DMS_RADIO_INTERFACE_CDMA20001X = 1,
  81. QMI_DMS_RADIO_INTERFACE_EVDO = 2,
  82. QMI_DMS_RADIO_INTERFACE_GSM = 4,
  83. QMI_DMS_RADIO_INTERFACE_UMTS = 5,
  84. QMI_DMS_RADIO_INTERFACE_LTE = 8,
  85. QMI_DMS_RADIO_INTERFACE_TDS = 9,
  86. QMI_DMS_RADIO_INTERFACE_5GNR = 10,
  87. } QmiDmsRadioInterface;
  88. /*****************************************************************************/
  89. /* Helper enums for the 'QMI DMS Get Power State' message */
  90. /**
  91. * QmiDmsPowerState:
  92. * @QMI_DMS_POWER_STATE_EXTERNAL_SOURCE: Powered by an external source.
  93. * @QMI_DMS_POWER_STATE_BATTERY_CONNECTED: Battery is connected.
  94. * @QMI_DMS_POWER_STATE_BATTERY_CHARGING: Battery is currently being charged.
  95. * @QMI_DMS_POWER_STATE_FAULT: Recognized power fault.
  96. *
  97. * Flags specifying the current power state.
  98. *
  99. * If @QMI_DMS_POWER_STATE_EXTERNAL_SOURCE is set, the device is powerered by an
  100. * external source; otherwise it is powered by a battery.
  101. *
  102. * If @QMI_DMS_POWER_STATE_BATTERY_CONNECTED is set, the battery is connected;
  103. * otherwise the battery is not connected.
  104. *
  105. * If @QMI_DMS_POWER_STATE_BATTERY_CHARGING is set, the battery is being charged;
  106. * otherwise the battery is not being charged.
  107. *
  108. * If @QMI_DMS_POWER_STATE_FAULT is set, a power fault has been detected.
  109. *
  110. * Since: 1.0
  111. */
  112. typedef enum { /*< since=1.0 >*/
  113. QMI_DMS_POWER_STATE_EXTERNAL_SOURCE = 1 << 0,
  114. QMI_DMS_POWER_STATE_BATTERY_CONNECTED = 1 << 1,
  115. QMI_DMS_POWER_STATE_BATTERY_CHARGING = 1 << 2,
  116. QMI_DMS_POWER_STATE_FAULT = 1 << 3,
  117. } QmiDmsPowerState;
  118. /*****************************************************************************/
  119. /* Helper enums for the 'QMI DMS UIM Set PIN Protection' message */
  120. /**
  121. * QmiDmsUimPinId:
  122. * @QMI_DMS_UIM_PIN_ID_PIN: PIN.
  123. * @QMI_DMS_UIM_PIN_ID_PIN2: PIN2.
  124. *
  125. * The PIN identifier.
  126. *
  127. * Since: 1.0
  128. */
  129. typedef enum { /*< since=1.0 >*/
  130. QMI_DMS_UIM_PIN_ID_PIN = 1,
  131. QMI_DMS_UIM_PIN_ID_PIN2 = 2
  132. } QmiDmsUimPinId;
  133. /*****************************************************************************/
  134. /* Helper enums for the 'QMI DMS UIM Get PIN Status' message */
  135. /**
  136. * QmiDmsUimPinStatus:
  137. * @QMI_DMS_UIM_PIN_STATUS_NOT_INITIALIZED: Not initialized.
  138. * @QMI_DMS_UIM_PIN_STATUS_ENABLED_NOT_VERIFIED: Enabled, not verified.
  139. * @QMI_DMS_UIM_PIN_STATUS_ENABLED_VERIFIED: Enabled, verified.
  140. * @QMI_DMS_UIM_PIN_STATUS_DISABLED: Disabled.
  141. * @QMI_DMS_UIM_PIN_STATUS_BLOCKED: Blocked.
  142. * @QMI_DMS_UIM_PIN_STATUS_PERMANENTLY_BLOCKED: Permanently Blocked.
  143. * @QMI_DMS_UIM_PIN_STATUS_UNBLOCKED: Unblocked.
  144. * @QMI_DMS_UIM_PIN_STATUS_CHANGED: Changed.
  145. *
  146. * The PIN status.
  147. *
  148. * Since: 1.0
  149. */
  150. typedef enum { /*< since=1.0 >*/
  151. QMI_DMS_UIM_PIN_STATUS_NOT_INITIALIZED = 0,
  152. QMI_DMS_UIM_PIN_STATUS_ENABLED_NOT_VERIFIED = 1,
  153. QMI_DMS_UIM_PIN_STATUS_ENABLED_VERIFIED = 2,
  154. QMI_DMS_UIM_PIN_STATUS_DISABLED = 3,
  155. QMI_DMS_UIM_PIN_STATUS_BLOCKED = 4,
  156. QMI_DMS_UIM_PIN_STATUS_PERMANENTLY_BLOCKED = 5,
  157. QMI_DMS_UIM_PIN_STATUS_UNBLOCKED = 6,
  158. QMI_DMS_UIM_PIN_STATUS_CHANGED = 7,
  159. } QmiDmsUimPinStatus;
  160. /*****************************************************************************/
  161. /* Helper enums for the 'QMI DMS Get Operating Mode' message */
  162. /**
  163. * QmiDmsOperatingMode:
  164. * @QMI_DMS_OPERATING_MODE_ONLINE: Device can acquire a system and make calls.
  165. * @QMI_DMS_OPERATING_MODE_LOW_POWER: Device has temporarily disabled RF.
  166. * @QMI_DMS_OPERATING_MODE_PERSISTENT_LOW_POWER: Device has disabled RF and state persists even after a reset.
  167. * @QMI_DMS_OPERATING_MODE_FACTORY_TEST: Special mode for manufacturer tests.
  168. * @QMI_DMS_OPERATING_MODE_OFFLINE: Device has deactivated RF and is partially shutdown.
  169. * @QMI_DMS_OPERATING_MODE_RESET: Device is in the process of power cycling.
  170. * @QMI_DMS_OPERATING_MODE_SHUTTING_DOWN: Device is in the process of shutting down.
  171. * @QMI_DMS_OPERATING_MODE_MODE_ONLY_LOW_POWER: Mode-only Low Power.
  172. * @QMI_DMS_OPERATING_MODE_UNKNOWN: Unknown.
  173. *
  174. * Operating mode of the device.
  175. *
  176. * Since: 1.0
  177. */
  178. typedef enum { /*< since=1.0 >*/
  179. QMI_DMS_OPERATING_MODE_ONLINE = 0,
  180. QMI_DMS_OPERATING_MODE_LOW_POWER = 1,
  181. QMI_DMS_OPERATING_MODE_FACTORY_TEST = 2,
  182. QMI_DMS_OPERATING_MODE_OFFLINE = 3,
  183. QMI_DMS_OPERATING_MODE_RESET = 4,
  184. QMI_DMS_OPERATING_MODE_SHUTTING_DOWN = 5,
  185. QMI_DMS_OPERATING_MODE_PERSISTENT_LOW_POWER = 6,
  186. QMI_DMS_OPERATING_MODE_MODE_ONLY_LOW_POWER = 7,
  187. QMI_DMS_OPERATING_MODE_UNKNOWN = 0xFF
  188. } QmiDmsOperatingMode;
  189. /**
  190. * QmiDmsOfflineReason:
  191. * @QMI_DMS_OFFLINE_REASON_HOST_IMAGE_MISCONFIGURATION: Host image misconfiguration.
  192. * @QMI_DMS_OFFLINE_REASON_PRI_IMAGE_MISCONFIGURATION: PRI image misconfiguration.
  193. * @QMI_DMS_OFFLINE_REASON_PRI_VERSION_INCOMPATIBLE: PRI version incompatible.
  194. * @QMI_DMS_OFFLINE_REASON_DEVICE_MEMORY_FULL: Memory full, cannot copy PRI information.
  195. *
  196. * Reasons for being in Offline (@QMI_DMS_OPERATING_MODE_OFFLINE) state.
  197. *
  198. * Since: 1.0
  199. */
  200. typedef enum { /*< since=1.0 >*/
  201. QMI_DMS_OFFLINE_REASON_HOST_IMAGE_MISCONFIGURATION = 1 << 0,
  202. QMI_DMS_OFFLINE_REASON_PRI_IMAGE_MISCONFIGURATION = 1 << 1,
  203. QMI_DMS_OFFLINE_REASON_PRI_VERSION_INCOMPATIBLE = 1 << 2,
  204. QMI_DMS_OFFLINE_REASON_DEVICE_MEMORY_FULL = 1 << 3
  205. } QmiDmsOfflineReason;
  206. /*****************************************************************************/
  207. /* Helper enums for the 'QMI DMS Get Time' message */
  208. /**
  209. * QmiDmsTimeSource:
  210. * @QMI_DMS_TIME_SOURCE_DEVICE: 32 kHz device clock.
  211. * @QMI_DMS_TIME_SOURCE_CDMA_NETWORK: CDMA network.
  212. * @QMI_DMS_TIME_SOURCE_HDR_NETWORK: HDR network.
  213. *
  214. * Source of the timestamp.
  215. *
  216. * Since: 1.0
  217. */
  218. typedef enum { /*< since=1.0 >*/
  219. QMI_DMS_TIME_SOURCE_DEVICE = 0,
  220. QMI_DMS_TIME_SOURCE_CDMA_NETWORK = 1,
  221. QMI_DMS_TIME_SOURCE_HDR_NETWORK = 2,
  222. } QmiDmsTimeSource;
  223. /*****************************************************************************/
  224. /* Helper enums for the 'QMI DMS Get Activation State' message */
  225. /**
  226. * QmiDmsActivationState:
  227. * @QMI_DMS_ACTIVATION_STATE_NOT_ACTIVATED: Service not activated.
  228. * @QMI_DMS_ACTIVATION_STATE_ACTIVATED: Service is activated.
  229. * @QMI_DMS_ACTIVATION_STATE_CONNECTING: Connection in progress for automatic activation.
  230. * @QMI_DMS_ACTIVATION_STATE_CONNECTED: Connection connected for automatic activation.
  231. * @QMI_DMS_ACTIVATION_STATE_OTASP_AUTHENTICATED: OTASP security authenticated.
  232. * @QMI_DMS_ACTIVATION_STATE_OTASP_NAM: OTASP NAM downloaded.
  233. * @QMI_DMS_ACTIVATION_STATE_OTASP_MDN: OTASP MDN downloaded.
  234. * @QMI_DMS_ACTIVATION_STATE_OTASP_IMSI: OTASP IMSI downloaded.
  235. * @QMI_DMS_ACTIVATION_STATE_OTASP_PRL: OTASP PRL downloaded.
  236. * @QMI_DMS_ACTIVATION_STATE_OTASP_SPC: OTASP SPC downloaded.
  237. * @QMI_DMS_ACTIVATION_STATE_OTASP_COMMITED: OTASP settings committed.
  238. *
  239. * State of the service activation.
  240. *
  241. * Since: 1.0
  242. */
  243. typedef enum { /*< since=1.0 >*/
  244. QMI_DMS_ACTIVATION_STATE_NOT_ACTIVATED = 0x00,
  245. QMI_DMS_ACTIVATION_STATE_ACTIVATED = 0x01,
  246. QMI_DMS_ACTIVATION_STATE_CONNECTING = 0x02,
  247. QMI_DMS_ACTIVATION_STATE_CONNECTED = 0x03,
  248. QMI_DMS_ACTIVATION_STATE_OTASP_AUTHENTICATED = 0x04,
  249. QMI_DMS_ACTIVATION_STATE_OTASP_NAM = 0x05,
  250. QMI_DMS_ACTIVATION_STATE_OTASP_MDN = 0x06,
  251. QMI_DMS_ACTIVATION_STATE_OTASP_IMSI = 0x07,
  252. QMI_DMS_ACTIVATION_STATE_OTASP_PRL = 0x08,
  253. QMI_DMS_ACTIVATION_STATE_OTASP_SPC = 0x09,
  254. QMI_DMS_ACTIVATION_STATE_OTASP_COMMITED = 0x0A
  255. } QmiDmsActivationState;
  256. /*****************************************************************************/
  257. /* Helper enums for the 'QMI DMS UIM Get CK Status' message */
  258. /**
  259. * QmiDmsUimFacility:
  260. * @QMI_DMS_UIM_FACILITY_PN: Network personalization facility.
  261. * @QMI_DMS_UIM_FACILITY_PU: Network subset personalization facility.
  262. * @QMI_DMS_UIM_FACILITY_PP: Service provider facility.
  263. * @QMI_DMS_UIM_FACILITY_PC: Corporate personalization facility.
  264. * @QMI_DMS_UIM_FACILITY_PF: UIM personalization facility.
  265. *
  266. * UIM personalization facilities.
  267. *
  268. * Since: 1.0
  269. */
  270. typedef enum { /*< since=1.0 >*/
  271. QMI_DMS_UIM_FACILITY_PN = 0,
  272. QMI_DMS_UIM_FACILITY_PU = 1,
  273. QMI_DMS_UIM_FACILITY_PP = 2,
  274. QMI_DMS_UIM_FACILITY_PC = 3,
  275. QMI_DMS_UIM_FACILITY_PF = 4
  276. } QmiDmsUimFacility;
  277. /**
  278. * QmiDmsUimFacilityState:
  279. * @QMI_DMS_UIM_FACILITY_STATE_DEACTIVATED: Facility is deactivated.
  280. * @QMI_DMS_UIM_FACILITY_STATE_ACTIVATED: Facility is activated.
  281. * @QMI_DMS_UIM_FACILITY_STATE_BLOCKED: Facility is blocked.
  282. *
  283. * State of the UIM facility.
  284. *
  285. * Since: 1.0
  286. */
  287. typedef enum { /*< since=1.0 >*/
  288. QMI_DMS_UIM_FACILITY_STATE_DEACTIVATED = 0,
  289. QMI_DMS_UIM_FACILITY_STATE_ACTIVATED = 1,
  290. QMI_DMS_UIM_FACILITY_STATE_BLOCKED = 2
  291. } QmiDmsUimFacilityState;
  292. /*****************************************************************************/
  293. /* Helper enums for the 'QMI DMS UIM Get State' message */
  294. /**
  295. * QmiDmsUimState:
  296. * @QMI_DMS_UIM_STATE_INITIALIZATION_COMPLETED: UIM initialization completed.
  297. * @QMI_DMS_UIM_STATE_LOCKED_OR_FAILED: UIM is locked or failed.
  298. * @QMI_DMS_UIM_STATE_NOT_PRESENT: No UIM in the device.
  299. * @QMI_DMS_UIM_STATE_RESERVED: Reserved, unknown.
  300. * @QMI_DMS_UIM_STATE_UNKNOWN: UIM state currently unavailable.
  301. *
  302. * State of the UIM.
  303. *
  304. * Since: 1.0
  305. */
  306. typedef enum { /*< since=1.0 >*/
  307. QMI_DMS_UIM_STATE_INITIALIZATION_COMPLETED = 0x00,
  308. QMI_DMS_UIM_STATE_LOCKED_OR_FAILED = 0x01,
  309. QMI_DMS_UIM_STATE_NOT_PRESENT = 0x02,
  310. QMI_DMS_UIM_STATE_RESERVED = 0x03,
  311. QMI_DMS_UIM_STATE_UNKNOWN = 0xFF
  312. } QmiDmsUimState;
  313. /*****************************************************************************/
  314. /* Helper enums for the 'QMI DMS Set Time' message */
  315. /**
  316. * QmiDmsTimeReferenceType:
  317. * @QMI_DMS_TIME_REFERENCE_TYPE_USER: User time.
  318. *
  319. * Time reference type.
  320. *
  321. * Since: 1.0
  322. */
  323. typedef enum { /*< since=1.0 >*/
  324. QMI_DMS_TIME_REFERENCE_TYPE_USER = 0
  325. } QmiDmsTimeReferenceType;
  326. /*****************************************************************************/
  327. /* Helper enums for the 'QMI DMS Get Firmware Preference' message */
  328. /**
  329. * QmiDmsFirmwareImageType:
  330. * @QMI_DMS_FIRMWARE_IMAGE_TYPE_MODEM: Modem image.
  331. * @QMI_DMS_FIRMWARE_IMAGE_TYPE_PRI: PRI image.
  332. *
  333. * Type of firmware image.
  334. *
  335. * Since: 1.0
  336. */
  337. typedef enum { /*< since=1.0 >*/
  338. QMI_DMS_FIRMWARE_IMAGE_TYPE_MODEM = 0,
  339. QMI_DMS_FIRMWARE_IMAGE_TYPE_PRI = 1
  340. } QmiDmsFirmwareImageType;
  341. /*****************************************************************************/
  342. /* Helper enums for the 'QMI DMS Get Boot Image Download Mode' message */
  343. /**
  344. * QmiDmsBootImageDownloadMode:
  345. * @QMI_DMS_BOOT_IMAGE_DOWNLOAD_MODE_NORMAL: Normal operation.
  346. * @QMI_DMS_BOOT_IMAGE_DOWNLOAD_MODE_BOOT_AND_RECOVERY: Boot and recovery image download mode.
  347. *
  348. * Specifies the mode for the next boot.
  349. *
  350. * Since: 1.18
  351. */
  352. typedef enum { /*< since=1.18 >*/
  353. QMI_DMS_BOOT_IMAGE_DOWNLOAD_MODE_NORMAL = 0,
  354. QMI_DMS_BOOT_IMAGE_DOWNLOAD_MODE_BOOT_AND_RECOVERY = 1,
  355. } QmiDmsBootImageDownloadMode;
  356. /*****************************************************************************/
  357. /* Helper enums for the 'QMI DMS Get MAC Address' message */
  358. /**
  359. * QmiDmsMacType:
  360. * @QMI_DMS_MAC_TYPE_WLAN: WLAN MAC address.
  361. * @QMI_DMS_MAC_TYPE_BT: Bluetooth MAC address.
  362. *
  363. * Specifies the device from which the MAC address should be queried.
  364. *
  365. * Since: 1.26
  366. */
  367. typedef enum { /*< since=1.26 >*/
  368. QMI_DMS_MAC_TYPE_WLAN = 0,
  369. QMI_DMS_MAC_TYPE_BT = 1,
  370. } QmiDmsMacType;
  371. /*****************************************************************************/
  372. /* Helper enums for the 'QMI DMS HP Change Device Mode' message */
  373. /**
  374. * QmiDmsHpDeviceMode:
  375. * @QMI_DMS_HP_DEVICE_MODE_FASTBOOT: Fastboot download mode.
  376. *
  377. * HP specific device modes.
  378. *
  379. * Since: 1.18
  380. */
  381. typedef enum { /*< since=1.18 >*/
  382. QMI_DMS_HP_DEVICE_MODE_FASTBOOT = 5,
  383. } QmiDmsHpDeviceMode;
  384. /*****************************************************************************/
  385. /* Helper enums for the 'QMI DMS Swi Get USB Composition' message */
  386. /**
  387. * QmiDmsSwiUsbComposition:
  388. * @QMI_DMS_SWI_USB_COMPOSITION_UNKNOWN: Unknown.
  389. * @QMI_DMS_SWI_USB_COMPOSITION_0: HIP, DM, NMEA, AT, MDM1, MDM2, MDM3, MS.
  390. * @QMI_DMS_SWI_USB_COMPOSITION_1: HIP, DM, NMEA, AT, MDM1, MS.
  391. * @QMI_DMS_SWI_USB_COMPOSITION_2: HIP, DM, NMEA, AT, NIC1, MS.
  392. * @QMI_DMS_SWI_USB_COMPOSITION_3: HIP, DM, NMEA, AT, MDM1, NIC1, MS.
  393. * @QMI_DMS_SWI_USB_COMPOSITION_4: HIP, DM, NMEA, AT, NIC1, NIC2, NIC3, MS.
  394. * @QMI_DMS_SWI_USB_COMPOSITION_5: HIP, DM, NMEA, AT, ECM1, MS.
  395. * @QMI_DMS_SWI_USB_COMPOSITION_6: DM, NMEA, AT, QMI.
  396. * @QMI_DMS_SWI_USB_COMPOSITION_7: DM, NMEA, AT, RMNET1, RMNET2, RMNET3.
  397. * @QMI_DMS_SWI_USB_COMPOSITION_8: DM, NMEA, AT, MBIM.
  398. * @QMI_DMS_SWI_USB_COMPOSITION_9: MBIM.
  399. * @QMI_DMS_SWI_USB_COMPOSITION_10: NMEA, MBIM.
  400. * @QMI_DMS_SWI_USB_COMPOSITION_11: DM, MBIM.
  401. * @QMI_DMS_SWI_USB_COMPOSITION_12: DM, NMEA, MBIM.
  402. * @QMI_DMS_SWI_USB_COMPOSITION_13: Dual configuration: USB composition 6 and USB composition 8.
  403. * @QMI_DMS_SWI_USB_COMPOSITION_14: Dual configuration: USB composition 6 and USB composition 9.
  404. * @QMI_DMS_SWI_USB_COMPOSITION_15: Dual configuration: USB composition 6 and USB composition 10.
  405. * @QMI_DMS_SWI_USB_COMPOSITION_16: Dual configuration: USB composition 6 and USB composition 11.
  406. * @QMI_DMS_SWI_USB_COMPOSITION_17: Dual configuration: USB composition 6 and USB composition 12.
  407. * @QMI_DMS_SWI_USB_COMPOSITION_18: Dual configuration: USB composition 7 and USB composition 8.
  408. * @QMI_DMS_SWI_USB_COMPOSITION_19: Dual configuration: USB composition 7 and USB composition 9.
  409. * @QMI_DMS_SWI_USB_COMPOSITION_20: Dual configuration: USB composition 7 and USB composition 10.
  410. * @QMI_DMS_SWI_USB_COMPOSITION_21: Dual configuration: USB composition 7 and USB composition 11.
  411. * @QMI_DMS_SWI_USB_COMPOSITION_22: Dual configuration: USB composition 7 and USB composition 12.
  412. *
  413. * Sierra Wireless USB composition modes.
  414. *
  415. * Since: 1.20
  416. */
  417. typedef enum { /*< since=1.20 >*/
  418. QMI_DMS_SWI_USB_COMPOSITION_UNKNOWN = -1,
  419. QMI_DMS_SWI_USB_COMPOSITION_0 = 0,
  420. QMI_DMS_SWI_USB_COMPOSITION_1 = 1,
  421. QMI_DMS_SWI_USB_COMPOSITION_2 = 2,
  422. QMI_DMS_SWI_USB_COMPOSITION_3 = 3,
  423. QMI_DMS_SWI_USB_COMPOSITION_4 = 4,
  424. QMI_DMS_SWI_USB_COMPOSITION_5 = 5,
  425. QMI_DMS_SWI_USB_COMPOSITION_6 = 6,
  426. QMI_DMS_SWI_USB_COMPOSITION_7 = 7,
  427. QMI_DMS_SWI_USB_COMPOSITION_8 = 8,
  428. QMI_DMS_SWI_USB_COMPOSITION_9 = 9,
  429. QMI_DMS_SWI_USB_COMPOSITION_10 = 10,
  430. QMI_DMS_SWI_USB_COMPOSITION_11 = 11,
  431. QMI_DMS_SWI_USB_COMPOSITION_12 = 12,
  432. QMI_DMS_SWI_USB_COMPOSITION_13 = 13,
  433. QMI_DMS_SWI_USB_COMPOSITION_14 = 14,
  434. QMI_DMS_SWI_USB_COMPOSITION_15 = 15,
  435. QMI_DMS_SWI_USB_COMPOSITION_16 = 16,
  436. QMI_DMS_SWI_USB_COMPOSITION_17 = 17,
  437. QMI_DMS_SWI_USB_COMPOSITION_18 = 18,
  438. QMI_DMS_SWI_USB_COMPOSITION_19 = 19,
  439. QMI_DMS_SWI_USB_COMPOSITION_20 = 20,
  440. QMI_DMS_SWI_USB_COMPOSITION_21 = 21,
  441. QMI_DMS_SWI_USB_COMPOSITION_22 = 22,
  442. } QmiDmsSwiUsbComposition;
  443. /**
  444. * qmi_dms_swi_usb_composition_get_description:
  445. * @value: a #QmiDmsSwiUsbComposition.
  446. *
  447. * Gets a text description of the Sierra Wireless USB composition.
  448. *
  449. * Since: 1.20
  450. * Returns: a string.
  451. */
  452. const char *qmi_dms_swi_usb_composition_get_description (QmiDmsSwiUsbComposition value);
  453. /*****************************************************************************/
  454. /* Helper enums for the 'QMI DMS Foxconn Change Device Mode' message */
  455. /**
  456. * QmiDmsFoxconnDeviceMode:
  457. * @QMI_DMS_FOXCONN_DEVICE_MODE_UNKNOWN: Unknown mode.
  458. * @QMI_DMS_FOXCONN_DEVICE_MODE_FASTBOOT_ONLINE: Fastboot download mode for full partition files.
  459. * @QMI_DMS_FOXCONN_DEVICE_MODE_FASTBOOT_OTA: Fastboot download mode for OTA files.
  460. *
  461. * Foxconn specific device modes.
  462. *
  463. * Since: 1.26
  464. */
  465. typedef enum { /*< since=1.26 >*/
  466. QMI_DMS_FOXCONN_DEVICE_MODE_UNKNOWN = 0,
  467. QMI_DMS_FOXCONN_DEVICE_MODE_FASTBOOT_ONLINE = 0x05,
  468. QMI_DMS_FOXCONN_DEVICE_MODE_FASTBOOT_OTA = 0x0A,
  469. } QmiDmsFoxconnDeviceMode;
  470. /*****************************************************************************/
  471. /* Helper enums for the 'QMI DMS Foxconn Get Firmware Version' message */
  472. /**
  473. * QmiDmsFoxconnFirmwareVersionType:
  474. * @QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG: E.g. T77W968.F0.0.0.2.3.GC.004.
  475. * @QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG_APPS: E.g. T77W968.F0.0.0.2.3.GC.004.011.
  476. * @QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_APPS: E.g. 011.
  477. *
  478. * Foxconn specific firmware version types.
  479. *
  480. * Since: 1.26
  481. */
  482. typedef enum { /*< since=1.26 >*/
  483. QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG = 0x00,
  484. QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG_APPS = 0x01,
  485. QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_APPS = 0x02,
  486. } QmiDmsFoxconnFirmwareVersionType;
  487. #endif /* _LIBQMI_GLIB_QMI_ENUMS_DMS_H_ */