1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright 2002-2004, Instant802 Networks, Inc. |
4 | */ |
5 | |
6 | #ifndef TKIP_H |
7 | #define TKIP_H |
8 | |
9 | #include <linux/types.h> |
10 | #include <linux/crypto.h> |
11 | #include "key.h" |
12 | |
13 | int ieee80211_tkip_encrypt_data(struct arc4_ctx *ctx, |
14 | struct ieee80211_key *key, |
15 | struct sk_buff *skb, |
16 | u8 *payload, size_t payload_len); |
17 | |
18 | enum { |
19 | TKIP_DECRYPT_OK = 0, |
20 | TKIP_DECRYPT_NO_EXT_IV = -1, |
21 | TKIP_DECRYPT_INVALID_KEYIDX = -2, |
22 | TKIP_DECRYPT_REPLAY = -3, |
23 | }; |
24 | int ieee80211_tkip_decrypt_data(struct arc4_ctx *ctx, |
25 | struct ieee80211_key *key, |
26 | u8 *payload, size_t payload_len, u8 *ta, |
27 | u8 *ra, int only_iv, int queue, |
28 | u32 *out_iv32, u16 *out_iv16); |
29 | |
30 | #endif /* TKIP_H */ |
31 | |