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