xref: /linux/net/mac80211/michael.h (revision d2912cb15bdda8ba4a5dd73396ad62641af2f520)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2f0706e82SJiri Benc /*
3f0706e82SJiri Benc  * Michael MIC implementation - optimized for TKIP MIC operations
4f0706e82SJiri Benc  * Copyright 2002-2003, Instant802 Networks, Inc.
5f0706e82SJiri Benc  */
6f0706e82SJiri Benc 
7f0706e82SJiri Benc #ifndef MICHAEL_H
8f0706e82SJiri Benc #define MICHAEL_H
9f0706e82SJiri Benc 
10f0706e82SJiri Benc #include <linux/types.h>
11aa51142fSZhao, Gang #include <linux/ieee80211.h>
12f0706e82SJiri Benc 
13f0706e82SJiri Benc #define MICHAEL_MIC_LEN 8
14f0706e82SJiri Benc 
151b19ca39SHarvey Harrison struct michael_mic_ctx {
161b19ca39SHarvey Harrison 	u32 l, r;
171b19ca39SHarvey Harrison };
181b19ca39SHarvey Harrison 
198e8862b7SHarvey Harrison void michael_mic(const u8 *key, struct ieee80211_hdr *hdr,
20a7b6f0c5SHarvey Harrison 		 const u8 *data, size_t data_len, u8 *mic);
21f0706e82SJiri Benc 
22f0706e82SJiri Benc #endif /* MICHAEL_H */
23