From a88c950e23edd63ba4b3e8db414633f2a9449de4 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 26 Feb 2008 08:39:36 +0100 Subject: [PATCH] Add supplicant disconnect function --- plugins/supplicant.c | 18 ++++++++++++++++++ plugins/supplicant.h | 1 + 2 files changed, 19 insertions(+) diff --git a/plugins/supplicant.c b/plugins/supplicant.c index 3c02abd..b30b16c 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -269,6 +269,9 @@ int __supplicant_connect(struct connman_iface *iface, exec_cmd(task, "DISABLE_NETWORK 0"); + if (network == NULL) + return 0; + sprintf(cmd, "SET_NETWORK 0 ssid \"%s\"", network); exec_cmd(task, cmd); @@ -287,3 +290,18 @@ int __supplicant_connect(struct connman_iface *iface, return 0; } + +int __supplicant_disconnect(struct connman_iface *iface) +{ + struct supplicant_task *task; + + task = find_task(iface->index); + if (task == NULL) + return -ENODEV; + + printf("[SUPPLICANT] disconnect %s\n", task->ifname); + + exec_cmd(task, "DISABLE_NETWORK 0"); + + return 0; +} diff --git a/plugins/supplicant.h b/plugins/supplicant.h index 9e5ebc6..dc015ed 100644 --- a/plugins/supplicant.h +++ b/plugins/supplicant.h @@ -26,3 +26,4 @@ int __supplicant_stop(struct connman_iface *iface); int __supplicant_connect(struct connman_iface *iface, const char *network, const char *passphrase); +int __supplicant_disconnect(struct connman_iface *iface); -- 2.7.4