⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavelan_cs.p.h

📁 h内核
💻 H
📖 第 1 页 / 共 3 页
字号:
 *	- kill watchdog in hw_reset *	- more 2.1 support (copy_to/from_user instead of memcpy_to/fromfs) *	- Add message level (debug stuff in /var/adm/debug & errors not *	  displayed at console and still in /var/adm/messages) * * Changes made in fourth release : * ------------------------------ *	- multicast support (yes !) thanks to Yongguang Zhang. * * Changes made in fifth release (2.9.0) : * ------------------------------------- *	- Revisited multicast code (it was mostly wrong). *	- protect code in wv_82593_reconfig with dev->tbusy (oups !) * * Changes made in sixth release (2.9.1a) : * -------------------------------------- *	- Change the detection code for multi manufacturer code support *	- Correct bug (hang kernel) in init when we were "rejecting" a card  * * Changes made in seventh release (2.9.1b) : * ---------------------------------------- *	- Update to wireless extensions changes *	- Silly bug in card initial configuration (psa_conf_status) * * Changes made in eigth release : * ----------------------------- *	- Small bug in debug code (probably not the last one...) *	- 1.2.13 support (thanks to Clark Woodworth) * * Changes made for release in 2.9.2b : * ---------------------------------- *	- Level threshold is now a standard wireless extension (version 4 !) *	- modules parameters types for kernel > 2.1.17 *	- updated man page *	- Others cleanup from David Hinds * * Changes made for release in 2.9.5 : * --------------------------------- *	- byte count stats (courtesy of David Hinds) *	- Remove dev_tint stuff (courtesy of David Hinds) *	- Others cleanup from David Hinds *	- Encryption setting from Brent Elphick (thanks a lot !) *	- 'base' to 'u_long' for the Alpha (thanks to Stanislav Sinyagin) * * Changes made for release in 2.9.6 : * --------------------------------- *	- fix bug : no longuer disable watchdog in case of bogus interrupt *	- increase timeout in config code for picky hardware *	- mask unused bits in status (Wireless Extensions) * * Changes integrated by Justin Seger <jseger@MIT.EDU> & David Hinds : * ----------------------------------------------------------------- *	- Roaming "hack" from Joe Finney <joe@comp.lancs.ac.uk> *	- PSA CRC code from Bob Gray <rgray@bald.cs.dartmouth.edu> *	- Better initialisation of the i82593 controller *	  from Joseph K. O'Sullivan <josullvn+@cs.cmu.edu> * * Changes made for release in 3.0.10 : * ---------------------------------- *	- Fix eject "hang" of the driver under 2.2.X : *		o create wv_flush_stale_links() *		o Rename wavelan_release to wv_pcmcia_release & move up *		o move unregister_netdev to wavelan_detach() *		o wavelan_release() no longer call wavelan_detach() *		o Suppress "release" timer *		o Other cleanups & fixes *	- New MAC address in the probe *	- Reorg PSA_CRC code (endian neutral & cleaner) *	- Correct initialisation of the i82593 from Lucent manual *	- Put back the watchdog, with larger timeout *	- TRANSMIT_NO_CRC is a "normal" error, so recover from it *	  from Derrick J Brashear <shadow@dementia.org> *	- Better handling of TX and RX normal failure conditions *	- #ifdef out all the roaming code *	- Add ESSID & "AP current address" ioctl stubs *	- General cleanup of the code * * Changes made for release in 3.0.13 : * ---------------------------------- *	- Re-enable compilation of roaming code by default, but with *	  do_roaming = 0 *	- Nuke `nwid=nwid^ntohs(beacon->domain_id)' in wl_roam_gather *	  at the demand of John Carol Langford <jcl@gs176.sp.cs.cmu.edu> *	- Introduced WAVELAN_ROAMING_EXT for incomplete ESSID stuff. * * Changes made for release in 3.0.15 : * ---------------------------------- *	- Change e-mail and web page addresses *	- Watchdog timer is now correctly expressed in HZ, not in jiffies *	- Add channel number to the list of frequencies in range *	- Add the (short) list of bit-rates in range *	- Developp a new sensitivity... (sens.value & sens.fixed) * * Changes made for release in 3.1.2 : * --------------------------------- *	- Fix check for root permission (break instead of exit) *	- New nwid & encoding setting (Wireless Extension 9) * * Changes made for release in 3.1.12 : * ---------------------------------- *	- reworked wv_82593_cmd to avoid using the IRQ handler and doing *	  ugly things with interrupts. *	- Add IRQ protection in 82593_config/ru_start/ru_stop/watchdog *	- Update to new network API (softnet - 2.3.43) : *		o replace dev->tbusy (David + me) *		o replace dev->tstart (David + me) *		o remove dev->interrupt (David) *		o add SMP locking via spinlock in splxx (me) *		o add spinlock in interrupt handler (me) *		o use kernel watchdog instead of ours (me) *		o verify that all the changes make sense and work (me) *	- Re-sync kernel/pcmcia versions (not much actually) *	- A few other cleanups (David & me)... * * Changes made for release in 3.1.22 : * ---------------------------------- *	- Check that SMP works, remove annoying log message * * Changes made for release in 3.1.24 : * ---------------------------------- *	- Fix unfrequent card lockup when watchdog was reseting the hardware : *		o control first busy loop in wv_82593_cmd() *		o Extend spinlock protection in wv_hw_config() * * Changes made for release in 3.1.33 : * ---------------------------------- *	- Optional use new driver API for Wireless Extensions : *		o got rid of wavelan_ioctl() *		o use a bunch of iw_handler instead * * Changes made for release in 3.2.1 : * --------------------------------- *	- Set dev->trans_start to avoid filling the logs *		(and generating useless abort commands) *	- Avoid deadlocks in mmc_out()/mmc_in() * * Wishes & dreams: * ---------------- *	- Cleanup and integrate the roaming code *	  (std debug, set DomainID, decay avg and co...) *//***************************** INCLUDES *****************************//* Linux headers that we need */#include <linux/config.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/sched.h>#include <linux/ptrace.h>#include <linux/slab.h>#include <linux/string.h>#include <linux/timer.h>#include <linux/interrupt.h>#include <linux/spinlock.h>#include <linux/in.h>#include <linux/delay.h>#include <linux/bitops.h>#include <asm/uaccess.h>#include <asm/io.h>#include <asm/system.h>#include <linux/netdevice.h>#include <linux/etherdevice.h>#include <linux/skbuff.h>#include <linux/if_arp.h>#include <linux/ioport.h>#include <linux/fcntl.h>#include <linux/ethtool.h>#ifdef CONFIG_NET_RADIO#include <linux/wireless.h>		/* Wireless extensions */#include <net/iw_handler.h>		/* New driver API */#endif/* Pcmcia headers that we need */#include <pcmcia/cs_types.h>#include <pcmcia/cs.h>#include <pcmcia/cistpl.h>#include <pcmcia/cisreg.h>#include <pcmcia/ds.h>#include <pcmcia/version.h>/* Wavelan declarations */#include "i82593.h"	/* Definitions for the Intel chip */#include "wavelan_cs.h"	/* Others bits of the hardware *//************************** DRIVER OPTIONS **************************//* * `#define' or `#undef' the following constant to change the behaviour * of the driver... */#define WAVELAN_ROAMING		/* Include experimental roaming code */#undef WAVELAN_ROAMING_EXT	/* Enable roaming wireless extensions */#undef SET_PSA_CRC		/* Set the CRC in PSA (slower) */#define USE_PSA_CONFIG		/* Use info from the PSA */#undef STRUCT_CHECK		/* Verify padding of structures */#undef EEPROM_IS_PROTECTED	/* Doesn't seem to be necessary */#define MULTICAST_AVOID		/* Avoid extra multicast (I'm sceptical) */#undef SET_MAC_ADDRESS		/* Experimental */#ifdef WIRELESS_EXT	/* If wireless extension exist in the kernel *//* Warning : these stuff will slow down the driver... */#define WIRELESS_SPY		/* Enable spying addresses */#undef HISTOGRAM		/* Enable histogram of sig level... */#endif/****************************** DEBUG ******************************/#undef DEBUG_MODULE_TRACE	/* Module insertion/removal */#undef DEBUG_CALLBACK_TRACE	/* Calls made by Linux */#undef DEBUG_INTERRUPT_TRACE	/* Calls to handler */#undef DEBUG_INTERRUPT_INFO	/* type of interrupt & so on */#define DEBUG_INTERRUPT_ERROR	/* problems */#undef DEBUG_CONFIG_TRACE	/* Trace the config functions */#undef DEBUG_CONFIG_INFO	/* What's going on... */#define DEBUG_CONFIG_ERRORS	/* Errors on configuration */#undef DEBUG_TX_TRACE		/* Transmission calls */#undef DEBUG_TX_INFO		/* Header of the transmitted packet */#undef DEBUG_TX_FAIL		/* Normal failure conditions */#define DEBUG_TX_ERROR		/* Unexpected conditions */#undef DEBUG_RX_TRACE		/* Transmission calls */#undef DEBUG_RX_INFO		/* Header of the transmitted packet */#undef DEBUG_RX_FAIL		/* Normal failure conditions */#define DEBUG_RX_ERROR		/* Unexpected conditions */#undef DEBUG_PACKET_DUMP	/* Dump packet on the screen */#undef DEBUG_IOCTL_TRACE	/* Misc call by Linux */#undef DEBUG_IOCTL_INFO		/* Various debug info */#define DEBUG_IOCTL_ERROR	/* What's going wrong */#define DEBUG_BASIC_SHOW	/* Show basic startup info */#undef DEBUG_VERSION_SHOW	/* Print version info */#undef DEBUG_PSA_SHOW		/* Dump psa to screen */#undef DEBUG_MMC_SHOW		/* Dump mmc to screen */#undef DEBUG_SHOW_UNUSED	/* Show also unused fields */#undef DEBUG_I82593_SHOW	/* Show i82593 status */#undef DEBUG_DEVICE_SHOW	/* Show device parameters *//************************ CONSTANTS & MACROS ************************/#ifdef DEBUG_VERSION_SHOWstatic const char *version = "wavelan_cs.c : v24 (SMP + wireless extensions) 11/1/02\n";#endif/* Watchdog temporisation */#define	WATCHDOG_JIFFIES	(256*HZ/100)/* Fix a bug in some old wireless extension definitions */#ifndef IW_ESSID_MAX_SIZE#define IW_ESSID_MAX_SIZE	32#endif/* ------------------------ PRIVATE IOCTL ------------------------ */#define SIOCSIPQTHR	SIOCIWFIRSTPRIV		/* Set quality threshold */#define SIOCGIPQTHR	SIOCIWFIRSTPRIV + 1	/* Get quality threshold */#define SIOCSIPROAM     SIOCIWFIRSTPRIV + 2	/* Set roaming state */#define SIOCGIPROAM     SIOCIWFIRSTPRIV + 3	/* Get roaming state */#define SIOCSIPHISTO	SIOCIWFIRSTPRIV + 4	/* Set histogram ranges */#define SIOCGIPHISTO	SIOCIWFIRSTPRIV + 5	/* Get histogram values *//*************************** WaveLAN Roaming  **************************/#ifdef WAVELAN_ROAMING		/* Conditional compile, see above in options */#define WAVELAN_ROAMING_DEBUG	 0	/* 1 = Trace of handover decisions */					/* 2 = Info on each beacon rcvd... */#define MAX_WAVEPOINTS		7	/* Max visible at one time */#define WAVEPOINT_HISTORY	5	/* SNR sample history slow search */#define WAVEPOINT_FAST_HISTORY	2	/* SNR sample history fast search */#define SEARCH_THRESH_LOW	10	/* SNR to enter cell search */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -