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