Author | Tokens | Token Proportion | Commits | Commit Proportion |
---|---|---|---|---|
Greg Kroah-Hartman | 577 | 82.66% | 1 | 5.56% |
Solomon Peachy | 60 | 8.60% | 1 | 5.56% |
sayli karnik | 19 | 2.72% | 1 | 5.56% |
Sergio Paracuellos | 13 | 1.86% | 5 | 27.78% |
Moritz Mühlenhoff | 12 | 1.72% | 4 | 22.22% |
Karl Relton | 9 | 1.29% | 1 | 5.56% |
Edgardo Hames | 6 | 0.86% | 3 | 16.67% |
Devendra Naga | 1 | 0.14% | 1 | 5.56% |
Tim Collier | 1 | 0.14% | 1 | 5.56% |
Total | 698 | 18 |
/* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */ /* p80211netdev.h * * WLAN net device structure and functions * * Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. * -------------------------------------------------------------------- * * linux-wlan * * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * Alternatively, the contents of this file may be used under the * terms of the GNU Public License version 2 (the "GPL"), in which * case the provisions of the GPL are applicable instead of the * above. If you wish to allow the use of your version of this file * only under the terms of the GPL and not to allow others to use * your version of this file under the MPL, indicate your decision * by deleting the provisions above and replace them with the notice * and other provisions required by the GPL. If you do not delete * the provisions above, a recipient may use your version of this * file under either the MPL or the GPL. * * -------------------------------------------------------------------- * * 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; }; /* called by /proc/net/wireless */ struct iw_statistics *p80211wext_get_wireless_stats(struct net_device *dev); /* wireless extensions' ioctls */ extern struct iw_handler_def p80211wext_handler_def; /* 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, union 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_unsetup(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
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with Cregit http://github.com/cregit/cregit
Version 2.0-RC1