1*03f9172cSAndroid Build Coastguard Worker /* 2*03f9172cSAndroid Build Coastguard Worker * wpa_supplicant - Off-channel Action frame TX/RX 3*03f9172cSAndroid Build Coastguard Worker * Copyright (c) 2009-2010, Atheros Communications 4*03f9172cSAndroid Build Coastguard Worker * Copyright (c) 2011, Qualcomm Atheros 5*03f9172cSAndroid Build Coastguard Worker * 6*03f9172cSAndroid Build Coastguard Worker * This software may be distributed under the terms of the BSD license. 7*03f9172cSAndroid Build Coastguard Worker * See README for more details. 8*03f9172cSAndroid Build Coastguard Worker */ 9*03f9172cSAndroid Build Coastguard Worker 10*03f9172cSAndroid Build Coastguard Worker #ifndef OFFCHANNEL_H 11*03f9172cSAndroid Build Coastguard Worker #define OFFCHANNEL_H 12*03f9172cSAndroid Build Coastguard Worker 13*03f9172cSAndroid Build Coastguard Worker int offchannel_send_action(struct wpa_supplicant *wpa_s, unsigned int freq, 14*03f9172cSAndroid Build Coastguard Worker const u8 *dst, const u8 *src, const u8 *bssid, 15*03f9172cSAndroid Build Coastguard Worker const u8 *buf, size_t len, unsigned int wait_time, 16*03f9172cSAndroid Build Coastguard Worker void (*tx_cb)(struct wpa_supplicant *wpa_s, 17*03f9172cSAndroid Build Coastguard Worker unsigned int freq, const u8 *dst, 18*03f9172cSAndroid Build Coastguard Worker const u8 *src, const u8 *bssid, 19*03f9172cSAndroid Build Coastguard Worker const u8 *data, size_t data_len, 20*03f9172cSAndroid Build Coastguard Worker enum offchannel_send_action_result 21*03f9172cSAndroid Build Coastguard Worker result), 22*03f9172cSAndroid Build Coastguard Worker int no_cck); 23*03f9172cSAndroid Build Coastguard Worker void offchannel_send_action_done(struct wpa_supplicant *wpa_s); 24*03f9172cSAndroid Build Coastguard Worker void offchannel_remain_on_channel_cb(struct wpa_supplicant *wpa_s, 25*03f9172cSAndroid Build Coastguard Worker unsigned int freq, unsigned int duration); 26*03f9172cSAndroid Build Coastguard Worker void offchannel_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s, 27*03f9172cSAndroid Build Coastguard Worker unsigned int freq); 28*03f9172cSAndroid Build Coastguard Worker void offchannel_deinit(struct wpa_supplicant *wpa_s); 29*03f9172cSAndroid Build Coastguard Worker void offchannel_send_action_tx_status( 30*03f9172cSAndroid Build Coastguard Worker struct wpa_supplicant *wpa_s, const u8 *dst, const u8 *data, 31*03f9172cSAndroid Build Coastguard Worker size_t data_len, enum offchannel_send_action_result result); 32*03f9172cSAndroid Build Coastguard Worker const void * offchannel_pending_action_tx(struct wpa_supplicant *wpa_s); 33*03f9172cSAndroid Build Coastguard Worker void offchannel_clear_pending_action_tx(struct wpa_supplicant *wpa_s); 34*03f9172cSAndroid Build Coastguard Worker 35*03f9172cSAndroid Build Coastguard Worker #endif /* OFFCHANNEL_H */ 36