qmi_set_wds_start_network_request(msg, &wds_sn_req);
return QMI_CMD_REQUEST;
}
+
+static void
+cmd_wds_get_packet_service_status_cb(struct qmi_dev *qmi, struct qmi_request *req, struct qmi_msg *msg)
+{
+ struct qmi_wds_get_packet_service_status_response res;
+ const char *data_status[] = {
+ [QMI_WDS_CONNECTION_STATUS_UNKNOWN] = "unknown",
+ [QMI_WDS_CONNECTION_STATUS_DISCONNECTED] = "disconnected",
+ [QMI_WDS_CONNECTION_STATUS_CONNECTED] = "connected",
+ [QMI_WDS_CONNECTION_STATUS_SUSPENDED] = "suspended",
+ [QMI_WDS_CONNECTION_STATUS_AUTHENTICATING] = "authenticating",
+ };
+ int s = 0;
+
+ qmi_parse_wds_get_packet_service_status_response(msg, &res);
+ if (res.set.connection_status &&
+ res.data.connection_status >= 0 &&
+ res.data.connection_status < ARRAY_SIZE(data_status))
+ s = res.data.connection_status;
+
+ blobmsg_add_string(&status, NULL, data_status[s]);
+}
+
+static enum qmi_cmd_result
+cmd_wds_get_packet_service_status_prepare(struct qmi_dev *qmi, struct qmi_request *req, struct qmi_msg *msg, char *arg)
+{
+ qmi_set_wds_get_packet_service_status_request(msg);
+ return QMI_CMD_REQUEST;
+}
__uqmi_command(wds_start_network, start-network, required, QMI_SERVICE_WDS), \
__uqmi_command(wds_set_auth, auth-type, required, CMD_TYPE_OPTION), \
__uqmi_command(wds_set_username, username, required, CMD_TYPE_OPTION), \
- __uqmi_command(wds_set_password, password, required, CMD_TYPE_OPTION)
+ __uqmi_command(wds_set_password, password, required, CMD_TYPE_OPTION), \
+ __uqmi_command(wds_get_packet_service_status, get-data-status, no, CMD_TYPE_OPTION) \
+
#define wds_helptext \
" --start-network <apn>: Start network connection (use with options below)\n" \
" --auth-type pap|chap|both|none: Use network authentication type\n" \
" --username <name>: Use network username\n" \
" --password <password>: Use network password\n" \
+ " --get-data-status: Get current data access status\n" \