From c65767956358ae636cbaf42ac2b6b078317c94b3 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Tue, 1 Feb 2011 16:35:08 +0100 Subject: [PATCH] gsupplicant: Add interface bridge setting --- gsupplicant/gsupplicant.h | 1 + gsupplicant/supplicant.c | 7 +++++++ plugins/wifi.c | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index dca5c2b..6227ff5 100644 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -142,6 +142,7 @@ typedef void (*GSupplicantInterfaceCallback) (int result, void *user_data); int g_supplicant_interface_create(const char *ifname, const char *driver, + const char *bridge, GSupplicantInterfaceCallback callback, void *user_data); int g_supplicant_interface_remove(GSupplicantInterface *interface, diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 0bd58b9..55c842f 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -2057,6 +2057,7 @@ struct interface_data { struct interface_create_data { const char *ifname; const char *driver; + const char *bridge; GSupplicantInterface *interface; GSupplicantInterfaceCallback callback; void *user_data; @@ -2149,6 +2150,10 @@ static void interface_create_params(DBusMessageIter *iter, void *user_data) supplicant_dbus_dict_append_basic(&dict, "Driver", DBUS_TYPE_STRING, &data->driver); + if (data->bridge != NULL) + supplicant_dbus_dict_append_basic(&dict, "BridgeIfname", + DBUS_TYPE_STRING, &data->bridge); + supplicant_dbus_dict_close(iter, &dict); } @@ -2220,6 +2225,7 @@ static void interface_get_params(DBusMessageIter *iter, void *user_data) } int g_supplicant_interface_create(const char *ifname, const char *driver, + const char *bridge, GSupplicantInterfaceCallback callback, void *user_data) { @@ -2239,6 +2245,7 @@ int g_supplicant_interface_create(const char *ifname, const char *driver, data->ifname = ifname; data->driver = driver; + data->bridge = bridge; data->callback = callback; data->user_data = user_data; diff --git a/plugins/wifi.c b/plugins/wifi.c index 78f13fb..b7055c3 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -231,7 +231,7 @@ static int wifi_enable(struct connman_device *device) DBG("device %p %p", device, wifi); - return g_supplicant_interface_create(interface, driver, + return g_supplicant_interface_create(interface, driver, NULL, interface_create_callback, wifi); } -- 2.7.4