linux/net/wireless/rdev-ops.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Portions of this file
 * Copyright(c) 2016-2017 Intel Deutschland GmbH
 * Copyright (C) 2018, 2021-2024 Intel Corporation
 */
#ifndef __CFG80211_RDEV_OPS
#define __CFG80211_RDEV_OPS

#include <linux/rtnetlink.h>
#include <net/cfg80211.h>
#include "core.h"
#include "trace.h"

static inline int rdev_suspend(struct cfg80211_registered_device *rdev,
			       struct cfg80211_wowlan *wowlan)
{}

static inline int rdev_resume(struct cfg80211_registered_device *rdev)
{}

static inline void rdev_set_wakeup(struct cfg80211_registered_device *rdev,
				   bool enabled)
{}

static inline struct wireless_dev
*rdev_add_virtual_intf(struct cfg80211_registered_device *rdev, char *name,
		       unsigned char name_assign_type,
		       enum nl80211_iftype type,
		       struct vif_params *params)
{}

static inline int
rdev_del_virtual_intf(struct cfg80211_registered_device *rdev,
		      struct wireless_dev *wdev)
{}

static inline int
rdev_change_virtual_intf(struct cfg80211_registered_device *rdev,
			 struct net_device *dev, enum nl80211_iftype type,
			 struct vif_params *params)
{}

static inline int rdev_add_key(struct cfg80211_registered_device *rdev,
			       struct net_device *netdev, int link_id,
			       u8 key_index, bool pairwise, const u8 *mac_addr,
			       struct key_params *params)
{}

static inline int
rdev_get_key(struct cfg80211_registered_device *rdev, struct net_device *netdev,
	     int link_id, u8 key_index, bool pairwise, const u8 *mac_addr,
	     void *cookie,
	     void (*callback)(void *cookie, struct key_params*))
{}

static inline int rdev_del_key(struct cfg80211_registered_device *rdev,
			       struct net_device *netdev, int link_id,
			       u8 key_index, bool pairwise, const u8 *mac_addr)
{}

static inline int
rdev_set_default_key(struct cfg80211_registered_device *rdev,
		     struct net_device *netdev, int link_id, u8 key_index,
		     bool unicast, bool multicast)
{}

static inline int
rdev_set_default_mgmt_key(struct cfg80211_registered_device *rdev,
			  struct net_device *netdev, int link_id, u8 key_index)
{}

static inline int
rdev_set_default_beacon_key(struct cfg80211_registered_device *rdev,
			    struct net_device *netdev, int link_id,
			    u8 key_index)
{}

static inline int rdev_start_ap(struct cfg80211_registered_device *rdev,
				struct net_device *dev,
				struct cfg80211_ap_settings *settings)
{}

static inline int rdev_change_beacon(struct cfg80211_registered_device *rdev,
				     struct net_device *dev,
				     struct cfg80211_ap_update *info)
{}

static inline int rdev_stop_ap(struct cfg80211_registered_device *rdev,
			       struct net_device *dev, unsigned int link_id)
{}

static inline int rdev_add_station(struct cfg80211_registered_device *rdev,
				   struct net_device *dev, u8 *mac,
				   struct station_parameters *params)
{}

static inline int rdev_del_station(struct cfg80211_registered_device *rdev,
				   struct net_device *dev,
				   struct station_del_parameters *params)
{}

static inline int rdev_change_station(struct cfg80211_registered_device *rdev,
				      struct net_device *dev, u8 *mac,
				      struct station_parameters *params)
{}

static inline int rdev_get_station(struct cfg80211_registered_device *rdev,
				   struct net_device *dev, const u8 *mac,
				   struct station_info *sinfo)
{}

static inline int rdev_dump_station(struct cfg80211_registered_device *rdev,
				    struct net_device *dev, int idx, u8 *mac,
				    struct station_info *sinfo)
{}

static inline int rdev_add_mpath(struct cfg80211_registered_device *rdev,
				 struct net_device *dev, u8 *dst, u8 *next_hop)
{}

static inline int rdev_del_mpath(struct cfg80211_registered_device *rdev,
				 struct net_device *dev, u8 *dst)
{}

static inline int rdev_change_mpath(struct cfg80211_registered_device *rdev,
				    struct net_device *dev, u8 *dst,
				    u8 *next_hop)
{}

static inline int rdev_get_mpath(struct cfg80211_registered_device *rdev,
				 struct net_device *dev, u8 *dst, u8 *next_hop,
				 struct mpath_info *pinfo)
{}

