From: Matti Laakso Date: Tue, 27 May 2014 19:12:13 +0000 (+0200) Subject: Add --stop-network X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuqmi.git;a=commitdiff_plain;h=ec21ac7168f0f404266e4498beddb962b21a6384 Add --stop-network Signed-off-by: Matti Laakso --- diff --git a/commands-wds.c b/commands-wds.c index 91cf15c..ce7d715 100644 --- a/commands-wds.c +++ b/commands-wds.c @@ -1,9 +1,12 @@ +#include + #include "qmi-message.h" static struct qmi_wds_start_network_request wds_sn_req = { QMI_INIT(authentication_preference, QMI_WDS_AUTHENTICATION_PAP | QMI_WDS_AUTHENTICATION_CHAP), }; +static struct qmi_wds_stop_network_request wds_stn_req; #define cmd_wds_set_auth_cb no_cb static enum qmi_cmd_result @@ -53,6 +56,7 @@ static enum qmi_cmd_result cmd_wds_set_autoconnect_prepare(struct qmi_dev *qmi, struct qmi_request *req, struct qmi_msg *msg, char *arg) { qmi_set(&wds_sn_req, enable_autoconnect, true); + qmi_set(&wds_stn_req, disable_autoconnect, true); return QMI_CMD_DONE; } @@ -74,6 +78,17 @@ cmd_wds_start_network_prepare(struct qmi_dev *qmi, struct qmi_request *req, stru return QMI_CMD_REQUEST; } +#define cmd_wds_stop_network_cb no_cb +static enum qmi_cmd_result +cmd_wds_stop_network_prepare(struct qmi_dev *qmi, struct qmi_request *req, struct qmi_msg *msg, char *arg) +{ + uint32_t pdh = strtoul(arg, NULL, 0); + + qmi_set(&wds_stn_req, packet_data_handle, pdh); + qmi_set_wds_stop_network_request(msg, &wds_stn_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) { diff --git a/commands-wds.h b/commands-wds.h index ea64e82..60e922d 100644 --- a/commands-wds.h +++ b/commands-wds.h @@ -4,6 +4,7 @@ __uqmi_command(wds_set_username, username, required, CMD_TYPE_OPTION), \ __uqmi_command(wds_set_password, password, required, CMD_TYPE_OPTION), \ __uqmi_command(wds_set_autoconnect, autoconnect, no, CMD_TYPE_OPTION), \ + __uqmi_command(wds_stop_network, stop-network, required, QMI_SERVICE_WDS), \ __uqmi_command(wds_get_packet_service_status, get-data-status, no, QMI_SERVICE_WDS), \ __uqmi_command(wds_reset, reset-wds, no, QMI_SERVICE_WDS) \ @@ -14,5 +15,7 @@ " --username : Use network username\n" \ " --password : Use network password\n" \ " --autoconnect: Enable automatic connect/reconnect\n" \ + " --stop-network : Stop network connection (use with option below)\n" \ + " --autoconnect: Disable automatic connect/reconnect\n" \ " --get-data-status: Get current data access status\n" \