100b9cfa3SJouni Malinen /* 200b9cfa3SJouni Malinen * Copyright 2014-2015, Qualcomm Atheros, Inc. 300b9cfa3SJouni Malinen * 400b9cfa3SJouni Malinen * This program is free software; you can redistribute it and/or modify 500b9cfa3SJouni Malinen * it under the terms of the GNU General Public License version 2 as 600b9cfa3SJouni Malinen * published by the Free Software Foundation. 700b9cfa3SJouni Malinen */ 800b9cfa3SJouni Malinen 900b9cfa3SJouni Malinen #ifndef AES_GCM_H 1000b9cfa3SJouni Malinen #define AES_GCM_H 1100b9cfa3SJouni Malinen 1200b9cfa3SJouni Malinen #include <linux/crypto.h> 1300b9cfa3SJouni Malinen 1400b9cfa3SJouni Malinen void ieee80211_aes_gcm_encrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad, 1500b9cfa3SJouni Malinen u8 *data, size_t data_len, u8 *mic); 1600b9cfa3SJouni Malinen int ieee80211_aes_gcm_decrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad, 1700b9cfa3SJouni Malinen u8 *data, size_t data_len, u8 *mic); 1800b9cfa3SJouni Malinen struct crypto_aead *ieee80211_aes_gcm_key_setup_encrypt(const u8 key[], 1900b9cfa3SJouni Malinen size_t key_len); 2000b9cfa3SJouni Malinen void ieee80211_aes_gcm_key_free(struct crypto_aead *tfm); 2100b9cfa3SJouni Malinen 2200b9cfa3SJouni Malinen #endif /* AES_GCM_H */ 23