diff options
Diffstat (limited to 'drivers/staging/wlan-ng/p80211netdev.h')
-rw-r--r-- | drivers/staging/wlan-ng/p80211netdev.h | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/drivers/staging/wlan-ng/p80211netdev.h b/drivers/staging/wlan-ng/p80211netdev.h deleted file mode 100644 index e3eefb67aae1..000000000000 --- a/drivers/staging/wlan-ng/p80211netdev.h +++ /dev/null @@ -1,212 +0,0 @@ -/* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */ -/* - * - * WLAN net device structure and functions - * - * Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. - * -------------------------------------------------------------------- - * - * linux-wlan - * - * -------------------------------------------------------------------- - * - * Inquiries regarding the linux-wlan Open Source project can be - * made directly to: - * - * AbsoluteValue Systems Inc. - * info@linux-wlan.com - * http://www.linux-wlan.com - * - * -------------------------------------------------------------------- - * - * Portions of the development of this software were funded by - * Intersil Corporation as part of PRISM(R) chipset product development. - * - * -------------------------------------------------------------------- - * - * This file declares the structure type that represents each wlan - * interface. - * - * -------------------------------------------------------------------- - */ - -#ifndef _LINUX_P80211NETDEV_H -#define _LINUX_P80211NETDEV_H - -#include <linux/interrupt.h> -#include <linux/wireless.h> -#include <linux/netdevice.h> - -#define WLAN_RELEASE "0.3.0-staging" - -#define WLAN_DEVICE_CLOSED 0 -#define WLAN_DEVICE_OPEN 1 - -#define WLAN_MACMODE_NONE 0 -#define WLAN_MACMODE_IBSS_STA 1 -#define WLAN_MACMODE_ESS_STA 2 -#define WLAN_MACMODE_ESS_AP 3 - -/* MSD States */ -#define WLAN_MSD_HWPRESENT_PENDING 1 -#define WLAN_MSD_HWFAIL 2 -#define WLAN_MSD_HWPRESENT 3 -#define WLAN_MSD_FWLOAD_PENDING 4 -#define WLAN_MSD_FWLOAD 5 -#define WLAN_MSD_RUNNING_PENDING 6 -#define WLAN_MSD_RUNNING 7 - -#ifndef ETH_P_ECONET -#define ETH_P_ECONET 0x0018 /* needed for 2.2.x kernels */ -#endif - -#define ETH_P_80211_RAW (ETH_P_ECONET + 1) - -#ifndef ARPHRD_IEEE80211 -#define ARPHRD_IEEE80211 801 /* kernel 2.4.6 */ -#endif - -#ifndef ARPHRD_IEEE80211_PRISM /* kernel 2.4.18 */ -#define ARPHRD_IEEE80211_PRISM 802 -#endif - -/*--- NSD Capabilities Flags ------------------------------*/ -#define P80211_NSDCAP_HARDWAREWEP 0x01 /* hardware wep engine */ -#define P80211_NSDCAP_SHORT_PREAMBLE 0x10 /* hardware supports */ -#define P80211_NSDCAP_HWFRAGMENT 0x80 /* nsd handles frag/defrag */ -#define P80211_NSDCAP_AUTOJOIN 0x100 /* nsd does autojoin */ -#define P80211_NSDCAP_NOSCAN 0x200 /* nsd can scan */ - -/* Received frame statistics */ -struct p80211_frmrx { - u32 mgmt; - u32 assocreq; - u32 assocresp; - u32 reassocreq; - u32 reassocresp; - u32 probereq; - u32 proberesp; - u32 beacon; - u32 atim; - u32 disassoc; - u32 authen; - u32 deauthen; - u32 mgmt_unknown; - u32 ctl; - u32 pspoll; - u32 rts; - u32 cts; - u32 ack; - u32 cfend; - u32 cfendcfack; - u32 ctl_unknown; - u32 data; - u32 dataonly; - u32 data_cfack; - u32 data_cfpoll; - u32 data__cfack_cfpoll; - u32 null; - u32 cfack; - u32 cfpoll; - u32 cfack_cfpoll; - u32 data_unknown; - u32 decrypt; - u32 decrypt_err; -}; - -/* WEP stuff */ -#define NUM_WEPKEYS 4 -#define MAX_KEYLEN 32 - -#define HOSTWEP_DEFAULTKEY_MASK GENMASK(1, 0) -#define HOSTWEP_SHAREDKEY BIT(3) -#define HOSTWEP_DECRYPT BIT(4) -#define HOSTWEP_ENCRYPT BIT(5) -#define HOSTWEP_PRIVACYINVOKED BIT(6) -#define HOSTWEP_EXCLUDEUNENCRYPTED BIT(7) - -extern int wlan_watchdog; -extern int wlan_wext_write; - -/* WLAN device type */ -struct wlandevice { - void *priv; /* private data for MSD */ - - /* Subsystem State */ - char name[WLAN_DEVNAMELEN_MAX]; /* Dev name, from register_wlandev() */ - char *nsdname; - - u32 state; /* Device I/F state (open/closed) */ - u32 msdstate; /* state of underlying driver */ - u32 hwremoved; /* Has the hw been yanked out? */ - - /* Hardware config */ - unsigned int irq; - unsigned int iobase; - unsigned int membase; - u32 nsdcaps; /* NSD Capabilities flags */ - - /* Config vars */ - unsigned int ethconv; - - /* device methods (init by MSD, used by p80211 */ - int (*open)(struct wlandevice *wlandev); - int (*close)(struct wlandevice *wlandev); - void (*reset)(struct wlandevice *wlandev); - int (*txframe)(struct wlandevice *wlandev, struct sk_buff *skb, - struct p80211_hdr *p80211_hdr, - struct p80211_metawep *p80211_wep); - int (*mlmerequest)(struct wlandevice *wlandev, struct p80211msg *msg); - int (*set_multicast_list)(struct wlandevice *wlandev, - struct net_device *dev); - void (*tx_timeout)(struct wlandevice *wlandev); - - /* 802.11 State */ - u8 bssid[WLAN_BSSID_LEN]; - struct p80211pstr32 ssid; - u32 macmode; - int linkstatus; - - /* WEP State */ - u8 wep_keys[NUM_WEPKEYS][MAX_KEYLEN]; - u8 wep_keylens[NUM_WEPKEYS]; - int hostwep; - - /* Request/Confirm i/f state (used by p80211) */ - unsigned long request_pending; /* flag, access atomically */ - - /* netlink socket */ - /* queue for indications waiting for cmd completion */ - /* Linux netdevice and support */ - struct net_device *netdev; /* ptr to linux netdevice */ - - /* Rx bottom half */ - struct tasklet_struct rx_bh; - - struct sk_buff_head nsd_rxq; - - /* 802.11 device statistics */ - struct p80211_frmrx rx; - - struct iw_statistics wstats; - - /* jkriegl: iwspy fields */ - u8 spy_number; - char spy_address[IW_MAX_SPY][ETH_ALEN]; - struct iw_quality spy_stat[IW_MAX_SPY]; -}; - -/* WEP stuff */ -int wep_change_key(struct wlandevice *wlandev, int keynum, u8 *key, int keylen); -int wep_decrypt(struct wlandevice *wlandev, u8 *buf, u32 len, int key_override, - u8 *iv, u8 *icv); -int wep_encrypt(struct wlandevice *wlandev, u8 *buf, u8 *dst, u32 len, - int keynum, u8 *iv, u8 *icv); - -int wlan_setup(struct wlandevice *wlandev, struct device *physdev); -void wlan_teardown(struct wlandevice *wlandev); -int register_wlandev(struct wlandevice *wlandev); -int unregister_wlandev(struct wlandevice *wlandev); -void p80211netdev_rx(struct wlandevice *wlandev, struct sk_buff *skb); -void p80211netdev_hwremoved(struct wlandevice *wlandev); -#endif |