linux/drivers/net/wireless/microchip/wilc1000/netdev.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
 * All rights reserved.
 */

#ifndef WILC_NETDEV_H
#define WILC_NETDEV_H

#include <linux/tcp.h>
#include <linux/ieee80211.h>
#include <net/cfg80211.h>
#include <net/ieee80211_radiotap.h>
#include <linux/if_arp.h>
#include <linux/gpio/consumer.h>
#include <linux/rculist.h>
#include <uapi/linux/if_ether.h>

#include "hif.h"
#include "wlan.h"
#include "wlan_cfg.h"

#define FLOW_CONTROL_LOWER_THRESHOLD
#define FLOW_CONTROL_UPPER_THRESHOLD

#define PMKID_FOUND
#define NUM_STA_ASSOCIATED

#define TCP_ACK_FILTER_LINK_SPEED_THRESH
#define DEFAULT_LINK_SPEED

#define TX_BACKOFF_WEIGHT_MS

#define wilc_for_each_vif(w, v)

struct wilc_wfi_stats {};

struct wilc_wfi_key {};

struct sta_info {};

/* Parameters needed for host interface for remaining on channel */
struct wilc_wfi_p2p_listen_params {};

static const u32 wilc_cipher_suites[] =;

#define CHAN2G(_channel, _freq, _flags)

static const struct ieee80211_channel wilc_2ghz_channels[] =;

#define RATETAB_ENT(_rate, _hw_value, _flags)

static struct ieee80211_rate wilc_bitrates[] =;

struct wilc_priv {};

#define MAX_TCP_SESSION
#define MAX_PENDING_ACKS

struct ack_session_info {};

struct pending_acks {};

struct tcp_ack_filter {};

struct wilc_vif {};

struct wilc_tx_queue_status {};

struct wilc {};

struct wilc_wfi_mon_priv {};

void wilc_frmw_to_host(struct wilc *wilc, u8 *buff, u32 size, u32 pkt_offset);
void wilc_mac_indicate(struct wilc *wilc);
void wilc_netdev_cleanup(struct wilc *wilc);
void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size, bool is_auth);
void wilc_wlan_set_bssid(struct net_device *wilc_netdev, const u8 *bssid,
			 u8 mode);
struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
				      int vif_type, enum nl80211_iftype type,
				      bool rtnl_locked);
#endif