summaryrefslogtreecommitdiffstats
path: root/package/d80211/src/tkip.h
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-12-30 18:47:07 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-12-30 18:47:07 +0000
commit261aac942079aa99fec98168e204a0f8089c7d89 (patch)
tree763b0951c754a0ece49d14a5453e475a2f673cd0 /package/d80211/src/tkip.h
parentf5b0956604742f16ddacf64b5ea9e7dfe836e2fc (diff)
add d80211 from a recent wireless-dev checkout
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5939 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/d80211/src/tkip.h')
-rw-r--r--package/d80211/src/tkip.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/package/d80211/src/tkip.h b/package/d80211/src/tkip.h
new file mode 100644
index 000000000..a0d181a18
--- /dev/null
+++ b/package/d80211/src/tkip.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2002-2004, Instant802 Networks, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef TKIP_H
+#define TKIP_H
+
+#include <linux/types.h>
+#include <linux/crypto.h>
+#include "ieee80211_key.h"
+
+u8 * ieee80211_tkip_add_iv(u8 *pos, struct ieee80211_key *key,
+ u8 iv0, u8 iv1, u8 iv2);
+void ieee80211_tkip_gen_phase1key(struct ieee80211_key *key, u8 *ta,
+ u16 *phase1key);
+void ieee80211_tkip_gen_rc4key(struct ieee80211_key *key, u8 *ta,
+ u8 *rc4key);
+void ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm,
+ struct ieee80211_key *key,
+ u8 *pos, size_t payload_len, u8 *ta);
+enum {
+ TKIP_DECRYPT_OK = 0,
+ TKIP_DECRYPT_NO_EXT_IV = -1,
+ TKIP_DECRYPT_INVALID_KEYIDX = -2,
+ TKIP_DECRYPT_REPLAY = -3,
+};
+int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
+ struct ieee80211_key *key,
+ u8 *payload, size_t payload_len, u8 *ta,
+ int only_iv, int queue);
+
+#endif /* TKIP_H */