linux/drivers/staging/rtl8712/rtl871x_ioctl_linux.c

// SPDX-License-Identifier: GPL-2.0
/******************************************************************************
 * rtl871x_ioctl_linux.c
 *
 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
 * Linux device driver for RTL8192SU
 *
 * Modifications for inclusion into the Linux staging tree are
 * Copyright(c) 2010 Larry Finger. All rights reserved.
 *
 * Contact information:
 * WLAN FAE <[email protected]>
 * Larry Finger <[email protected]>
 *
 ******************************************************************************/

#define _RTL871X_IOCTL_LINUX_C_
#define _RTL871X_MP_IOCTL_C_

#include "osdep_service.h"
#include "drv_types.h"
#include "wlan_bssdef.h"
#include "rtl871x_debug.h"
#include "wifi.h"
#include "rtl871x_mlme.h"
#include "rtl871x_ioctl.h"
#include "rtl871x_ioctl_set.h"
#include "rtl871x_mp_ioctl.h"
#include "mlme_osdep.h"
#include <linux/wireless.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/io.h>
#include <linux/semaphore.h>
#include <net/iw_handler.h>
#include <linux/if_arp.h>
#include <linux/etherdevice.h>

#define RTL_IOCTL_WPA_SUPPLICANT

#define SCAN_ITEM_SIZE
#define MAX_CUSTOM_LEN
#define RATE_COUNT

static const u32 rtl8180_rates[] =;

static const long ieee80211_wlan_frequencies[] =;

void r8712_indicate_wx_assoc_event(struct _adapter *padapter)
{}

void r8712_indicate_wx_disassoc_event(struct _adapter *padapter)
{}

static inline void handle_pairwise_key(struct sta_info *psta,
				       struct ieee_param *param,
				       struct _adapter *padapter)
{}

static inline void handle_group_key(struct ieee_param *param,
				    struct _adapter *padapter)
{}

static noinline_for_stack char *translate_scan_wpa(struct iw_request_info *info,
						   struct wlan_network *pnetwork,
						   struct iw_event *iwe,
						   char *start, char *stop)
{}

static noinline_for_stack char *translate_scan_wps(struct iw_request_info *info,
						   struct wlan_network *pnetwork,
						   struct iw_event *iwe,
						   char *start, char *stop)
{}

static char *translate_scan(struct _adapter *padapter,
			    struct iw_request_info *info,
			    struct wlan_network *pnetwork,
			    char *start, char *stop)
{}

static int wpa_set_auth_algs(struct net_device *dev, u32 value)
{}

static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
			      u32 param_len)
{}

static int r871x_set_wpa_ie(struct _adapter *padapter, char *pie,
			    unsigned short ielen)
{}

static int r8711_wx_get_name(struct net_device *dev, struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static const long frequency_list[] =;

static int r8711_wx_set_freq(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_freq(struct net_device *dev, struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_set_mode(struct net_device *dev,
			     struct iw_request_info *a,
			     union iwreq_data *wrqu, char *b)
{}

static int r8711_wx_get_mode(struct net_device *dev, struct iw_request_info *a,
			     union iwreq_data *wrqu, char *b)
{}

static int r871x_wx_set_pmkid(struct net_device *dev, struct iw_request_info *a,
			      union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_sens(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_range(struct net_device *dev, struct iw_request_info *info,
			      union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_rate(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra);

static int r871x_wx_set_priv(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *awrq,
			     char *extra)
{}

/* set bssid flow
 * s1. set_802_11_infrastructure_mode()
 * s2. set_802_11_authentication_mode()
 * s3. set_802_11_encryption_mode()
 * s4. set_802_11_bssid()
 *
 * This function intends to handle the Set AP command, which specifies the
 * MAC# of a preferred Access Point.
 * Currently, the request comes via Wireless Extensions' SIOCSIWAP ioctl.
 *
 * For this operation to succeed, there is no need for the interface to be up.
 *
 */
static int r8711_wx_set_wap(struct net_device *dev, struct iw_request_info *info,
			    union iwreq_data *awrq, char *extra)
{}

static int r8711_wx_get_wap(struct net_device *dev, struct iw_request_info *info,
			    union iwreq_data *wrqu, char *extra)
{}

static int r871x_wx_set_mlme(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

/*
 *
 * This function intends to handle the Set Scan command.
 * Currently, the request comes via Wireless Extensions' SIOCSIWSCAN ioctl.
 *
 * For this operation to succeed, the interface is brought Up beforehand.
 *
 */
static int r8711_wx_set_scan(struct net_device *dev, struct iw_request_info *a,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
			     union iwreq_data *wrqu, char *extra)
{}

/* set ssid flow
 * s1. set_802_11_infrastructure_mode()
 * s2. set_802_11_authenticaion_mode()
 * s3. set_802_11_encryption_mode()
 * s4. set_802_11_ssid()
 *
 * This function intends to handle the Set ESSID command.
 * Currently, the request comes via the Wireless Extensions' SIOCSIWESSID ioctl.
 *
 * For this operation to succeed, there is no need for the interface to be Up.
 *
 */
static int r8711_wx_set_essid(struct net_device *dev, struct iw_request_info *a,
			      union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_essid(struct net_device *dev, struct iw_request_info *a,
			      union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_set_rate(struct net_device *dev, struct iw_request_info *a,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_rate(struct net_device *dev, struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_rts(struct net_device *dev, struct iw_request_info *info,
			    union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_set_frag(struct net_device *dev, struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_frag(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_get_retry(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_set_enc(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *keybuf)
{}

static int r8711_wx_get_enc(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *keybuf)
{}

static int r8711_wx_get_power(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_wx_set_gen_ie(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_wx_set_auth(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_wx_set_enc_ext(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r871x_wx_get_nick(struct net_device *dev,
			     struct iw_request_info *info,
			     union iwreq_data *wrqu, char *extra)
{}

static int r8711_wx_read32(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *keybuf)
{}

static int r8711_wx_write32(struct net_device *dev,
				 struct iw_request_info *info,
				 union iwreq_data *wrqu, char *keybuf)
{}

static int dummy(struct net_device *dev,
		struct iw_request_info *a,
		union iwreq_data *wrqu, char *b)
{}

static int r8711_drvext_hdl(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_mp_ioctl_hdl(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_get_ap_info(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_set_pid(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_set_chplan(struct net_device *dev,
				struct iw_request_info *info,
				union iwreq_data *wrqu, char *extra)
{}

static int r871x_wps_start(struct net_device *dev,
			   struct iw_request_info *info,
			   union iwreq_data *wrqu, char *extra)
{}

static int wpa_set_param(struct net_device *dev, u8 name, u32 value)
{}

static int wpa_mlme(struct net_device *dev, u32 command, u32 reason)
{}

static int wpa_supplicant_ioctl(struct net_device *dev, struct iw_point *p)
{}

/* based on "driver_ipw" and for hostapd */
int r871x_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{}

static iw_handler r8711_handlers[] =;

static const struct iw_priv_args r8711_private_args[] =;

static iw_handler r8711_private_handler[] =;

static struct iw_statistics *r871x_get_wireless_stats(struct net_device *dev)
{}

struct iw_handler_def r871x_handlers_def =;