linux/drivers/net/wireless/marvell/mwifiex/tdls.c

/*
 * NXP Wireless LAN device driver: TDLS handling
 *
 * Copyright 2011-2020 NXP
 *
 * This software file (the "File") is distributed by NXP
 * under the terms of the GNU General Public License Version 2, June 1991
 * (the "License").  You may use, redistribute and/or modify this File in
 * accordance with the terms and conditions of the License, a copy of which
 * is available on the worldwide web at
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
 *
 * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
 * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
 * this warranty disclaimer.
 */

#include "main.h"
#include "wmm.h"
#include "11n.h"
#include "11n_rxreorder.h"
#include "11ac.h"

#define TDLS_REQ_FIX_LEN
#define TDLS_RESP_FIX_LEN
#define TDLS_CONFIRM_FIX_LEN
#define MWIFIEX_TDLS_WMM_INFO_SIZE

static void mwifiex_restore_tdls_packets(struct mwifiex_private *priv,
					 const u8 *mac, u8 status)
{}

static void mwifiex_hold_tdls_packets(struct mwifiex_private *priv,
				      const u8 *mac)
{}

/* This function appends rate TLV to scan config command. */
static int
mwifiex_tdls_append_rates_ie(struct mwifiex_private *priv,
			     struct sk_buff *skb)
{}

static void mwifiex_tdls_add_aid(struct mwifiex_private *priv,
				struct sk_buff *skb)
{}

static int mwifiex_tdls_add_vht_capab(struct mwifiex_private *priv,
				      struct sk_buff *skb)
{}

static int
mwifiex_tdls_add_ht_oper(struct mwifiex_private *priv, const u8 *mac,
			 u8 vht_enabled, struct sk_buff *skb)
{}

static int mwifiex_tdls_add_vht_oper(struct mwifiex_private *priv,
				     const u8 *mac, struct sk_buff *skb)
{}

static void mwifiex_tdls_add_ext_capab(struct mwifiex_private *priv,
				       struct sk_buff *skb)
{}

static void mwifiex_tdls_add_qos_capab(struct sk_buff *skb)
{}

static void
mwifiex_tdls_add_wmm_param_ie(struct mwifiex_private *priv, struct sk_buff *skb)
{}

static void
mwifiex_add_wmm_info_ie(struct mwifiex_private *priv, struct sk_buff *skb,
			u8 qosinfo)
{}

static void mwifiex_tdls_add_bss_co_2040(struct sk_buff *skb)
{}

static void mwifiex_tdls_add_supported_chan(struct sk_buff *skb)
{}

static void mwifiex_tdls_add_oper_class(struct sk_buff *skb)
{}

static int mwifiex_prep_tdls_encap_data(struct mwifiex_private *priv,
					const u8 *peer, u8 action_code,
					u8 dialog_token,
					u16 status_code, struct sk_buff *skb)
{}

static void
mwifiex_tdls_add_link_ie(struct sk_buff *skb, const u8 *src_addr,
			 const u8 *peer, const u8 *bssid)
{}

int mwifiex_send_tdls_data_frame(struct mwifiex_private *priv, const u8 *peer,
				 u8 action_code, u8 dialog_token,
				 u16 status_code, const u8 *extra_ies,
				 size_t extra_ies_len)
{}

static int
mwifiex_construct_tdls_action_frame(struct mwifiex_private *priv,
				    const u8 *peer,
				    u8 action_code, u8 dialog_token,
				    u16 status_code, struct sk_buff *skb)
{}

int mwifiex_send_tdls_action_frame(struct mwifiex_private *priv, const u8 *peer,
				   u8 action_code, u8 dialog_token,
				   u16 status_code, const u8 *extra_ies,
				   size_t extra_ies_len)
{}

/* This function process tdls action frame from peer.
 * Peer capabilities are stored into station node structure.
 */
void mwifiex_process_tdls_action_frame(struct mwifiex_private *priv,
				       u8 *buf, int len)
{}

static int
mwifiex_tdls_process_config_link(struct mwifiex_private *priv, const u8 *peer)
{}

static int
mwifiex_tdls_process_create_link(struct mwifiex_private *priv, const u8 *peer)
{}

static int
mwifiex_tdls_process_disable_link(struct mwifiex_private *priv, const u8 *peer)
{}

static int
mwifiex_tdls_process_enable_link(struct mwifiex_private *priv, const u8 *peer)
{}

int mwifiex_tdls_oper(struct mwifiex_private *priv, const u8 *peer, u8 action)
{}

int mwifiex_get_tdls_link_status(struct mwifiex_private *priv, const u8 *mac)
{}

int mwifiex_get_tdls_list(struct mwifiex_private *priv,
			  struct tdls_peer_info *buf)
{}

void mwifiex_disable_all_tdls_links(struct mwifiex_private *priv)
{}

int mwifiex_tdls_check_tx(struct mwifiex_private *priv, struct sk_buff *skb)
{}

void mwifiex_flush_auto_tdls_list(struct mwifiex_private *priv)
{}

void mwifiex_add_auto_tdls_peer(struct mwifiex_private *priv, const u8 *mac)
{}

void mwifiex_auto_tdls_update_peer_status(struct mwifiex_private *priv,
					  const u8 *mac, u8 link_status)
{}

void mwifiex_auto_tdls_update_peer_signal(struct mwifiex_private *priv,
					  u8 *mac, s8 snr, s8 nflr)
{}

void mwifiex_check_auto_tdls(struct timer_list *t)
{}

void mwifiex_setup_auto_tdls_timer(struct mwifiex_private *priv)
{}

void mwifiex_clean_auto_tdls(struct mwifiex_private *priv)
{}

static int mwifiex_config_tdls(struct mwifiex_private *priv, u8 enable)
{}

int mwifiex_config_tdls_enable(struct mwifiex_private *priv)
{}

int mwifiex_config_tdls_disable(struct mwifiex_private *priv)
{}

int mwifiex_config_tdls_cs_params(struct mwifiex_private *priv)
{}

int mwifiex_stop_tdls_cs(struct mwifiex_private *priv, const u8 *peer_mac)
{}

int mwifiex_start_tdls_cs(struct mwifiex_private *priv, const u8 *peer_mac,
			  u8 primary_chan, u8 second_chan_offset, u8 band)
{}