static inline int rdev_get_mpp(struct cfg80211_registered_device *rdev,
			       struct net_device *dev, u8 *dst, u8 *mpp,
			       struct mpath_info *pinfo)
{}

static inline int rdev_dump_mpath(struct cfg80211_registered_device *rdev,
				  struct net_device *dev, int idx, u8 *dst,
				  u8 *next_hop, struct mpath_info *pinfo)

{}

static inline int rdev_dump_mpp(struct cfg80211_registered_device *rdev,
				struct net_device *dev, int idx, u8 *dst,
				u8 *mpp, struct mpath_info *pinfo)

{}

static inline int
rdev_get_mesh_config(struct cfg80211_registered_device *rdev,
		     struct net_device *dev, struct mesh_config *conf)
{}

static inline int
rdev_update_mesh_config(struct cfg80211_registered_device *rdev,
			struct net_device *dev, u32 mask,
			const struct mesh_config *nconf)
{}

static inline int rdev_join_mesh(struct cfg80211_registered_device *rdev,
				 struct net_device *dev,
				 const struct mesh_config *conf,
				 const struct mesh_setup *setup)
{}


static inline int rdev_leave_mesh(struct cfg80211_registered_device *rdev,
				  struct net_device *dev)
{}

static inline int rdev_join_ocb(struct cfg80211_registered_device *rdev,
				struct net_device *dev,
				struct ocb_setup *setup)
{}

static inline int rdev_leave_ocb(struct cfg80211_registered_device *rdev,
				 struct net_device *dev)
{}

static inline int rdev_change_bss(struct cfg80211_registered_device *rdev,
				  struct net_device *dev,
				  struct bss_parameters *params)

{}

static inline void rdev_inform_bss(struct cfg80211_registered_device *rdev,
				   struct cfg80211_bss *bss,
				   const struct cfg80211_bss_ies *ies,
				   void *drv_data)

{}

static inline int rdev_set_txq_params(struct cfg80211_registered_device *rdev,
				      struct net_device *dev,
				      struct ieee80211_txq_params *params)

{}

static inline int
rdev_libertas_set_mesh_channel(struct cfg80211_registered_device *rdev,
			       struct net_device *dev,
			       struct ieee80211_channel *chan)
{}

static inline int
rdev_set_monitor_channel(struct cfg80211_registered_device *rdev,
			 struct cfg80211_chan_def *chandef)
{}

static inline int rdev_scan(struct cfg80211_registered_device *rdev,
			    struct cfg80211_scan_request *request)
{}

static inline void rdev_abort_scan(struct cfg80211_registered_device *rdev,
				   struct wireless_dev *wdev)
{}

static inline int rdev_auth(struct cfg80211_registered_device *rdev,
			    struct net_device *dev,
			    struct cfg80211_auth_request *req)
{}

static inline int rdev_assoc(struct cfg80211_registered_device *rdev,
			     struct net_device *dev,
			     struct cfg80211_assoc_request *req)
{}

static inline int rdev_deauth(struct cfg80211_registered_device *rdev,
			      struct net_device *dev,
			      struct cfg80211_deauth_request *req)
{}

static inline int rdev_disassoc(struct cfg80211_registered_device *rdev,
				struct net_device *dev,
				struct cfg80211_disassoc_request *req)
{}

static inline int rdev_connect(struct cfg80211_registered_device *rdev,
			       struct net_device *dev,
			       struct cfg80211_connect_params *sme)
{}

static inline int
rdev_update_connect_params(struct cfg80211_registered_device *rdev,
			   struct net_device *dev,
			   struct cfg80211_connect_params *sme, u32 changed)
{}

static inline int rdev_disconnect(struct cfg80211_registered_device *rdev,
				  struct net_device *dev, u16 reason_code)
{}

static inline int rdev_join_ibss(struct cfg80211_registered_device *rdev,
				 struct net_device *dev,
				 struct cfg80211_ibss_params *params)
{}

static inline int rdev_leave_ibss(struct cfg80211_registered_device *rdev,
				  struct net_device *dev)
{}

static inline int
rdev_set_wiphy_params(struct cfg80211_registered_device *rdev, u32 changed)
{}

static inline int rdev_set_tx_power(struct cfg80211_registered_device *rdev,
				    struct wireless_dev *wdev,
				    enum nl80211_tx_power_setting type, int mbm)
{}

