X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuqmi.git;a=blobdiff_plain;f=commands-wds.c;h=526c1ddc23887e8ef09df0bf9f5114395d81263e;hp=2128bbfb1f3295bee617e2bc86dce1820e673c9f;hb=517bdc9e99b8151785acfdb0ae8a0ef99e6fc0dd;hpb=873c7d071f1cc0fbb4c58649a55a4cf78bdd397e diff --git a/commands-wds.c b/commands-wds.c index 2128bbf..526c1dd 100644 --- a/commands-wds.c +++ b/commands-wds.c @@ -65,3 +65,32 @@ cmd_wds_start_network_prepare(struct qmi_dev *qmi, struct qmi_request *req, stru 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; +}