18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Michael MIC implementation - optimized for TKIP MIC operations
48c2ecf20Sopenharmony_ci * Copyright 2002-2003, Instant802 Networks, Inc.
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifndef MICHAEL_H
88c2ecf20Sopenharmony_ci#define MICHAEL_H
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#include <linux/types.h>
118c2ecf20Sopenharmony_ci#include <linux/ieee80211.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#define MICHAEL_MIC_LEN 8
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistruct michael_mic_ctx {
168c2ecf20Sopenharmony_ci	u32 l, r;
178c2ecf20Sopenharmony_ci};
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_civoid michael_mic(const u8 *key, struct ieee80211_hdr *hdr,
208c2ecf20Sopenharmony_ci		 const u8 *data, size_t data_len, u8 *mic);
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci#endif /* MICHAEL_H */
23