2012-06-22 20:20:11 +00:00
|
|
|
/*
|
|
|
|
*
|
|
|
|
* oFono - Open Source Telephony
|
|
|
|
*
|
|
|
|
* Copyright (C) 2011-2012 Intel Corporation. All rights reserved.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define QMI_WMS_RESET 0 /* Reset WMS service */
|
|
|
|
#define QMI_WMS_EVENT 1 /* New message indication */
|
|
|
|
#define QMI_WMS_SET_EVENT 1 /* Set new message conditions */
|
|
|
|
|
|
|
|
#define QMI_WMS_RAW_SEND 32 /* Send a raw message */
|
|
|
|
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
#define QMI_WMS_RAW_READ 34 /* Read raw message from storage */
|
|
|
|
#define QMI_WMS_DELETE 36 /* Delete message */
|
|
|
|
#define QMI_WMS_GET_MSG_PROTOCOL 48 /* Get message protocol */
|
2012-06-22 20:20:11 +00:00
|
|
|
#define QMI_WMS_GET_MSG_LIST 49 /* Get list of messages from the device */
|
|
|
|
#define QMI_WMS_SET_ROUTES 50 /* Set routes for message memory storage */
|
|
|
|
#define QMI_WMS_GET_ROUTES 51 /* Get routes for message memory storage */
|
|
|
|
#define QMI_WMS_GET_SMSC_ADDR 52 /* Get SMSC address */
|
|
|
|
#define QMI_WMS_SET_SMSC_ADDR 53 /* Set SMSC address */
|
|
|
|
#define QMI_WMS_GET_MSG_LIST_MAX 54 /* Get maximum size of SMS storage */
|
|
|
|
|
|
|
|
#define QMI_WMS_GET_DOMAIN_PREF 64 /* Get domain preference */
|
|
|
|
#define QMI_WMS_SET_DOMAIN_PREF 65 /* Set domain preference */
|
|
|
|
|
|
|
|
|
|
|
|
/* New message indication */
|
|
|
|
#define QMI_WMS_RESULT_NEW_MSG_NOTIFY 0x10
|
|
|
|
struct qmi_wms_result_new_msg_notify {
|
|
|
|
uint8_t storage_type;
|
|
|
|
uint32_t storage_index;
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
#define QMI_WMS_RESULT_MESSAGE 0x11
|
|
|
|
struct qmi_wms_result_message {
|
|
|
|
uint8_t ack_required; /* bool */
|
|
|
|
uint32_t transaction_id;
|
|
|
|
uint8_t msg_format;
|
|
|
|
uint16_t msg_length;
|
|
|
|
uint8_t msg_data[0];
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
|
|
|
#define QMI_WMS_RESULT_MSG_MODE 0x12
|
|
|
|
|
2012-06-22 20:20:11 +00:00
|
|
|
/* Set new message conditions */
|
|
|
|
#define QMI_WMS_PARAM_NEW_MSG_REPORT 0x10 /* bool */
|
|
|
|
|
|
|
|
/* Send a raw message */
|
|
|
|
#define QMI_WMS_PARAM_MESSAGE 0x01
|
|
|
|
struct qmi_wms_param_message {
|
|
|
|
uint8_t msg_format;
|
|
|
|
uint16_t msg_length;
|
|
|
|
uint8_t msg_data[0];
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
#define QMI_WMS_RESULT_MESSAGE_ID 0x01 /* uint16 */
|
|
|
|
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
/* Read a raw message */
|
|
|
|
#define QMI_WMS_PARAM_READ_MSG 0x01
|
|
|
|
struct qmi_wms_read_msg_id {
|
|
|
|
uint8_t type;
|
|
|
|
uint32_t ndx;
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
|
|
|
#define QMI_WMS_PARAM_READ_MODE 0x10
|
|
|
|
|
|
|
|
#define QMI_WMS_RESULT_READ_MSG 0x01
|
|
|
|
struct qmi_wms_raw_message {
|
|
|
|
uint8_t msg_tag;
|
|
|
|
uint8_t msg_format;
|
|
|
|
uint16_t msg_length;
|
|
|
|
uint8_t msg_data[0];
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
|
|
|
/* Delete messages */
|
|
|
|
#define QMI_WMS_PARAM_DEL_STORE 0x01
|
|
|
|
#define QMI_WMS_PARAM_DEL_NDX 0x10
|
|
|
|
#define QMI_WMS_PARAM_DEL_TYPE 0x11
|
|
|
|
#define QMI_WMS_PARAM_DEL_MODE 0x12
|
|
|
|
|
|
|
|
/* Get message protocol */
|
|
|
|
#define QMI_WMS_PARAM_PROTOCOL 0x01
|
|
|
|
|
2012-06-22 20:20:11 +00:00
|
|
|
/* Get list of messages from the device */
|
|
|
|
#define QMI_WMS_PARAM_STORAGE_TYPE 0x01 /* uint8 */
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
#define QMI_WMS_PARAM_TAG_TYPE 0x10
|
2012-06-22 20:20:11 +00:00
|
|
|
#define QMI_WMS_PARAM_MESSAGE_MODE 0x11 /* uint8 */
|
|
|
|
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
#define QMI_WMS_RESULT_MSG_LIST 0x01
|
|
|
|
struct qmi_wms_result_msg_list {
|
|
|
|
uint32_t cnt;
|
|
|
|
struct {
|
|
|
|
uint32_t ndx;
|
|
|
|
uint8_t type;
|
|
|
|
} __attribute__((__packed__)) msg[0];
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
2012-06-22 20:20:11 +00:00
|
|
|
#define QMI_WMS_STORAGE_TYPE_UIM 0
|
|
|
|
#define QMI_WMS_STORAGE_TYPE_NV 1
|
|
|
|
#define QMI_WMS_STORAGE_TYPE_UNKNOWN 2
|
2017-05-30 11:32:38 +00:00
|
|
|
#define QMI_WMS_STORAGE_TYPE_NONE 255
|
2012-06-22 20:20:11 +00:00
|
|
|
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
#define QMI_WMS_MT_READ 0x00
|
|
|
|
#define QMI_WMS_MT_NOT_READ 0x01
|
|
|
|
#define QMI_WMS_MO_SENT 0x02
|
|
|
|
#define QMI_WMS_MO_NOT_SENT 0x03
|
|
|
|
#define QMI_WMS_MT_UNDEFINE 0xff
|
2012-06-22 20:20:11 +00:00
|
|
|
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
#define QMI_WMS_MESSAGE_MODE_CDMA 0x00
|
|
|
|
#define QMI_WMS_MESSAGE_MODE_GSMWCDMA 0x01
|
2017-10-16 12:20:48 +00:00
|
|
|
|
2012-06-22 20:20:11 +00:00
|
|
|
/* Get routes for message memory storage */
|
|
|
|
#define QMI_WMS_RESULT_ROUTE_LIST 0x01
|
|
|
|
#define QMI_WMS_PARAM_ROUTE_LIST 0x01
|
|
|
|
struct qmi_wms_route_list {
|
|
|
|
uint16_t count;
|
|
|
|
struct {
|
|
|
|
uint8_t msg_type;
|
|
|
|
uint8_t msg_class;
|
|
|
|
uint8_t storage_type;
|
|
|
|
uint8_t action;
|
|
|
|
} __attribute__((__packed__)) route[0];
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
#define QMI_WMS_RESULT_STATUS_REPORT 0x10 /* bool */
|
|
|
|
#define QMI_WMS_PARAM_STATUS_REPORT 0x10 /* bool */
|
|
|
|
|
|
|
|
#define QMI_WMS_MSG_TYPE_P2P 0x00
|
|
|
|
#define QMI_WMS_MSG_TYPE_BROADCAST 0x01
|
|
|
|
|
|
|
|
#define QMI_WMS_MSG_CLASS_0 0x00
|
|
|
|
#define QMI_WMS_MSG_CLASS_1 0x01
|
|
|
|
#define QMI_WMS_MSG_CLASS_2 0x02
|
|
|
|
#define QMI_WMS_MSG_CLASS_3 0x03
|
|
|
|
#define QMI_WMS_MSG_CLASS_NONE 0x04
|
|
|
|
#define QMI_WMS_MSG_CLASS_CDMA 0x05
|
|
|
|
|
|
|
|
#define QMI_WMS_ACTION_DISCARD 0x00
|
|
|
|
#define QMI_WMS_ACTION_STORE_AND_NOTIFY 0x01
|
|
|
|
#define QMI_WMS_ACTION_TRANSFER_ONLY 0x02
|
|
|
|
#define QMI_WMS_ACTION_TRANSFER_AND_ACK 0x03
|
|
|
|
#define QMI_WMS_ACTION_UNKNOWN 0xff
|
|
|
|
|
|
|
|
/* Get SMSC address */
|
|
|
|
#define QMI_WMS_RESULT_SMSC_ADDR 0x01
|
|
|
|
struct qmi_wms_result_smsc_addr {
|
|
|
|
char type[3];
|
|
|
|
uint8_t addr_len;
|
|
|
|
char addr[0];
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
|
|
|
/* Set SMSC address */
|
|
|
|
#define QMI_WMS_PARAM_SMSC_ADDR 0x01 /* string */
|
|
|
|
#define QMI_WMS_PARAM_SMSC_ADDR_TYPE 0x10 /* string */
|
|
|
|
|
|
|
|
/* Get domain preference */
|
|
|
|
#define QMI_WMS_RESULT_DOMAIN 0x01 /* uint8 */
|
|
|
|
#define QMI_WMS_PARAM_DOMAIN 0x01 /* uint8 */
|
|
|
|
|
|
|
|
#define QMI_WMS_DOMAIN_CS_PREFERRED 0x00
|
|
|
|
#define QMI_WMS_DOMAIN_PS_PREFERRED 0x01
|
|
|
|
#define QMI_WMS_DOMAIN_CS_ONLY 0x02
|
|
|
|
#define QMI_WMS_DOMAIN_PS_ONLY 0x03
|
qmimodem: change msg class none to store/notify
Change message class none configuration from directly delivering a new
message in the event indication to storing it in the modem's NV then
sending an event indication identifying the new message. Also, add
checking for stored, unread messages at boot up.
This fixes a scenario where the modem powers on, automatically
connects to the network, receives a message, and sends an indication
before oFono has fully initialized. Now, the message is saved and
retrieved after initialization.
This also helps with suspend/resume on platforms where the modem,
supports waking the host CPU upon SMS reception. And, the platform
design limitation is that the modem's interfaces (eg, cdc-wdm, wwan,
etc) disconnect on suspend and reconnect on resume. This causes oFono
to re-initialize and miss the message indication because it was sent
before oFono is ready. Now, the wake up message is saved and retrieved
after initialization.
2019-06-05 16:26:23 +00:00
|
|
|
|
|
|
|
/* Error code */
|
|
|
|
#define QMI_ERR_OP_DEVICE_UNSUPPORTED 0x19
|