1 /* 2 * Software WEP encryption implementation 3 * Copyright 2002, Jouni Malinen <jkmaline@cc.hut.fi> 4 * Copyright 2003, Instant802 Networks, Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef WEP_H 12 #define WEP_H 13 14 #include <linux/skbuff.h> 15 #include <linux/types.h> 16 #include "ieee80211_i.h" 17 #include "ieee80211_key.h" 18 19 int ieee80211_wep_init(struct ieee80211_local *local); 20 void ieee80211_wep_free(struct ieee80211_local *local); 21 void ieee80211_wep_get_iv(struct ieee80211_local *local, 22 struct ieee80211_key *key, u8 *iv); 23 u8 * ieee80211_wep_add_iv(struct ieee80211_local *local, 24 struct sk_buff *skb, 25 struct ieee80211_key *key); 26 void ieee80211_wep_remove_iv(struct ieee80211_local *local, 27 struct sk_buff *skb, 28 struct ieee80211_key *key); 29 void ieee80211_wep_encrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, 30 size_t klen, u8 *data, size_t data_len); 31 int ieee80211_wep_decrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, 32 size_t klen, u8 *data, size_t data_len); 33 int ieee80211_wep_encrypt(struct ieee80211_local *local, struct sk_buff *skb, 34 struct ieee80211_key *key); 35 int ieee80211_wep_decrypt(struct ieee80211_local *local, struct sk_buff *skb, 36 struct ieee80211_key *key); 37 int ieee80211_wep_get_keyidx(struct sk_buff *skb); 38 u8 * ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key); 39 40 #endif /* WEP_H */ 41