diff options
author | Michael Wu <flamingice@sourmilk.net> | 2008-01-31 19:48:22 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-02-29 15:37:02 -0500 |
commit | 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a (patch) | |
tree | 92c4756ae29b64aee4a76a043fd46bb02472cfd9 /include/net/cfg80211.h | |
parent | e4c26add8893e40e6e809b8c1ebc81e37762af2b (diff) | |
download | op-kernel-dev-66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a.zip op-kernel-dev-66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a.tar.gz |
nl80211: Add monitor interface configuration flags
This allows precise control over what a monitor interface shows.
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index bcc480b..ab4caf6 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -163,6 +163,26 @@ struct station_stats { u32 tx_bytes; }; +/** + * enum monitor_flags - monitor flags + * + * Monitor interface configuration flags. Note that these must be the bits + * according to the nl80211 flags. + * + * @MONITOR_FLAG_FCSFAIL: pass frames with bad FCS + * @MONITOR_FLAG_PLCPFAIL: pass frames with bad PLCP + * @MONITOR_FLAG_CONTROL: pass control frames + * @MONITOR_FLAG_OTHER_BSS: disable BSSID filtering + * @MONITOR_FLAG_COOK_FRAMES: report frames after processing + */ +enum monitor_flags { + MONITOR_FLAG_FCSFAIL = 1<<NL80211_MNTR_FLAG_FCSFAIL, + MONITOR_FLAG_PLCPFAIL = 1<<NL80211_MNTR_FLAG_PLCPFAIL, + MONITOR_FLAG_CONTROL = 1<<NL80211_MNTR_FLAG_CONTROL, + MONITOR_FLAG_OTHER_BSS = 1<<NL80211_MNTR_FLAG_OTHER_BSS, + MONITOR_FLAG_COOK_FRAMES = 1<<NL80211_MNTR_FLAG_COOK_FRAMES, +}; + /* from net/wireless.h */ struct wiphy; @@ -213,10 +233,10 @@ struct wiphy; */ struct cfg80211_ops { int (*add_virtual_intf)(struct wiphy *wiphy, char *name, - enum nl80211_iftype type); + enum nl80211_iftype type, u32 *flags); int (*del_virtual_intf)(struct wiphy *wiphy, int ifindex); int (*change_virtual_intf)(struct wiphy *wiphy, int ifindex, - enum nl80211_iftype type); + enum nl80211_iftype type, u32 *flags); int (*add_key)(struct wiphy *wiphy, struct net_device *netdev, u8 key_index, u8 *mac_addr, |