add initial prototype with a few commands
[project/uqmi.git] / qmi-enums-wms.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_WMS_H_
24 #define _LIBQMI_GLIB_QMI_ENUMS_WMS_H_
25
26 /**
27  * SECTION: qmi-enums-wms
28  * @title: WMS enumerations and flags
29  *
30  * This section defines enumerations and flags used in the WMS service
31  * interface.
32  */
33
34 /*****************************************************************************/
35 /* Helper enums for the 'QMI WMS Event Report' indication */
36
37 /**
38  * QmiWmsStorageType:
39  * @QMI_WMS_STORAGE_TYPE_UIM: Message stored in UIM.
40  * @QMI_WMS_STORAGE_TYPE_NV: Message stored in non-volatile memory.
41  * @QMI_WMS_STORAGE_TYPE_NONE: None.
42  *
43  * Type of messaging storage
44  */
45 typedef enum {
46     QMI_WMS_STORAGE_TYPE_UIM  = 0x00,
47     QMI_WMS_STORAGE_TYPE_NV   = 0x01,
48     QMI_WMS_STORAGE_TYPE_NONE = 0xFF
49 } QmiWmsStorageType;
50
51 /**
52  * QmiWmsAckIndicator:
53  * @QMI_WMS_ACK_INDICATOR_SEND: ACK needs to be sent.
54  * @QMI_WMS_ACK_INDICATOR_DO_NOT_SEND: ACK doesn't need to be sent.
55  *
56  * Indication of whether ACK needs to be sent or not.
57  */
58 typedef enum {
59     QMI_WMS_ACK_INDICATOR_SEND        = 0x00,
60     QMI_WMS_ACK_INDICATOR_DO_NOT_SEND = 0x01
61 } QmiWmsAckIndicator;
62
63 /**
64  * QmiWmsMessageFormat:
65  * @QMI_WMS_MESSAGE_FORMAT_CDMA: CDMA message.
66  * @QMI_WMS_MESSAGE_FORMAT_GSM_WCDMA_POINT_TO_POINT: Point-to-point 3GPP message.
67  * @QMI_WMS_MESSAGE_FORMAT_GSM_WCDMA_BROADCAST: Broadcast 3GPP message.
68  * @QMI_WMS_MESSAGE_FORMAT_MWI: Message Waiting Indicator.
69  *
70  * Type of message.
71  */
72 typedef enum {
73     QMI_WMS_MESSAGE_FORMAT_CDMA                     = 0x00,
74     QMI_WMS_MESSAGE_FORMAT_GSM_WCDMA_POINT_TO_POINT = 0x06,
75     QMI_WMS_MESSAGE_FORMAT_GSM_WCDMA_BROADCAST      = 0x07,
76     QMI_WMS_MESSAGE_FORMAT_MWI                      = 0x08
77 } QmiWmsMessageFormat;
78
79 /**
80  * QmiWmsMessageMode:
81  * @QMI_WMS_MESSAGE_MODE_CDMA: Message sent using 3GPP2 technologies.
82  * @QMI_WMS_MESSAGE_MODE_GSM_WCDMA: Message sent using 3GPP technologies.
83  *
84  * Message mode.
85  */
86 typedef enum {
87     QMI_WMS_MESSAGE_MODE_CDMA      = 0x00,
88     QMI_WMS_MESSAGE_MODE_GSM_WCDMA = 0x01
89 } QmiWmsMessageMode;
90
91 /**
92  * QmiWmsNotificationType:
93  * @QMI_WMS_NOTIFICATION_TYPE_PRIMARY: Primary.
94  * @QMI_WMS_NOTIFICATION_TYPE_SECONDARY_GSM: Secondary GSM.
95  * @QMI_WMS_NOTIFICATION_TYPE_SECONDARY_UMTS: Secondary UMTS.
96  *
97  * Type of notification.
98  */
99 typedef enum {
100     QMI_WMS_NOTIFICATION_TYPE_PRIMARY        = 0x00,
101     QMI_WMS_NOTIFICATION_TYPE_SECONDARY_GSM  = 0x01,
102     QMI_WMS_NOTIFICATION_TYPE_SECONDARY_UMTS = 0x02
103 } QmiWmsNotificationType;
104
105 /*****************************************************************************/
106 /* Helper enums for the 'QMI WMS Raw Send' request/response */
107
108 /**
109  * QmiWmsCdmaServiceOption:
110  * @QMI_WMS_CDMA_SERVICE_OPTION_AUTO: Automatic selection of service option.
111  * @QMI_WMS_CDMA_SERVICE_OPTION_6: Use service option 6.
112  * @QMI_WMS_CDMA_SERVICE_OPTION_14: Use service option 14.
113  *
114  * CDMA service option selection.
115  */
116 typedef enum {
117     QMI_WMS_CDMA_SERVICE_OPTION_AUTO = 0x00,
118     QMI_WMS_CDMA_SERVICE_OPTION_6    = 0x06,
119     QMI_WMS_CDMA_SERVICE_OPTION_14   = 0x0E
120 } QmiWmsCdmaServiceOption;
121
122 /**
123  * QmiWmsCdmaCauseCode:
124  * @QMI_WDS_CDMA_CAUSE_CODE_NETWORK_ADDRESS_VACANT: Address is valid but not yet allocated.
125  * @QMI_WDS_CDMA_CAUSE_CODE_NETWORK_ADDRESS_TRANSLATION_FAILURE: Address is invalid.
126  * @QMI_WDS_CDMA_CAUSE_CODE_NETWORK_RESOURCE_SHORTAGE: Network resource shortage.
127  * @QMI_WDS_CDMA_CAUSE_CODE_NETWORK_FAILURE: Network failed.
128  * @QMI_WDS_CDMA_CAUSE_CODE_NETWORK_INVALID_TELESERVICE_ID: SMS teleservice ID is invalid.
129  * @QMI_WDS_CDMA_CAUSE_CODE_NETWORK_OTHER: Other network error.
130  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_NO_PAGE_RESPONSE: No page response from destination.
131  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_BUSY: Destination is busy.
132  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_NO_ACK: No acknowledge from destination.
133  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_RESOURCE_SHORTAGE: Destination resource shortage.
134  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_SMS_DELIVERY_POSTPONED: SMS deliver postponed.
135  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_OUT_OF_SERVICE: Destination out of service.
136  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_NOT_AT_ADDRESS: Destination not at address.
137  * @QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_OTHER: Other destination error.
138  * @QMI_WDS_CDMA_CAUSE_CODE_RADIO_INTERFACE_RESOURCE_SHORTAGE: Radio interface resource shortage.
139  * @QMI_WDS_CDMA_CAUSE_CODE_RADIO_INTERFACE_INCOMPATIBILITY: Radio interface incompatibility.
140  * @QMI_WDS_CDMA_CAUSE_CODE_RADIO_INTERFACE_OTHER: Other radio interface error.
141  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_ENCODING: Encoding error.
142  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SMS_ORIGIN_DENIED: SMS origin denied.
143  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SMS_DESTINATION_DENIED: SMS destination denied.
144  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SUPPLEMENTARY_SERVICE_NOT_SUPPORTED: Supplementary service not supported.
145  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SMS_NOT_SUPPORTED: SMS not supported.
146  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_MISSING_EXPECTED_PARAMETER: Missing optional expected parameter.
147  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_MISSING_MANDATORY_PARAMETER: Missing mandatory parameter.
148  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_UNRECOGNIZED_PARAMETER_VALUE: Unrecognized parameter value.
149  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_UNEXPECTED_PARAMETER_VALUE: Unexpected parameter value.
150  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_USER_DATA_SIZE_ERROR: user data size error.
151  * @QMI_WDS_CDMA_CAUSE_CODE_GENERAL_OTHER: Other general error.
152  *
153  * Cause codes when failed to send an SMS in CDMA.
154  */
155 typedef enum {
156     /* Network errors */
157     QMI_WDS_CDMA_CAUSE_CODE_NETWORK_ADDRESS_VACANT              = 0x00,
158     QMI_WDS_CDMA_CAUSE_CODE_NETWORK_ADDRESS_TRANSLATION_FAILURE = 0x01,
159     QMI_WDS_CDMA_CAUSE_CODE_NETWORK_RESOURCE_SHORTAGE           = 0x02,
160     QMI_WDS_CDMA_CAUSE_CODE_NETWORK_FAILURE                     = 0x03,
161     QMI_WDS_CDMA_CAUSE_CODE_NETWORK_INVALID_TELESERVICE_ID      = 0x04,
162     QMI_WDS_CDMA_CAUSE_CODE_NETWORK_OTHER                       = 0x05,
163
164     /* Destination errors */
165     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_NO_PAGE_RESPONSE       = 0x20,
166     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_BUSY                   = 0x21,
167     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_NO_ACK                 = 0x22,
168     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_RESOURCE_SHORTAGE      = 0x23,
169     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_SMS_DELIVERY_POSTPONED = 0x24,
170     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_OUT_OF_SERVICE         = 0x25,
171     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_NOT_AT_ADDRESS         = 0x26,
172     QMI_WDS_CDMA_CAUSE_CODE_DESTINATION_OTHER                  = 0x27,
173
174     /* Radio Interface errors */
175     QMI_WDS_CDMA_CAUSE_CODE_RADIO_INTERFACE_RESOURCE_SHORTAGE = 0x40,
176     QMI_WDS_CDMA_CAUSE_CODE_RADIO_INTERFACE_INCOMPATIBILITY   = 0x41,
177     QMI_WDS_CDMA_CAUSE_CODE_RADIO_INTERFACE_OTHER             = 0x42,
178
179     /* General errors */
180     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_ENCODING                            = 0x60,
181     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SMS_ORIGIN_DENIED                   = 0x61,
182     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SMS_DESTINATION_DENIED              = 0x62,
183     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SUPPLEMENTARY_SERVICE_NOT_SUPPORTED = 0x63,
184     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_SMS_NOT_SUPPORTED                   = 0x64,
185     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_MISSING_EXPECTED_PARAMETER          = 0x65,
186     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_MISSING_MANDATORY_PARAMETER         = 0x66,
187     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_UNRECOGNIZED_PARAMETER_VALUE        = 0x67,
188     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_UNEXPECTED_PARAMETER_VALUE          = 0x68,
189     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_USER_DATA_SIZE_ERROR                = 0x69,
190     QMI_WDS_CDMA_CAUSE_CODE_GENERAL_OTHER                               = 0x6A
191 } QmiWmsCdmaCauseCode;
192
193 /**
194  * QmiWmsCdmaErrorClass:
195  * @QMI_WMS_CDMA_ERROR_CLASS_TEMPORARY: Temporary error.
196  * @QMI_WMS_CDMA_ERROR_CLASS_PERMANENT: Permanent error.
197  *
198  * Error class when failed to send an SMS in CDMA.
199  */
200 typedef enum {
201     QMI_WMS_CDMA_ERROR_CLASS_TEMPORARY = 0x00,
202     QMI_WMS_CDMA_ERROR_CLASS_PERMANENT = 0x01
203 } QmiWmsCdmaErrorClass;
204
205 /**
206  * QmiWmsGsmUmtsRpCause:
207  * @QMI_WMS_GSM_UMTS_RP_CAUSE_UNASSIGNED_NUMBER: Unassigned number.
208  * @QMI_WMS_GSM_UMTS_RP_CAUSE_OPERATOR_DETERMINED_BARRING: Operator determined barring.
209  * @QMI_WMS_GSM_UMTS_RP_CAUSE_CALL_BARRED: Call barred.
210  * @QMI_WMS_GSM_UMTS_RP_CAUSE_RESERVED: Reserved.
211  * @QMI_WMS_GSM_UMTS_RP_CAUSE_SMS_TRANSFER_REJECTED: SMS transfer rejected.
212  * @QMI_WMS_GSM_UMTS_RP_CAUSE_MEMORY_CAPACITY_EXCEEDED: Memory capacity exceeded.
213  * @QMI_WMS_GSM_UMTS_RP_CAUSE_DESTINATION_OUT_OF_ORDER: Destination out of order.
214  * @QMI_WMS_GSM_UMTS_RP_CAUSE_UNIDENTIFIED_SUBSCRIBER: Unidentified subscriber.
215  * @QMI_WMS_GSM_UMTS_RP_CAUSE_FACILITY_REJECTED: Facility rejected.
216  * @QMI_WMS_GSM_UMTS_RP_CAUSE_UNKNOWN_SUBSCRIBER: Unknown subscriber.
217  * @QMI_WMS_GSM_UMTS_RP_CAUSE_NETWORK_OUF_OF_ORDER: Network out of order.
218  * @QMI_WMS_GSM_UMTS_RP_CAUSE_TEMPORARY_FAILURE: Temporary failure.
219  * @QMI_WMS_GSM_UMTS_RP_CAUSE_CONGESTION: Congestion.
220  * @QMI_WMS_GSM_UMTS_RP_CAUSE_RESOURCES_UNAVAILABLE: Resources unavailable.
221  * @QMI_WMS_GSM_UMTS_RP_CAUSE_FACILITY_NOT_SUBSCRIBED: Facility not subscribed.
222  * @QMI_WMS_GSM_UMTS_RP_CAUSE_FACILITY_NOT_IMPLEMENTED: Facility not implemented.
223  * @QMI_WMS_GSM_UMTS_RP_CAUSE_INVALID_SMS_TRANSFER_REFERENCE_VALUE: Invalid SMS transfer reference value.
224  * @QMI_WMS_GSM_UMTS_RP_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE: Semantically incorrect message.
225  * @QMI_WMS_GSM_UMTS_RP_CAUSE_INVALID_MANDATORY_INFO: Invalid mandatory info.
226  * @QMI_WMS_GSM_UMTS_RP_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED: Message type not implemented.
227  * @QMI_WMS_GSM_UMTS_RP_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_SMS: Message not compatible with SMS.
228  * @QMI_WMS_GSM_UMTS_RP_CAUSE_INFORMATION_ELEMENT_NOT_IMPLEMENTED: Information element not implemented.
229  * @QMI_WMS_GSM_UMTS_RP_CAUSE_PROTOCOL_ERROR: Protocol error.
230  * @QMI_WMS_GSM_UMTS_RP_CAUSE_INTERWORKING: Interworking error.
231  *
232  * RP cause codes when failed to send an SMS in GSM/WCDMA.
233  */
234 typedef enum {
235     QMI_WMS_GSM_UMTS_RP_CAUSE_UNASSIGNED_NUMBER                    = 0x01,
236     QMI_WMS_GSM_UMTS_RP_CAUSE_OPERATOR_DETERMINED_BARRING          = 0x08,
237     QMI_WMS_GSM_UMTS_RP_CAUSE_CALL_BARRED                          = 0x0A,
238     QMI_WMS_GSM_UMTS_RP_CAUSE_RESERVED                             = 0x0B,
239     QMI_WMS_GSM_UMTS_RP_CAUSE_SMS_TRANSFER_REJECTED                = 0x15,
240     QMI_WMS_GSM_UMTS_RP_CAUSE_MEMORY_CAPACITY_EXCEEDED             = 0x16,
241     QMI_WMS_GSM_UMTS_RP_CAUSE_DESTINATION_OUT_OF_ORDER             = 0x1B,
242     QMI_WMS_GSM_UMTS_RP_CAUSE_UNIDENTIFIED_SUBSCRIBER              = 0x1C,
243     QMI_WMS_GSM_UMTS_RP_CAUSE_FACILITY_REJECTED                    = 0x1D,
244     QMI_WMS_GSM_UMTS_RP_CAUSE_UNKNOWN_SUBSCRIBER                   = 0x1E,
245     QMI_WMS_GSM_UMTS_RP_CAUSE_NETWORK_OUF_OF_ORDER                 = 0x20,
246     QMI_WMS_GSM_UMTS_RP_CAUSE_TEMPORARY_FAILURE                    = 0x21,
247     QMI_WMS_GSM_UMTS_RP_CAUSE_CONGESTION                           = 0x2A,
248     QMI_WMS_GSM_UMTS_RP_CAUSE_RESOURCES_UNAVAILABLE                = 0x2F,
249     QMI_WMS_GSM_UMTS_RP_CAUSE_FACILITY_NOT_SUBSCRIBED              = 0x32,
250     QMI_WMS_GSM_UMTS_RP_CAUSE_FACILITY_NOT_IMPLEMENTED             = 0x45,
251     QMI_WMS_GSM_UMTS_RP_CAUSE_INVALID_SMS_TRANSFER_REFERENCE_VALUE = 0x51,
252     QMI_WMS_GSM_UMTS_RP_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE       = 0x5F,
253     QMI_WMS_GSM_UMTS_RP_CAUSE_INVALID_MANDATORY_INFO               = 0x60,
254     QMI_WMS_GSM_UMTS_RP_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED         = 0x61,
255     QMI_WMS_GSM_UMTS_RP_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_SMS      = 0x62,
256     QMI_WMS_GSM_UMTS_RP_CAUSE_INFORMATION_ELEMENT_NOT_IMPLEMENTED  = 0x63,
257     QMI_WMS_GSM_UMTS_RP_CAUSE_PROTOCOL_ERROR                       = 0x6F,
258     QMI_WMS_GSM_UMTS_RP_CAUSE_INTERWORKING                         = 0x7F
259 } QmiWmsGsmUmtsRpCause;
260
261 /**
262  * QmiWmsGsmUmtsTpCause:
263  * @QMI_WMS_GSM_UMTS_TP_CAUSE_TELE_INTERWORKING_NOT_SUPPORTED: Tele interworking not supported.
264  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SHORT_MESSAGE_TYPE_0_NOT_SUPPORTED: Short message type 0 not supported.
265  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SHORT_MESSAGE_CANNOT_BE_REPLACED: Short message cannot be replaced.
266  * @QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_PID_ERROR: Unspecified TP-PID error.
267  * @QMI_WMS_GSM_UMTS_TP_CAUSE_DCS_NOT_SUPPORTED: Data coding scheme not supported.
268  * @QMI_WMS_GSM_UMTS_TP_CAUSE_MESSAGE_CLASS_NOT_SUPPORTED: Message class not supported.
269  * @QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_DCS_ERROR: Unspecified data coding scheme error.
270  * @QMI_WMS_GSM_UMTS_TP_CAUSE_COMMAND_CANNOT_BE_ACTIONED: Command cannot be actioned.
271  * @QMI_WMS_GSM_UMTS_TP_CAUSE_COMMAND_UNSUPPORTED: Command unsupported.
272  * @QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_COMMAND_ERROR: Unspecified command error.
273  * @QMI_WMS_GSM_UMTS_TP_CAUSE_TPDU_NOT_SUPPORTED: TPDU not supported.
274  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SC_BUSY: SC busy.
275  * @QMI_WMS_GSM_UMTS_TP_CAUSE_NO_SC_SUBSCRIPTION: No SC subscription.
276  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SC_SYSTEM_FAILURE: SC system failure.
277  * @QMI_WMS_GSM_UMTS_TP_CAUSE_INVALID_SME_ADDRESS: Invalid SME address.
278  * @QMI_WMS_GSM_UMTS_TP_CAUSE_DESTINATION_SME_BARRED: Destination SME barred.
279  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SM_REJECTED_OR_DUPLICATE: SM rejected or duplicate.
280  * @QMI_WMS_GSM_UMTS_TP_CAUSE_VPF_NOT_SUPPORTED: TP-VPF not supported.
281  * @QMI_WMS_GSM_UMTS_TP_CAUSE_VP_NOT_SUPPORTED: TP-VP not supported.
282  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SIM_SMS_STORAGE_FULL: SIM SMS storage full.
283  * @QMI_WMS_GSM_UMTS_TP_CAUSE_NO_SMS_STORAGE_CAPABILITY_IN_SIM: No SMS storage capability in SIM.
284  * @QMI_WMS_GSM_UMTS_TP_CAUSE_MS_ERROR: MS error.
285  * @QMI_WMS_GSM_UMTS_TP_CAUSE_MEMORY_CAPACITY_EXCEEDED: Memory capacity exceeded.
286  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SIM_APPLICATION_TOOLKIT_BUSY: SIM application toolkit busy.
287  * @QMI_WMS_GSM_UMTS_TP_CAUSE_SIM_DATA_DOWNLOAD_ERROR: SIM data download error.
288  * @QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_ERROR: Unspecified error.
289  *
290  * RT cause codes when failed to send an SMS in GSM/WCDMA.
291  */
292 typedef enum {
293     QMI_WMS_GSM_UMTS_TP_CAUSE_TELE_INTERWORKING_NOT_SUPPORTED    = 0x80,
294     QMI_WMS_GSM_UMTS_TP_CAUSE_SHORT_MESSAGE_TYPE_0_NOT_SUPPORTED = 0x81,
295     QMI_WMS_GSM_UMTS_TP_CAUSE_SHORT_MESSAGE_CANNOT_BE_REPLACED   = 0x82,
296     QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_PID_ERROR              = 0x8F,
297     QMI_WMS_GSM_UMTS_TP_CAUSE_DCS_NOT_SUPPORTED                  = 0x90,
298     QMI_WMS_GSM_UMTS_TP_CAUSE_MESSAGE_CLASS_NOT_SUPPORTED        = 0x91,
299     QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_DCS_ERROR              = 0x9F,
300     QMI_WMS_GSM_UMTS_TP_CAUSE_COMMAND_CANNOT_BE_ACTIONED         = 0xA0,
301     QMI_WMS_GSM_UMTS_TP_CAUSE_COMMAND_UNSUPPORTED                = 0xA1,
302     QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_COMMAND_ERROR          = 0xAF,
303     QMI_WMS_GSM_UMTS_TP_CAUSE_TPDU_NOT_SUPPORTED                 = 0xB0,
304     QMI_WMS_GSM_UMTS_TP_CAUSE_SC_BUSY                            = 0xC0,
305     QMI_WMS_GSM_UMTS_TP_CAUSE_NO_SC_SUBSCRIPTION                 = 0xC1,
306     QMI_WMS_GSM_UMTS_TP_CAUSE_SC_SYSTEM_FAILURE                  = 0xC2,
307     QMI_WMS_GSM_UMTS_TP_CAUSE_INVALID_SME_ADDRESS                = 0xC3,
308     QMI_WMS_GSM_UMTS_TP_CAUSE_DESTINATION_SME_BARRED             = 0xC4,
309     QMI_WMS_GSM_UMTS_TP_CAUSE_SM_REJECTED_OR_DUPLICATE           = 0xC5,
310     QMI_WMS_GSM_UMTS_TP_CAUSE_VPF_NOT_SUPPORTED                  = 0xC6,
311     QMI_WMS_GSM_UMTS_TP_CAUSE_VP_NOT_SUPPORTED                   = 0xC7,
312     QMI_WMS_GSM_UMTS_TP_CAUSE_SIM_SMS_STORAGE_FULL               = 0xD0,
313     QMI_WMS_GSM_UMTS_TP_CAUSE_NO_SMS_STORAGE_CAPABILITY_IN_SIM   = 0xD1,
314     QMI_WMS_GSM_UMTS_TP_CAUSE_MS_ERROR                           = 0xD2,
315     QMI_WMS_GSM_UMTS_TP_CAUSE_MEMORY_CAPACITY_EXCEEDED           = 0xD3,
316     QMI_WMS_GSM_UMTS_TP_CAUSE_SIM_APPLICATION_TOOLKIT_BUSY       = 0xD4,
317     QMI_WMS_GSM_UMTS_TP_CAUSE_SIM_DATA_DOWNLOAD_ERROR            = 0xD5,
318     QMI_WMS_GSM_UMTS_TP_CAUSE_UNSPECIFIED_ERROR                  = 0xFF
319 } QmiWmsGsmUmtsTpCause;
320
321 /**
322  * QmiWmsMessageDeliveryFailureType:
323  * @QMI_WMS_MESSAGE_DELIVERY_FAILURE_TYPE_TEMPORARY: Temporary failure.
324  * @QMI_WMS_MESSAGE_DELIVERY_FAILURE_TYPE_PERMANENT: Permanent failure.
325  *
326  * Type of message delivery failure.
327  */
328 typedef enum {
329     QMI_WMS_MESSAGE_DELIVERY_FAILURE_TYPE_TEMPORARY = 0x00,
330     QMI_WMS_MESSAGE_DELIVERY_FAILURE_TYPE_PERMANENT = 0x01
331 } QmiWmsMessageDeliveryFailureType;
332
333 /*****************************************************************************/
334 /* Helper enums for the 'QMI WMS Read Raw' request/response */
335
336 /**
337  * QmiWmsMessageTagType:
338  * @QMI_WMS_MESSAGE_TAG_TYPE_MT_READ: Received SMS, already read.
339  * @QMI_WMS_MESSAGE_TAG_TYPE_MT_NOT_READ: Received SMS, not read.
340  * @QMI_WMS_MESSAGE_TAG_TYPE_MO_SENT: Sent SMS.
341  * @QMI_WMS_MESSAGE_TAG_TYPE_MO_NOT_SENT: Not yet sent SMS.
342  *
343  * Type of message tag.
344  */
345 typedef enum {
346     QMI_WMS_MESSAGE_TAG_TYPE_MT_READ     = 0x00,
347     QMI_WMS_MESSAGE_TAG_TYPE_MT_NOT_READ = 0x01,
348     QMI_WMS_MESSAGE_TAG_TYPE_MO_SENT     = 0x02,
349     QMI_WMS_MESSAGE_TAG_TYPE_MO_NOT_SENT = 0x03
350 } QmiWmsMessageTagType;
351
352 /**
353  * QmiWmsMessageProtocol:
354  * @QMI_WMS_MESSAGE_PROTOCOL_CDMA: CDMA.
355  * @QMI_WMS_MESSAGE_PROTOCOL_WCDMA: WCDMA.
356  *
357  * Type of message protocol.
358  */
359 typedef enum {
360     QMI_WMS_MESSAGE_PROTOCOL_CDMA  = 0x00,
361     QMI_WMS_MESSAGE_PROTOCOL_WCDMA = 0x01
362 } QmiWmsMessageProtocol;
363
364 /*****************************************************************************/
365 /* Helper enums for the 'QMI WMS Set Routes' request/response */
366
367 /**
368  * QmiWmsMessageType:
369  * @QMI_WMS_MESSAGE_TYPE_POINT_TO_POINT: Point to point message.
370  *
371  * Type of message.
372  */
373 typedef enum {
374     QMI_WMS_MESSAGE_TYPE_POINT_TO_POINT = 0x00
375 } QmiWmsMessageType;
376
377 /**
378  * QmiWmsMessageClass:
379  * @QMI_WMS_MESSAGE_CLASS_0: Class 0.
380  * @QMI_WMS_MESSAGE_CLASS_1: Class 1.
381  * @QMI_WMS_MESSAGE_CLASS_2: Class 2.
382  * @QMI_WMS_MESSAGE_CLASS_3: Class 3.
383  * @QMI_WMS_MESSAGE_CLASS_NONE: Class none.
384  * @QMI_WMS_MESSAGE_CLASS_CDMA: Class CDMA.
385  *
386  * Message class.
387  */
388 typedef enum {
389     QMI_WMS_MESSAGE_CLASS_0    = 0x00,
390     QMI_WMS_MESSAGE_CLASS_1    = 0x01,
391     QMI_WMS_MESSAGE_CLASS_2    = 0x02,
392     QMI_WMS_MESSAGE_CLASS_3    = 0x03,
393     QMI_WMS_MESSAGE_CLASS_NONE = 0x04,
394     QMI_WMS_MESSAGE_CLASS_CDMA = 0x05
395 } QmiWmsMessageClass;
396
397 /**
398  * QmiWmsReceiptAction:
399  * @QMI_WMS_RECEIPT_ACTION_DISCARD: Discard message.
400  * @QMI_WMS_RECEIPT_ACTION_STORE_AND_NOTIFY: Store and notify to client.
401  * @QMI_WMS_RECEIPT_ACTION_TRANSFER_ONLY: Notify to client, which should send back ACK.
402  * @QMI_WMS_RECEIPT_ACTION_TRANSFER_AND_ACK: Notify to client and send back ACK.
403  * @QMI_WMS_RECEIPT_ACTION_UNKNOWN: Unknown action.
404  *
405  * Action to perform when a message is received.
406  */
407 typedef enum {
408     QMI_WMS_RECEIPT_ACTION_DISCARD          = 0x00,
409     QMI_WMS_RECEIPT_ACTION_STORE_AND_NOTIFY = 0x01,
410     QMI_WMS_RECEIPT_ACTION_TRANSFER_ONLY    = 0x02,
411     QMI_WMS_RECEIPT_ACTION_TRANSFER_AND_ACK = 0x03,
412     QMI_WMS_RECEIPT_ACTION_UNKNOWN          = 0xFF
413 } QmiWmsReceiptAction;
414
415 /**
416  * QmiWmsTransferIndication:
417  * @QMI_WMS_TRANSFER_INDICATION_CLIENT: Status reports transferred to the client.
418  *
419  * Transfer indication actions.
420  */
421 typedef enum {
422     QMI_WMS_TRANSFER_INDICATION_CLIENT = 0x01
423 } QmiWmsTransferIndication;
424
425 #endif /* _LIBQMI_GLIB_QMI_ENUMS_WMS_H_ */