static inline int rdev_get_tx_power(struct cfg80211_registered_device *rdev,
				    struct wireless_dev *wdev, int *dbm)
{}

static inline int
rdev_set_multicast_to_unicast(struct cfg80211_registered_device *rdev,
			      struct net_device *dev,
			      const bool enabled)
{}

static inline int
rdev_get_txq_stats(struct cfg80211_registered_device *rdev,
		   struct wireless_dev *wdev,
		   struct cfg80211_txq_stats *txqstats)
{}

static inline void rdev_rfkill_poll(struct cfg80211_registered_device *rdev)
{}


#ifdef CONFIG_NL80211_TESTMODE
static inline int rdev_testmode_cmd(struct cfg80211_registered_device *rdev,
				    struct wireless_dev *wdev,
				    void *data, int len)
{}

static inline int rdev_testmode_dump(struct cfg80211_registered_device *rdev,
				     struct sk_buff *skb,
				     struct netlink_callback *cb, void *data,
				     int len)
{}
#endif

static inline int
rdev_set_bitrate_mask(struct cfg80211_registered_device *rdev,
		      struct net_device *dev, unsigned int link_id,
		      const u8 *peer,
		      const struct cfg80211_bitrate_mask *mask)
{}

static inline int rdev_dump_survey(struct cfg80211_registered_device *rdev,
				   struct net_device *netdev, int idx,
				   struct survey_info *info)
{}

static inline int rdev_set_pmksa(struct cfg80211_registered_device *rdev,
				 struct net_device *netdev,
				 struct cfg80211_pmksa *pmksa)
{}

static inline int rdev_del_pmksa(struct cfg80211_registered_device *rdev,
				 struct net_device *netdev,
				 struct cfg80211_pmksa *pmksa)
{}

static inline int rdev_flush_pmksa(struct cfg80211_registered_device *rdev,
				   struct net_device *netdev)
{}

static inline int
rdev_remain_on_channel(struct cfg80211_registered_device *rdev,
		       struct wireless_dev *wdev,
		       struct ieee80211_channel *chan,
		       unsigned int duration, u64 *cookie)
{}

static inline int
rdev_cancel_remain_on_channel(struct cfg80211_registered_device *rdev,
			      struct wireless_dev *wdev, u64 cookie)
{}

static inline int rdev_mgmt_tx(struct cfg80211_registered_device *rdev,
			       struct wireless_dev *wdev,
			       struct cfg80211_mgmt_tx_params *params,
			       u64 *cookie)
{}

static inline int rdev_tx_control_port(struct cfg80211_registered_device *rdev,
				       struct net_device *dev,
				       const void *buf, size_t len,
				       const u8 *dest, __be16 proto,
				       const bool noencrypt, int link,
				       u64 *cookie)
{}

static inline int
rdev_mgmt_tx_cancel_wait(struct cfg80211_registered_device *rdev,
			 struct wireless_dev *wdev, u64 cookie)
{}

static inline int rdev_set_power_mgmt(struct cfg80211_registered_device *rdev,
				      struct net_device *dev, bool enabled,
				      int timeout)
{}

static inline int
rdev_set_cqm_rssi_config(struct cfg80211_registered_device *rdev,
			 struct net_device *dev, s32 rssi_thold, u32 rssi_hyst)
{}

static inline int
rdev_set_cqm_rssi_range_config(struct cfg80211_registered_device *rdev,
			       struct net_device *dev, s32 low, s32 high)
{}

static inline int
rdev_set_cqm_txe_config(struct cfg80211_registered_device *rdev,
			struct net_device *dev, u32 rate, u32 pkts, u32 intvl)
{}

static inline void
rdev_update_mgmt_frame_registrations(struct cfg80211_registered_device *rdev,
				     struct wireless_dev *wdev,
				     struct mgmt_frame_regs *upd)
{}

static inline int rdev_set_antenna(struct cfg80211_registered_device *rdev,
				   u32 tx_ant, u32 rx_ant)
{}

static inline int rdev_get_antenna(struct cfg80211_registered_device *rdev,
				   u32 *tx_ant, u32 *rx_ant)
{}

static inline int
rdev_sched_scan_start(struct cfg80211_registered_device *rdev,
		      struct net_device *dev,
		      struct cfg80211_sched_scan_request *request)
{}

