summaryrefslogtreecommitdiff
path: root/plugins/supplicant.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-02-26 08:39:36 +0100
committerMarcel Holtmann <marcel@holtmann.org>2008-02-26 08:39:36 +0100
commita88c950e23edd63ba4b3e8db414633f2a9449de4 (patch)
treed9417a73904aebaaa4a26e6dcf2faa51743c353e /plugins/supplicant.c
parent0b7a3348208dfc4981a48bc22bf783c5d55e5b96 (diff)
downloadconnman-a88c950e23edd63ba4b3e8db414633f2a9449de4.tar.gz
connman-a88c950e23edd63ba4b3e8db414633f2a9449de4.tar.bz2
connman-a88c950e23edd63ba4b3e8db414633f2a9449de4.zip
Add supplicant disconnect function
Diffstat (limited to 'plugins/supplicant.c')
-rw-r--r--plugins/supplicant.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
index 3c02abd8..b30b16cb 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;
+}