1252190Srpaulo/*
2252190Srpaulo * wpa_supplicant - Off-channel Action frame TX/RX
3252190Srpaulo * Copyright (c) 2009-2010, Atheros Communications
4252190Srpaulo * Copyright (c) 2011, Qualcomm Atheros
5252190Srpaulo *
6252190Srpaulo * This software may be distributed under the terms of the BSD license.
7252190Srpaulo * See README for more details.
8252190Srpaulo */
9252190Srpaulo
10252190Srpaulo#ifndef OFFCHANNEL_H
11252190Srpaulo#define OFFCHANNEL_H
12252190Srpaulo
13252190Srpauloint offchannel_send_action(struct wpa_supplicant *wpa_s, unsigned int freq,
14252190Srpaulo			   const u8 *dst, const u8 *src, const u8 *bssid,
15252190Srpaulo			   const u8 *buf, size_t len, unsigned int wait_time,
16252190Srpaulo			   void (*tx_cb)(struct wpa_supplicant *wpa_s,
17252190Srpaulo					 unsigned int freq, const u8 *dst,
18252190Srpaulo					 const u8 *src, const u8 *bssid,
19252190Srpaulo					 const u8 *data, size_t data_len,
20252190Srpaulo					 enum offchannel_send_action_result
21252190Srpaulo					 result),
22252190Srpaulo			   int no_cck);
23252190Srpaulovoid offchannel_send_action_done(struct wpa_supplicant *wpa_s);
24252190Srpaulovoid offchannel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,
25252190Srpaulo				     unsigned int freq, unsigned int duration);
26252190Srpaulovoid offchannel_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,
27252190Srpaulo					    unsigned int freq);
28252190Srpaulovoid offchannel_deinit(struct wpa_supplicant *wpa_s);
29252190Srpaulovoid offchannel_send_action_tx_status(
30252190Srpaulo	struct wpa_supplicant *wpa_s, const u8 *dst, const u8 *data,
31252190Srpaulo	size_t data_len, enum offchannel_send_action_result result);
32252190Srpauloconst void * offchannel_pending_action_tx(struct wpa_supplicant *wpa_s);
33252190Srpaulovoid offchannel_clear_pending_action_tx(struct wpa_supplicant *wpa_s);
34252190Srpaulo
35252190Srpaulo#endif /* OFFCHANNEL_H */
36