mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 06:50:08 +00:00
9588bbd552
Add new commands for requesting the driver to remain awake on a specified channel for the specified amount of time (and another command to cancel such an operation). This can be used to implement userspace-controlled off-channel operations, like Public Action frame exchange on another channel than the operation channel. The off-channel operation should behave similarly to scan, i.e. the local station (if associated) moves into power save mode to request the AP to buffer frames for it and then moves to the other channel to allow the off-channel operation to be completed. The duration parameter can be used to request enough time to receive a response from the target station. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
74 lines
3.0 KiB
C
74 lines
3.0 KiB
C
#ifndef __NET_WIRELESS_NL80211_H
|
|
#define __NET_WIRELESS_NL80211_H
|
|
|
|
#include "core.h"
|
|
|
|
int nl80211_init(void);
|
|
void nl80211_exit(void);
|
|
void nl80211_notify_dev_rename(struct cfg80211_registered_device *rdev);
|
|
void nl80211_send_scan_start(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev);
|
|
void nl80211_send_scan_done(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev);
|
|
void nl80211_send_scan_aborted(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev);
|
|
void nl80211_send_reg_change_event(struct regulatory_request *request);
|
|
void nl80211_send_rx_auth(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
const u8 *buf, size_t len, gfp_t gfp);
|
|
void nl80211_send_rx_assoc(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
const u8 *buf, size_t len, gfp_t gfp);
|
|
void nl80211_send_deauth(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
const u8 *buf, size_t len, gfp_t gfp);
|
|
void nl80211_send_disassoc(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
const u8 *buf, size_t len, gfp_t gfp);
|
|
void nl80211_send_auth_timeout(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
const u8 *addr, gfp_t gfp);
|
|
void nl80211_send_assoc_timeout(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
const u8 *addr, gfp_t gfp);
|
|
void nl80211_send_connect_result(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev, const u8 *bssid,
|
|
const u8 *req_ie, size_t req_ie_len,
|
|
const u8 *resp_ie, size_t resp_ie_len,
|
|
u16 status, gfp_t gfp);
|
|
void nl80211_send_roamed(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev, const u8 *bssid,
|
|
const u8 *req_ie, size_t req_ie_len,
|
|
const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp);
|
|
void nl80211_send_disconnected(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev, u16 reason,
|
|
const u8 *ie, size_t ie_len, bool from_ap);
|
|
|
|
void
|
|
nl80211_michael_mic_failure(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev, const u8 *addr,
|
|
enum nl80211_key_type key_type,
|
|
int key_id, const u8 *tsc, gfp_t gfp);
|
|
|
|
void
|
|
nl80211_send_beacon_hint_event(struct wiphy *wiphy,
|
|
struct ieee80211_channel *channel_before,
|
|
struct ieee80211_channel *channel_after);
|
|
|
|
void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev, const u8 *bssid,
|
|
gfp_t gfp);
|
|
|
|
void nl80211_send_remain_on_channel(struct cfg80211_registered_device *rdev,
|
|
struct net_device *netdev,
|
|
u64 cookie,
|
|
struct ieee80211_channel *chan,
|
|
enum nl80211_channel_type channel_type,
|
|
unsigned int duration, gfp_t gfp);
|
|
void nl80211_send_remain_on_channel_cancel(
|
|
struct cfg80211_registered_device *rdev, struct net_device *netdev,
|
|
u64 cookie, struct ieee80211_channel *chan,
|
|
enum nl80211_channel_type channel_type, gfp_t gfp);
|
|
|
|
#endif /* __NET_WIRELESS_NL80211_H */
|