aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-12-18 20:03:31 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:59:50 -0500
commit62da92fb75c346b503bca765fd1337e08771c9fe (patch)
tree86246464a61297e4df2e593c31b2e2dda325cf5c /include
parente8cbb4cbeb7642d179b01c35adf036ddb65f3dd0 (diff)
mac80211: support getting key sequence counters via cfg80211
This implements cfg80211's get_key() to allow retrieving the sequence counter for a TKIP or CCMP key from userspace. It also cleans up and documents the associated low-level driver interface. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 5b9e7a262448..a762a75ae62d 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -647,9 +647,6 @@ struct ieee80211_key_conf {
647 u8 key[0]; 647 u8 key[0];
648}; 648};
649 649
650#define IEEE80211_SEQ_COUNTER_RX 0
651#define IEEE80211_SEQ_COUNTER_TX 1
652
653/** 650/**
654 * enum set_key_cmd - key command 651 * enum set_key_cmd - key command
655 * 652 *
@@ -996,9 +993,9 @@ enum ieee80211_erp_change_flags {
996 * 993 *
997 * @get_stats: return low-level statistics 994 * @get_stats: return low-level statistics
998 * 995 *
999 * @get_sequence_counter: For devices that have internal sequence counters this 996 * @get_tkip_seq: If your device implements TKIP encryption in hardware this
1000 * callback allows mac80211 to access the current value of a counter. 997 * callback should be provided to read the TKIP transmit IVs (both IV32
1001 * This callback seems not well-defined, tell us if you need it. 998 * and IV16) for the given key from hardware.
1002 * 999 *
1003 * @set_rts_threshold: Configuration of RTS threshold (if device needs it) 1000 * @set_rts_threshold: Configuration of RTS threshold (if device needs it)
1004 * 1001 *
@@ -1073,9 +1070,8 @@ struct ieee80211_ops {
1073 int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); 1070 int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len);
1074 int (*get_stats)(struct ieee80211_hw *hw, 1071 int (*get_stats)(struct ieee80211_hw *hw,
1075 struct ieee80211_low_level_stats *stats); 1072 struct ieee80211_low_level_stats *stats);
1076 int (*get_sequence_counter)(struct ieee80211_hw *hw, 1073 void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx,
1077 u8* addr, u8 keyidx, u8 txrx, 1074 u32 *iv32, u16 *iv16);
1078 u32* iv32, u16* iv16);
1079 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); 1075 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value);
1080 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); 1076 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value);
1081 int (*set_retry_limit)(struct ieee80211_hw *hw, 1077 int (*set_retry_limit)(struct ieee80211_hw *hw,