12be45b66SKalle Valo /* Orinoco MIC helpers
22be45b66SKalle Valo  *
32be45b66SKalle Valo  * See copyright notice in main.c
42be45b66SKalle Valo  */
52be45b66SKalle Valo #ifndef _ORINOCO_MIC_H_
62be45b66SKalle Valo #define _ORINOCO_MIC_H_
72be45b66SKalle Valo 
82be45b66SKalle Valo #include <linux/types.h>
9570b90faSAndrew Lutomirski #include <crypto/hash.h>
102be45b66SKalle Valo 
112be45b66SKalle Valo #define MICHAEL_MIC_LEN 8
122be45b66SKalle Valo 
132be45b66SKalle Valo /* Forward declarations */
142be45b66SKalle Valo struct orinoco_private;
15a60b7fafSHerbert Xu struct crypto_ahash;
162be45b66SKalle Valo 
172be45b66SKalle Valo int orinoco_mic_init(struct orinoco_private *priv);
182be45b66SKalle Valo void orinoco_mic_free(struct orinoco_private *priv);
19570b90faSAndrew Lutomirski int orinoco_mic(struct crypto_shash *tfm_michael, u8 *key,
202be45b66SKalle Valo 		u8 *da, u8 *sa, u8 priority,
212be45b66SKalle Valo 		u8 *data, size_t data_len, u8 *mic);
222be45b66SKalle Valo 
232be45b66SKalle Valo #endif /* ORINOCO_MIC_H */
24