static inline int rdev_sched_scan_stop(struct cfg80211_registered_device *rdev,
				       struct net_device *dev, u64 reqid)
{}

static inline int rdev_set_rekey_data(struct cfg80211_registered_device *rdev,
				      struct net_device *dev,
				      struct cfg80211_gtk_rekey_data *data)
{}

static inline int rdev_tdls_mgmt(struct cfg80211_registered_device *rdev,
				 struct net_device *dev, u8 *peer,
				 int link_id, u8 action_code,
				 u8 dialog_token, u16 status_code,
				 u32 peer_capability, bool initiator,
				 const u8 *buf, size_t len)
{}

static inline int rdev_tdls_oper(struct cfg80211_registered_device *rdev,
				 struct net_device *dev, u8 *peer,
				 enum nl80211_tdls_operation oper)
{}

static inline int rdev_probe_client(struct cfg80211_registered_device *rdev,
				    struct net_device *dev, const u8 *peer,
				    u64 *cookie)
{}

static inline int rdev_set_noack_map(struct cfg80211_registered_device *rdev,
				     struct net_device *dev, u16 noack_map)
{}

static inline int
rdev_get_channel(struct cfg80211_registered_device *rdev,
		 struct wireless_dev *wdev,
		 unsigned int link_id,
		 struct cfg80211_chan_def *chandef)
{}

static inline int rdev_start_p2p_device(struct cfg80211_registered_device *rdev,
					struct wireless_dev *wdev)
{}

static inline void rdev_stop_p2p_device(struct cfg80211_registered_device *rdev,
					struct wireless_dev *wdev)
{}

static inline int rdev_start_nan(struct cfg80211_registered_device *rdev,
				 struct wireless_dev *wdev,
				 struct cfg80211_nan_conf *conf)
{}

static inline void rdev_stop_nan(struct cfg80211_registered_device *rdev,
				 struct wireless_dev *wdev)
{}

static inline int
rdev_add_nan_func(struct cfg80211_registered_device *rdev,
		  struct wireless_dev *wdev,
		  struct cfg80211_nan_func *nan_func)
{}

static inline void rdev_del_nan_func(struct cfg80211_registered_device *rdev,
				    struct wireless_dev *wdev, u64 cookie)
{}

static inline int
rdev_nan_change_conf(struct cfg80211_registered_device *rdev,
		     struct wireless_dev *wdev,
		     struct cfg80211_nan_conf *conf, u32 changes)
{}

static inline int rdev_set_mac_acl(struct cfg80211_registered_device *rdev,
				   struct net_device *dev,
				   struct cfg80211_acl_data *params)
{}

static inline int rdev_update_ft_ies(struct cfg80211_registered_device *rdev,
				     struct net_device *dev,
				     struct cfg80211_update_ft_ies_params *ftie)
{}

static inline int rdev_crit_proto_start(struct cfg80211_registered_device *rdev,
					struct wireless_dev *wdev,
					enum nl80211_crit_proto_id protocol,
					u16 duration)
{}

static inline void rdev_crit_proto_stop(struct cfg80211_registered_device *rdev,
				       struct wireless_dev *wdev)
{}

static inline int rdev_channel_switch(struct cfg80211_registered_device *rdev,
				      struct net_device *dev,
				      struct cfg80211_csa_settings *params)
{}

static inline int rdev_set_qos_map(struct cfg80211_registered_device *rdev,
				   struct net_device *dev,
				   struct cfg80211_qos_map *qos_map)
{}

static inline int
rdev_set_ap_chanwidth(struct cfg80211_registered_device *rdev,
		      struct net_device *dev,
		      unsigned int link_id,
		      struct cfg80211_chan_def *chandef)
{}

static inline int
rdev_add_tx_ts(struct cfg80211_registered_device *rdev,
	       struct net_device *dev, u8 tsid, const u8 *peer,
	       u8 user_prio, u16 admitted_time)
{}

static inline int
rdev_del_tx_ts(struct cfg80211_registered_device *rdev,
	       struct net_device *dev, u8 tsid, const u8 *peer)
{}

static inline int
rdev_tdls_channel_switch(struct cfg80211_registered_device *rdev,
			 struct net_device *dev, const u8 *addr,
			 u8 oper_class, struct cfg80211_chan_def *chandef)
{}

static inline void
rdev_tdls_cancel_channel_switch(struct cfg80211_registered_device *rdev,
				struct net_device *dev, const u8 *addr)
{}

