diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2010-01-03 13:57:51 +0200 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2010-01-03 13:57:51 +0200 |
commit | 55777702cd7df7d459c89ceee8bfbb8a7f5bce0a (patch) | |
tree | 12771d02288ce3fbb0c596221db398a2c21b1d07 /wpa_supplicant/driver_i.h | |
parent | d7c53e432bee5085a8d654b71a6311919e06eedf (diff) | |
download | external_wpa_supplicant_8_ti-55777702cd7df7d459c89ceee8bfbb8a7f5bce0a.zip external_wpa_supplicant_8_ti-55777702cd7df7d459c89ceee8bfbb8a7f5bce0a.tar.gz external_wpa_supplicant_8_ti-55777702cd7df7d459c89ceee8bfbb8a7f5bce0a.tar.bz2 |
Add driver API functionality for off-channel Action frames
This adds new commands and events for allowing off-channel Action
frame exchanges to be requested. This functionality is not yet used
and is only fully supported by driver_test.c at this point.
driver_nl80211.c has support for the remain-on-channel commands, but
the Action frame TX/RX part is still pending review for the kernel
code and as such, is not yet included here.
Diffstat (limited to 'wpa_supplicant/driver_i.h')
-rw-r--r-- | wpa_supplicant/driver_i.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/wpa_supplicant/driver_i.h b/wpa_supplicant/driver_i.h index 4a701f1..2f5b134 100644 --- a/wpa_supplicant/driver_i.h +++ b/wpa_supplicant/driver_i.h @@ -383,6 +383,17 @@ static inline int wpa_drv_set_supp_port(struct wpa_supplicant *wpa_s, return 0; } +static inline int wpa_drv_send_action(struct wpa_supplicant *wpa_s, + unsigned int freq, + const u8 *dst, const u8 *src, + const u8 *data, size_t data_len) +{ + if (wpa_s->driver->send_action) + return wpa_s->driver->send_action(wpa_s->drv_priv, freq, + dst, src, data, data_len); + return -1; +} + static inline int wpa_drv_alloc_interface_addr(struct wpa_supplicant *wpa_s, u8 *addr) { @@ -399,6 +410,25 @@ static inline void wpa_drv_release_interface_addr(struct wpa_supplicant *wpa_s, wpa_s->driver->release_interface_addr(wpa_s->drv_priv, addr); } +static inline int wpa_drv_remain_on_channel(struct wpa_supplicant *wpa_s, + unsigned int freq, + unsigned int duration) +{ + if (wpa_s->driver->remain_on_channel) + return wpa_s->driver->remain_on_channel(wpa_s->drv_priv, freq, + duration); + return -1; +} + +static inline int wpa_drv_cancel_remain_on_channel( + struct wpa_supplicant *wpa_s) +{ + if (wpa_s->driver->cancel_remain_on_channel) + return wpa_s->driver->cancel_remain_on_channel( + wpa_s->drv_priv); + return -1; +} + static inline int wpa_drv_probe_req_report(struct wpa_supplicant *wpa_s, int report) { |