linux/net/wireless/lib80211_crypt_ccmp.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * lib80211 crypt: host-based CCMP encryption implementation for lib80211
 *
 * Copyright (c) 2003-2004, Jouni Malinen <[email protected]>
 * Copyright (c) 2008, John W. Linville <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/random.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/if_ether.h>
#include <linux/if_arp.h>
#include <asm/string.h>
#include <linux/wireless.h>

#include <linux/ieee80211.h>

#include <linux/crypto.h>
#include <crypto/aead.h>

#include <net/lib80211.h>

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();

#define AES_BLOCK_LEN
#define CCMP_HDR_LEN
#define CCMP_MIC_LEN
#define CCMP_TK_LEN
#define CCMP_PN_LEN

struct lib80211_ccmp_data {};

static void *lib80211_ccmp_init(int key_idx)
{}

static void lib80211_ccmp_deinit(void *priv)
{}

static int ccmp_init_iv_and_aad(const struct ieee80211_hdr *hdr,
				const u8 *pn, u8 *iv, u8 *aad)
{}

static int lib80211_ccmp_hdr(struct sk_buff *skb, int hdr_len,
			      u8 *aeskey, int keylen, void *priv)
{}

static int lib80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
{}

/*
 * deal with seq counter wrapping correctly.
 * refer to timer_after() for jiffies wrapping handling
 */
static inline int ccmp_replay_check(u8 *pn_n, u8 *pn_o)
{}

static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
{}

static int lib80211_ccmp_set_key(void *key, int len, u8 * seq, void *priv)
{}

static int lib80211_ccmp_get_key(void *key, int len, u8 * seq, void *priv)
{}

static void lib80211_ccmp_print_stats(struct seq_file *m, void *priv)
{}

static struct lib80211_crypto_ops lib80211_crypt_ccmp =;

static int __init lib80211_crypto_ccmp_init(void)
{}

static void __exit lib80211_crypto_ccmp_exit(void)
{}

module_init();
module_exit(lib80211_crypto_ccmp_exit);