dbus: Add method to disable channel switching with a TDLS peer
This patch adds "TDLSCancelChannelSwitch" dbus method on "fi.w1.wpa_supplicant1.Interface" interface to disable channel switching with a TDLS peer. Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
This commit is contained in:
parent
2a57b4b821
commit
9f49474669
4 changed files with 50 additions and 0 deletions
|
@ -464,6 +464,15 @@ fi.w1.wpa_supplicant1.CreateInterface.
|
|||
<dd>A dictionary with arguments identifying the peer and channel switching behavior.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<h3>TDLSCancelChannelSwitch ( s : peer_address ) --> nothing</h3>
|
||||
<p>Disable channel switching for a TDLS session with a peer.</p>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>s : peer_address</dt>
|
||||
<dd>MAC address for the peer.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<h3>VendorElemAdd ( i: frame_id, ay: ielems ) --> nothing</h3>
|
||||
<p>Add Vendor Elements to corresponding frame ID.</p>
|
||||
|
|
|
@ -3093,6 +3093,13 @@ static const struct wpa_dbus_method_desc wpas_dbus_interface_methods[] = {
|
|||
END_ARGS
|
||||
}
|
||||
},
|
||||
{ "TDLSCancelChannelSwitch", WPAS_DBUS_NEW_IFACE_INTERFACE,
|
||||
(WPADBusMethodHandler) wpas_dbus_handler_tdls_cancel_channel_switch,
|
||||
{
|
||||
{ "peer_address", "s", ARG_IN },
|
||||
END_ARGS
|
||||
}
|
||||
},
|
||||
#endif /* CONFIG_TDLS */
|
||||
{ "VendorElemAdd", WPAS_DBUS_NEW_IFACE_INTERFACE,
|
||||
(WPADBusMethodHandler) wpas_dbus_handler_vendor_elem_add,
|
||||
|
|
|
@ -2432,6 +2432,37 @@ wpas_dbus_handler_tdls_channel_switch(DBusMessage *message,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* wpas_dbus_handler_tdls_cancel_channel_switch - Disable channel switching with TDLS peer
|
||||
* @message: Pointer to incoming dbus message
|
||||
* @wpa_s: wpa_supplicant structure for a network interface
|
||||
* Returns: NULL indicating success or DBus error message on failure
|
||||
*
|
||||
* Handler function for "TDLSCancelChannelSwitch" method call of network
|
||||
* interface.
|
||||
*/
|
||||
DBusMessage *
|
||||
wpas_dbus_handler_tdls_cancel_channel_switch(DBusMessage *message,
|
||||
struct wpa_supplicant *wpa_s)
|
||||
{
|
||||
u8 peer[ETH_ALEN];
|
||||
DBusMessage *error_reply;
|
||||
int ret;
|
||||
|
||||
if (get_peer_hwaddr_helper(message, __func__, peer, &error_reply) < 0)
|
||||
return error_reply;
|
||||
|
||||
wpa_printf(MSG_DEBUG, "dbus: TDLS_CANCEL_CHAN_SWITCH " MACSTR,
|
||||
MAC2STR(peer));
|
||||
|
||||
ret = wpa_tdls_disable_chan_switch(wpa_s->wpa, peer);
|
||||
if (ret)
|
||||
return wpas_dbus_error_unknown_error(
|
||||
message, "error canceling TDLS channel switch");
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_TDLS */
|
||||
|
||||
|
||||
|
|
|
@ -219,6 +219,9 @@ DBusMessage * wpas_dbus_handler_tdls_teardown(DBusMessage *message,
|
|||
DBusMessage *
|
||||
wpas_dbus_handler_tdls_channel_switch(DBusMessage *message,
|
||||
struct wpa_supplicant *wpa_s);
|
||||
DBusMessage *
|
||||
wpas_dbus_handler_tdls_cancel_channel_switch(DBusMessage *message,
|
||||
struct wpa_supplicant *wpa_s);
|
||||
|
||||
DBusMessage * wpas_dbus_handler_vendor_elem_add(DBusMessage *message,
|
||||
struct wpa_supplicant *wpa_s);
|
||||
|
|
Loading…
Reference in a new issue