static inline int
rdev_start_radar_detection(struct cfg80211_registered_device *rdev,
			   struct net_device *dev,
			   struct cfg80211_chan_def *chandef,
			   u32 cac_time_ms)
{}

static inline void
rdev_end_cac(struct cfg80211_registered_device *rdev,
	     struct net_device *dev)
{}

static inline int
rdev_set_mcast_rate(struct cfg80211_registered_device *rdev,
		    struct net_device *dev,
		    int mcast_rate[NUM_NL80211_BANDS])
{}

static inline int
rdev_set_coalesce(struct cfg80211_registered_device *rdev,
		  struct cfg80211_coalesce *coalesce)
{}

static inline int rdev_set_pmk(struct cfg80211_registered_device *rdev,
			       struct net_device *dev,
			       struct cfg80211_pmk_conf *pmk_conf)
{}

static inline int rdev_del_pmk(struct cfg80211_registered_device *rdev,
			       struct net_device *dev, const u8 *aa)
{}

static inline int
rdev_external_auth(struct cfg80211_registered_device *rdev,
		   struct net_device *dev,
		   struct cfg80211_external_auth_params *params)
{}

static inline int
rdev_get_ftm_responder_stats(struct cfg80211_registered_device *rdev,
			     struct net_device *dev,
			     struct cfg80211_ftm_responder_stats *ftm_stats)
{}

static inline int
rdev_start_pmsr(struct cfg80211_registered_device *rdev,
		struct wireless_dev *wdev,
		struct cfg80211_pmsr_request *request)
{}

static inline void
rdev_abort_pmsr(struct cfg80211_registered_device *rdev,
		struct wireless_dev *wdev,
		struct cfg80211_pmsr_request *request)
{}

static inline int rdev_update_owe_info(struct cfg80211_registered_device *rdev,
				       struct net_device *dev,
				       struct cfg80211_update_owe_info *oweinfo)
{}

static inline int
rdev_probe_mesh_link(struct cfg80211_registered_device *rdev,
		     struct net_device *dev, const u8 *dest,
		     const void *buf, size_t len)
{}

static inline int rdev_set_tid_config(struct cfg80211_registered_device *rdev,
				      struct net_device *dev,
				      struct cfg80211_tid_config *tid_conf)
{}

static inline int rdev_reset_tid_config(struct cfg80211_registered_device *rdev,
					struct net_device *dev, const u8 *peer,
					u8 tids)
{}

static inline int rdev_set_sar_specs(struct cfg80211_registered_device *rdev,
				     struct cfg80211_sar_specs *sar)
{}

static inline int rdev_color_change(struct cfg80211_registered_device *rdev,
				    struct net_device *dev,
				    struct cfg80211_color_change_settings *params)
{}

static inline int
rdev_set_fils_aad(struct cfg80211_registered_device *rdev,
		  struct net_device *dev, struct cfg80211_fils_aad *fils_aad)
{}

static inline int
rdev_set_radar_background(struct cfg80211_registered_device *rdev,
			  struct cfg80211_chan_def *chandef)
{}

static inline int
rdev_add_intf_link(struct cfg80211_registered_device *rdev,
		   struct wireless_dev *wdev,
		   unsigned int link_id)
{}

static inline void
rdev_del_intf_link(struct cfg80211_registered_device *rdev,
		   struct wireless_dev *wdev,
		   unsigned int link_id)
{}

static inline int
rdev_add_link_station(struct cfg80211_registered_device *rdev,
		      struct net_device *dev,
		      struct link_station_parameters *params)
{}

static inline int
rdev_mod_link_station(struct cfg80211_registered_device *rdev,
		      struct net_device *dev,
		      struct link_station_parameters *params)
{}

static inline int
rdev_del_link_station(struct cfg80211_registered_device *rdev,
		      struct net_device *dev,
		      struct link_station_del_parameters *params)
{}

static inline int
rdev_set_hw_timestamp(struct cfg80211_registered_device *rdev,
		      struct net_device *dev,
		      struct cfg80211_set_hw_timestamp *hwts)
{}

static inline int
rdev_set_ttlm(struct cfg80211_registered_device *rdev,
	      struct net_device *dev,
	      struct cfg80211_ttlm_params *params)
{}

static inline u32
rdev_get_radio_mask(struct cfg80211_registered_device *rdev,
		    struct net_device *dev)
{}
#endif /* __CFG80211_RDEV_OPS */