Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
airo.c File Reference
#include <linux/err.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/proc_fs.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/in.h>
#include <linux/bitops.h>
#include <linux/scatterlist.h>
#include <linux/crypto.h>
#include <asm/io.h>
#include <asm/unaligned.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <asm/uaccess.h>
#include <linux/kthread.h>
#include <linux/freezer.h>
#include <linux/ieee80211.h>
#include <net/iw_handler.h>
#include "airo.h"
#include <linux/wireless.h>
#include <linux/delay.h>

Go to the source code of this file.

Data Structures

struct  Cmd
 
struct  Resp
 
struct  WepKeyRid
 
struct  Ssid
 
struct  SsidRid
 
struct  ModulationRid
 
struct  ConfigRid
 
struct  StatusRid
 
struct  StatsRid
 
struct  APListRid
 
struct  CapabilityRid
 
struct  BSSListRidExtra
 
struct  BSSListRid
 
struct  BSSListElement
 
struct  tdsRssiEntry
 
struct  tdsRssiRid
 
struct  MICRid
 
struct  MICBuffer
 
struct  etherHead
 
struct  aironet_ioctl
 
struct  mic_statistics
 
struct  emmh32_context
 
struct  miccntx
 
struct  mic_module
 
struct  Rid
 
struct  TxFid
 
struct  rx_hdr
 
struct  RxFid
 
struct  HostRxDesc
 
struct  HostTxDesc
 
struct  HostRidDesc
 
struct  TxCtlHdr
 
struct  WifiHdr
 
struct  WifiCtlHdr
 
struct  wep_key_t
 
struct  airo_info
 
struct  proc_data
 

Macros

#define DRV_NAME   "airo"
 
#define WIRELESS_SPY   /* enable iwspy support */
 
#define CISCO_EXT   /* enable Cisco extensions */
 
#define POWER_ON_DOWN
 
#define IGNLABEL(comment)   NULL
 
#define RUN_AT(x)   (jiffies+(x))
 
#define SUCCESS   0
 
#define ERROR   -1
 
#define NO_PACKET   -2
 
#define NOP2   0x0000
 
#define MAC_ENABLE   0x0001
 
#define MAC_DISABLE   0x0002
 
#define CMD_LOSE_SYNC   0x0003 /* Not sure what this does... */
 
#define CMD_SOFTRESET   0x0004
 
#define HOSTSLEEP   0x0005
 
#define CMD_MAGIC_PKT   0x0006
 
#define CMD_SETWAKEMASK   0x0007
 
#define CMD_READCFG   0x0008
 
#define CMD_SETMODE   0x0009
 
#define CMD_ALLOCATETX   0x000a
 
#define CMD_TRANSMIT   0x000b
 
#define CMD_DEALLOCATETX   0x000c
 
#define NOP   0x0010
 
#define CMD_WORKAROUND   0x0011
 
#define CMD_ALLOCATEAUX   0x0020
 
#define CMD_ACCESS   0x0021
 
#define CMD_PCIBAP   0x0022
 
#define CMD_PCIAUX   0x0023
 
#define CMD_ALLOCBUF   0x0028
 
#define CMD_GETTLV   0x0029
 
#define CMD_PUTTLV   0x002a
 
#define CMD_DELTLV   0x002b
 
#define CMD_FINDNEXTTLV   0x002c
 
#define CMD_PSPNODES   0x0030
 
#define CMD_SETCW   0x0031
 
#define CMD_SETPCF   0x0032
 
#define CMD_SETPHYREG   0x003e
 
#define CMD_TXTEST   0x003f
 
#define MAC_ENABLETX   0x0101
 
#define CMD_LISTBSS   0x0103
 
#define CMD_SAVECFG   0x0108
 
#define CMD_ENABLEAUX   0x0111
 
#define CMD_WRITERID   0x0121
 
#define CMD_USEPSPNODES   0x0130
 
#define MAC_ENABLERX   0x0201
 
#define ERROR_QUALIF   0x00
 
#define ERROR_ILLCMD   0x01
 
#define ERROR_ILLFMT   0x02
 
#define ERROR_INVFID   0x03
 
#define ERROR_INVRID   0x04
 
#define ERROR_LARGE   0x05
 
#define ERROR_NDISABL   0x06
 
#define ERROR_ALLOCBSY   0x07
 
#define ERROR_NORD   0x0B
 
#define ERROR_NOWR   0x0C
 
#define ERROR_INVFIDTX   0x0D
 
#define ERROR_TESTACT   0x0E
 
#define ERROR_TAGNFND   0x12
 
#define ERROR_DECODE   0x20
 
#define ERROR_DESCUNAV   0x21
 
#define ERROR_BADLEN   0x22
 
#define ERROR_MODE   0x80
 
#define ERROR_HOP   0x81
 
#define ERROR_BINTER   0x82
 
#define ERROR_RXMODE   0x83
 
#define ERROR_MACADDR   0x84
 
#define ERROR_RATES   0x85
 
#define ERROR_ORDER   0x86
 
#define ERROR_SCAN   0x87
 
#define ERROR_AUTH   0x88
 
#define ERROR_PSMODE   0x89
 
#define ERROR_RTYPE   0x8A
 
#define ERROR_DIVER   0x8B
 
#define ERROR_SSID   0x8C
 
#define ERROR_APLIST   0x8D
 
#define ERROR_AUTOWAKE   0x8E
 
#define ERROR_LEAP   0x8F
 
#define COMMAND   0x00
 
#define PARAM0   0x02
 
#define PARAM1   0x04
 
#define PARAM2   0x06
 
#define STATUS   0x08
 
#define RESP0   0x0a
 
#define RESP1   0x0c
 
#define RESP2   0x0e
 
#define LINKSTAT   0x10
 
#define SELECT0   0x18
 
#define OFFSET0   0x1c
 
#define RXFID   0x20
 
#define TXALLOCFID   0x22
 
#define TXCOMPLFID   0x24
 
#define DATA0   0x36
 
#define EVSTAT   0x30
 
#define EVINTEN   0x32
 
#define EVACK   0x34
 
#define SWS0   0x28
 
#define SWS1   0x2a
 
#define SWS2   0x2c
 
#define SWS3   0x2e
 
#define AUXPAGE   0x3A
 
#define AUXOFF   0x3C
 
#define AUXDATA   0x3E
 
#define FID_TX   1
 
#define FID_RX   2
 
#define AUX_OFFSET   0x800
 
#define PKTSIZE   1840
 
#define RIDSIZE   2048
 
#define MAXTXQ   64
 
#define BAP0   0 /* Used for receiving packets */
 
#define BAP1   2 /* Used for xmiting packets and working with RIDS */
 
#define COMMAND_BUSY   0x8000
 
#define BAP_BUSY   0x8000
 
#define BAP_ERR   0x4000
 
#define BAP_DONE   0x2000
 
#define PROMISC   0xffff
 
#define NOPROMISC   0x0000
 
#define EV_CMD   0x10
 
#define EV_CLEARCOMMANDBUSY   0x4000
 
#define EV_RX   0x01
 
#define EV_TX   0x02
 
#define EV_TXEXC   0x04
 
#define EV_ALLOC   0x08
 
#define EV_LINK   0x80
 
#define EV_AWAKE   0x100
 
#define EV_TXCPY   0x400
 
#define EV_UNKNOWN   0x800
 
#define EV_MIC   0x1000 /* Message Integrity Check Interrupt */
 
#define EV_AWAKEN   0x2000
 
#define STATUS_INTS   (EV_AWAKE|EV_LINK|EV_TXEXC|EV_TX|EV_TXCPY|EV_RX|EV_MIC)
 
#define IGNORE_INTS   (~STATUS_INTS)
 
#define RID_RW   0x20
 
#define RID_CAPABILITIES   0xFF00
 
#define RID_APINFO   0xFF01
 
#define RID_RADIOINFO   0xFF02
 
#define RID_UNKNOWN3   0xFF03
 
#define RID_RSSI   0xFF04
 
#define RID_CONFIG   0xFF10
 
#define RID_SSID   0xFF11
 
#define RID_APLIST   0xFF12
 
#define RID_DRVNAME   0xFF13
 
#define RID_ETHERENCAP   0xFF14
 
#define RID_WEP_TEMP   0xFF15
 
#define RID_WEP_PERM   0xFF16
 
#define RID_MODULATION   0xFF17
 
#define RID_OPTIONS   0xFF18
 
#define RID_ACTUALCONFIG   0xFF20 /*readonly*/
 
#define RID_FACTORYCONFIG   0xFF21
 
#define RID_UNKNOWN22   0xFF22
 
#define RID_LEAPUSERNAME   0xFF23
 
#define RID_LEAPPASSWORD   0xFF24
 
#define RID_STATUS   0xFF50
 
#define RID_BEACON_HST   0xFF51
 
#define RID_BUSY_HST   0xFF52
 
#define RID_RETRIES_HST   0xFF53
 
#define RID_UNKNOWN54   0xFF54
 
#define RID_UNKNOWN55   0xFF55
 
#define RID_UNKNOWN56   0xFF56
 
#define RID_MIC   0xFF57
 
#define RID_STATS16   0xFF60
 
#define RID_STATS16DELTA   0xFF61
 
#define RID_STATS16DELTACLEAR   0xFF62
 
#define RID_STATS   0xFF68
 
#define RID_STATSDELTA   0xFF69
 
#define RID_STATSDELTACLEAR   0xFF6A
 
#define RID_ECHOTEST_RID   0xFF70
 
#define RID_ECHOTEST_RESULTS   0xFF71
 
#define RID_BSSLISTFIRST   0xFF72
 
#define RID_BSSLISTNEXT   0xFF73
 
#define RID_WPA_BSSLISTFIRST   0xFF74
 
#define RID_WPA_BSSLISTNEXT   0xFF75
 
#define MOD_DEFAULT   cpu_to_le16(0)
 
#define MOD_CCK   cpu_to_le16(1)
 
#define MOD_MOK   cpu_to_le16(2)
 
#define MODE_STA_IBSS   cpu_to_le16(0)
 
#define MODE_STA_ESS   cpu_to_le16(1)
 
#define MODE_AP   cpu_to_le16(2)
 
#define MODE_AP_RPTR   cpu_to_le16(3)
 
#define MODE_CFG_MASK   cpu_to_le16(0xff)
 
#define MODE_ETHERNET_HOST   cpu_to_le16(0<<8) /* rx payloads converted */
 
#define MODE_LLC_HOST   cpu_to_le16(1<<8) /* rx payloads left as is */
 
#define MODE_AIRONET_EXTEND   cpu_to_le16(1<<9) /* enable Aironet extenstions */
 
#define MODE_AP_INTERFACE   cpu_to_le16(1<<10) /* enable ap interface extensions */
 
#define MODE_ANTENNA_ALIGN   cpu_to_le16(1<<11) /* enable antenna alignment */
 
#define MODE_ETHER_LLC   cpu_to_le16(1<<12) /* enable ethernet LLC */
 
#define MODE_LEAF_NODE   cpu_to_le16(1<<13) /* enable leaf node bridge */
 
#define MODE_CF_POLLABLE   cpu_to_le16(1<<14) /* enable CF pollable */
 
#define MODE_MIC   cpu_to_le16(1<<15) /* enable MIC */
 
#define RXMODE_BC_MC_ADDR   cpu_to_le16(0)
 
#define RXMODE_BC_ADDR   cpu_to_le16(1) /* ignore multicasts */
 
#define RXMODE_ADDR   cpu_to_le16(2) /* ignore multicast and broadcast */
 
#define RXMODE_RFMON   cpu_to_le16(3) /* wireless monitor mode */
 
#define RXMODE_RFMON_ANYBSS   cpu_to_le16(4)
 
#define RXMODE_LANMON   cpu_to_le16(5) /* lan style monitor -- data packets only */
 
#define RXMODE_MASK   cpu_to_le16(255)
 
#define RXMODE_DISABLE_802_3_HEADER   cpu_to_le16(1<<8) /* disables 802.3 header on rx */
 
#define RXMODE_FULL_MASK   (RXMODE_MASK | RXMODE_DISABLE_802_3_HEADER)
 
#define RXMODE_NORMALIZED_RSSI   cpu_to_le16(1<<9) /* return normalized RSSI */
 
#define SCANMODE_ACTIVE   cpu_to_le16(0)
 
#define SCANMODE_PASSIVE   cpu_to_le16(1)
 
#define SCANMODE_AIROSCAN   cpu_to_le16(2)
 
#define AUTH_OPEN   cpu_to_le16(0x1)
 
#define AUTH_ENCRYPT   cpu_to_le16(0x101)
 
#define AUTH_SHAREDKEY   cpu_to_le16(0x102)
 
#define AUTH_ALLOW_UNENCRYPTED   cpu_to_le16(0x200)
 
#define DISABLE_REFRESH   cpu_to_le16(0xFFFF)
 
#define POWERSAVE_CAM   cpu_to_le16(0)
 
#define POWERSAVE_PSP   cpu_to_le16(1)
 
#define POWERSAVE_PSPCAM   cpu_to_le16(2)
 
#define RADIOTYPE_DEFAULT   cpu_to_le16(0)
 
#define RADIOTYPE_802_11   cpu_to_le16(1)
 
#define RADIOTYPE_LEGACY   cpu_to_le16(2)
 
#define TXPOWER_DEFAULT   0
 
#define RSSI_DEFAULT   0
 
#define PREAMBLE_AUTO   cpu_to_le16(0)
 
#define PREAMBLE_LONG   cpu_to_le16(1)
 
#define PREAMBLE_SHORT   cpu_to_le16(2)
 
#define MAGIC_ACTION_STSCHG   1
 
#define MAGIC_ACTION_RESUME   2
 
#define MAGIC_IGNORE_MCAST   (1<<8)
 
#define MAGIC_IGNORE_BCAST   (1<<9)
 
#define MAGIC_SWITCH_TO_PSP   (0<<10)
 
#define MAGIC_STAY_IN_CAM   (1<<10)
 
#define STAT_NOPACKETS   0
 
#define STAT_NOCARRIERSET   10
 
#define STAT_GOTCARRIERSET   11
 
#define STAT_WRONGSSID   20
 
#define STAT_BADCHANNEL   25
 
#define STAT_BADBITRATES   30
 
#define STAT_BADPRIVACY   35
 
#define STAT_APFOUND   40
 
#define STAT_APREJECTED   50
 
#define STAT_AUTHENTICATING   60
 
#define STAT_DEAUTHENTICATED   61
 
#define STAT_AUTHTIMEOUT   62
 
#define STAT_ASSOCIATING   70
 
#define STAT_DEASSOCIATED   71
 
#define STAT_ASSOCTIMEOUT   72
 
#define STAT_NOTAIROAP   73
 
#define STAT_ASSOCIATED   80
 
#define STAT_LEAPING   90
 
#define STAT_LEAPFAILED   91
 
#define STAT_LEAPTIMEDOUT   92
 
#define STAT_LEAPCOMPLETE   93
 
#define RADIO_FH   1 /* Frequency hopping radio type */
 
#define RADIO_DS   2 /* Direct sequence radio type */
 
#define RADIO_TMA   4 /* Proprietary radio used in old cards (2500) */
 
#define CAP_ESS   cpu_to_le16(1<<0)
 
#define CAP_IBSS   cpu_to_le16(1<<1)
 
#define CAP_PRIVACY   cpu_to_le16(1<<4)
 
#define CAP_SHORTHDR   cpu_to_le16(1<<5)
 
#define TXCTL_TXOK   (1<<1) /* report if tx is ok */
 
#define TXCTL_TXEX   (1<<2) /* report if tx fails */
 
#define TXCTL_802_3   (0<<3) /* 802.3 packet */
 
#define TXCTL_802_11   (1<<3) /* 802.11 mac packet */
 
#define TXCTL_ETHERNET   (0<<4) /* payload has ethertype */
 
#define TXCTL_LLC   (1<<4) /* payload is llc */
 
#define TXCTL_RELEASE   (0<<5) /* release after completion */
 
#define TXCTL_NORELEASE   (1<<5) /* on completion returns to host */
 
#define BUSY_FID   0x10000
 
#define AIROMAGIC   0xa55a
 
#define SIOCIWFIRSTPRIV   SIOCDEVPRIVATE
 
#define AIROIOCTL   SIOCIWFIRSTPRIV
 
#define AIROIDIFC   AIROIOCTL + 1
 
#define AIROGCAP   0
 
#define AIROGCFG   1
 
#define AIROGSLIST   2
 
#define AIROGVLIST   3
 
#define AIROGDRVNAM   4
 
#define AIROGEHTENC   5
 
#define AIROGWEPKTMP   6
 
#define AIROGWEPKNV   7
 
#define AIROGSTAT   8
 
#define AIROGSTATSC32   9
 
#define AIROGSTATSD32   10
 
#define AIROGMICRID   11
 
#define AIROGMICSTATS   12
 
#define AIROGFLAGS   13
 
#define AIROGID   14
 
#define AIRORRID   15
 
#define AIRORSWVERSION   17
 
#define AIROPCAP   AIROGSTATSD32 + 40
 
#define AIROPVLIST   AIROPCAP + 1
 
#define AIROPSLIST   AIROPVLIST + 1
 
#define AIROPCFG   AIROPSLIST + 1
 
#define AIROPSIDS   AIROPCFG + 1
 
#define AIROPAPLIST   AIROPSIDS + 1
 
#define AIROPMACON   AIROPAPLIST + 1 /* Enable mac */
 
#define AIROPMACOFF   AIROPMACON + 1 /* Disable mac */
 
#define AIROPSTCLR   AIROPMACOFF + 1
 
#define AIROPWEPKEY   AIROPSTCLR + 1
 
#define AIROPWEPKEYNV   AIROPWEPKEY + 1
 
#define AIROPLEAPPWD   AIROPWEPKEYNV + 1
 
#define AIROPLEAPUSR   AIROPLEAPPWD + 1
 
#define AIROFLSHRST   AIROPWEPKEYNV + 40
 
#define AIROFLSHGCHR   AIROFLSHRST + 1
 
#define AIROFLSHSTFL   AIROFLSHGCHR + 1
 
#define AIROFLSHPCHR   AIROFLSHSTFL + 1
 
#define AIROFLPUTBUF   AIROFLSHPCHR + 1
 
#define AIRORESTART   AIROFLPUTBUF + 1
 
#define FLASHSIZE   32768
 
#define AUXMEMSIZE   (256 * 1024)
 
#define NUM_MODULES   2
 
#define MIC_MSGLEN_MAX   2400
 
#define EMMH32_MSGLEN_MAX   MIC_MSGLEN_MAX
 
#define AIRO_DEF_MTU   2312
 
#define HOST_SET   (1 << 0)
 
#define HOST_INT_TX   (1 << 1) /* Interrupt on successful TX */
 
#define HOST_INT_TXERR   (1 << 2) /* Interrupt on unseccessful TX */
 
#define HOST_LCC_PAYLOAD   (1 << 4) /* LLC payload, 0 = Ethertype */
 
#define HOST_DONT_RLSE   (1 << 5) /* Don't release buffer when done */
 
#define HOST_DONT_RETRY   (1 << 6) /* Don't retry trasmit */
 
#define HOST_CLR_AID   (1 << 7) /* clear AID failure */
 
#define HOST_RTS   (1 << 9) /* Force RTS use */
 
#define HOST_SHORT   (1 << 10) /* Do short preamble */
 
#define MAX_KEY_SIZE   13
 
#define MIN_KEY_SIZE   5
 
#define MAX_FIDS   6
 
#define MPI_MAX_FIDS   1
 
#define FLAG_RADIO_OFF   0 /* User disabling of MAC */
 
#define FLAG_RADIO_DOWN   1 /* ifup/ifdown disabling of MAC */
 
#define FLAG_RADIO_MASK   0x03
 
#define FLAG_ENABLED   2
 
#define FLAG_ADHOC   3 /* Needed by MIC */
 
#define FLAG_MIC_CAPABLE   4
 
#define FLAG_UPDATE_MULTI   5
 
#define FLAG_UPDATE_UNI   6
 
#define FLAG_802_11   7
 
#define FLAG_PROMISC   8 /* IFF_PROMISC 0x100 - include/linux/if.h */
 
#define FLAG_PENDING_XMIT   9
 
#define FLAG_PENDING_XMIT11   10
 
#define FLAG_MPI   11
 
#define FLAG_REGISTERED   12
 
#define FLAG_COMMIT   13
 
#define FLAG_RESET   14
 
#define FLAG_FLASHING   15
 
#define FLAG_WPA_CAPABLE   16
 
#define JOB_DIE   0
 
#define JOB_XMIT   1
 
#define JOB_XMIT11   2
 
#define JOB_STATS   3
 
#define JOB_PROMISC   4
 
#define JOB_MIC   5
 
#define JOB_EVENT   6
 
#define JOB_AUTOWEP   7
 
#define JOB_WSTATS   8
 
#define JOB_SCAN_RESULTS   9
 
#define PCI_SHARED_LEN   2*MPI_MAX_FIDS*PKTSIZE+RIDSIZE
 
#define airo_print(type, name, fmt, args...)   printk(type DRV_NAME "(%s): " fmt "\n", name, ##args)
 
#define airo_print_info(name, fmt, args...)   airo_print(KERN_INFO, name, fmt, ##args)
 
#define airo_print_dbg(name, fmt, args...)   airo_print(KERN_DEBUG, name, fmt, ##args)
 
#define airo_print_warn(name, fmt, args...)   airo_print(KERN_WARNING, name, fmt, ##args)
 
#define airo_print_err(name, fmt, args...)   airo_print(KERN_ERR, name, fmt, ##args)
 
#define AIRO_FLASH(dev)   (((struct airo_info *)dev->ml_priv)->flash)
 
#define MIC_ACCUM(val)   context->accum += (u64)(val) * context->coeff[coeff_position++];
 
#define AIRO_MAX_NETWORK_COUNT   64
 
#define STAT_NOBEACON   0x8000 /* Loss of sync - missed beacons */
 
#define STAT_MAXRETRIES   0x8001 /* Loss of sync - max retries */
 
#define STAT_MAXARL   0x8002 /* Loss of sync - average retry level exceeded*/
 
#define STAT_FORCELOSS   0x8003 /* Loss of sync - host request */
 
#define STAT_TSFSYNC   0x8004 /* Loss of sync - TSF synchronization */
 
#define STAT_DEAUTH   0x8100 /* low byte is 802.11 reason code */
 
#define STAT_DISASSOC   0x8200 /* low byte is 802.11 reason code */
 
#define STAT_ASSOC_FAIL   0x8400 /* low byte is 802.11 reason code */
 
#define STAT_AUTH_FAIL   0x0300 /* low byte is 802.11 reason code */
 
#define STAT_ASSOC   0x0400 /* Associated */
 
#define STAT_REASSOC   0x0600 /* Reassociated? Only on firmware >= 5.30.17 */
 
#define airo_get_max_quality(cap_rid)   (memcmp((cap_rid)->prodName, "350", 3) ? 0x20 : 0xa0)
 
#define airo_get_avg_quality(cap_rid)   (memcmp((cap_rid)->prodName, "350", 3) ? 0x10 : 0x50);
 
#define FLASH_COMMAND   0x7e7e
 

Typedefs

typedef struct WepKeyRid WepKeyRid
 
typedef struct Ssid Ssid
 
typedef struct SsidRid SsidRid
 
typedef struct ModulationRid ModulationRid
 
typedef struct ConfigRid ConfigRid
 
typedef struct StatusRid StatusRid
 
typedef struct StatsRid StatsRid
 
typedef struct APListRid APListRid
 
typedef struct CapabilityRid CapabilityRid
 
typedef struct BSSListRidExtra BSSListRidExtra
 
typedef struct BSSListRid BSSListRid
 
typedef struct tdsRssiEntry tdsRssiEntry
 
typedef struct tdsRssiRid tdsRssiRid
 
typedef struct MICRid MICRid
 
typedef struct MICBuffer MICBuffer
 
typedef struct aironet_ioctl aironet_ioctl
 
typedef struct wep_key_t wep_key_t
 

Enumerations

enum  mic_error {
  NONE, NOMIC, NOMICPLUMMED, SEQUENCE,
  INCORRECTMIC
}
 

Functions

 MODULE_AUTHOR ("Benjamin Reed")
 
 MODULE_DESCRIPTION ("Support for Cisco/Aironet 802.11 wireless ethernet cards. ""Direct support for ISA/PCI/MPI cards and support for PCMCIA when used with airo_cs.")
 
 MODULE_LICENSE ("Dual BSD/GPL")
 
 MODULE_SUPPORTED_DEVICE ("Aironet 4500, 4800 and Cisco 340/350")
 
 module_param_array (io, int, NULL, 0)
 
 module_param_array (irq, int, NULL, 0)
 
 module_param_array (rates, int, NULL, 0)
 
 module_param_array (ssids, charp, NULL, 0)
 
 module_param (auto_wep, int, 0)
 
 MODULE_PARM_DESC (auto_wep,"If non-zero, the driver will keep looping through the authentication options until an association is made. ""The value of auto_wep is number of the wep keys to check. ""A value of 2 will try using the key at index 0 and index 1.")
 
 module_param (aux_bap, int, 0)
 
 MODULE_PARM_DESC (aux_bap,"If non-zero, the driver will switch into a mode that seems to work better for older cards with some older buses. ""Before switching it checks that the switch is needed.")
 
 module_param (maxencrypt, int, 0)
 
 MODULE_PARM_DESC (maxencrypt,"The maximum speed that the card can do encryption. ""Units are in 512kbs. ""Zero (default) means there is no limit. ""Older cards used to be limited to 2mbs (4).")
 
 module_param (adhoc, int, 0)
 
 MODULE_PARM_DESC (adhoc,"If non-zero, the card will start in adhoc mode.")
 
 module_param (probe, int, 0)
 
 MODULE_PARM_DESC (probe,"If zero, the driver won't start the card.")
 
 module_param (proc_uid, int, 0)
 
 MODULE_PARM_DESC (proc_uid,"The uid that the /proc files will belong to.")
 
 module_param (proc_gid, int, 0)
 
 MODULE_PARM_DESC (proc_gid,"The gid that the /proc files will belong to.")
 
 module_param (airo_perm, int, 0)
 
 MODULE_PARM_DESC (airo_perm,"The permission bits of /proc/[driver/]aironet.")
 
 module_param (proc_perm, int, 0)
 
 MODULE_PARM_DESC (proc_perm,"The permission bits of the files in /proc")
 
void stop_airo_card (struct net_device *dev, int freeres)
 
 EXPORT_SYMBOL (stop_airo_card)
 
struct net_deviceinit_airo_card (unsigned short irq, int port, int is_pcmcia, struct device *dmdev)
 
 EXPORT_SYMBOL (init_airo_card)
 
int reset_airo_card (struct net_device *dev)
 
 EXPORT_SYMBOL (reset_airo_card)
 
 module_init (airo_init_module)
 
 module_exit (airo_cleanup_module)
 

Variables

struct WepKeyRid __packed
 

Macro Definition Documentation

#define AIRO_DEF_MTU   2312

Definition at line 940 of file airo.c.

#define AIRO_FLASH (   dev)    (((struct airo_info *)dev->ml_priv)->flash)

Definition at line 1283 of file airo.c.

#define airo_get_avg_quality (   cap_rid)    (memcmp((cap_rid)->prodName, "350", 3) ? 0x10 : 0x50);

Definition at line 5813 of file airo.c.

#define airo_get_max_quality (   cap_rid)    (memcmp((cap_rid)->prodName, "350", 3) ? 0x20 : 0xa0)

Definition at line 5812 of file airo.c.

#define AIRO_MAX_NETWORK_COUNT   64

Definition at line 2719 of file airo.c.

#define airo_print (   type,
  name,
  fmt,
  args... 
)    printk(type DRV_NAME "(%s): " fmt "\n", name, ##args)

Definition at line 1268 of file airo.c.

#define airo_print_dbg (   name,
  fmt,
  args... 
)    airo_print(KERN_DEBUG, name, fmt, ##args)

Definition at line 1274 of file airo.c.

#define airo_print_err (   name,
  fmt,
  args... 
)    airo_print(KERN_ERR, name, fmt, ##args)

Definition at line 1280 of file airo.c.

#define airo_print_info (   name,
  fmt,
  args... 
)    airo_print(KERN_INFO, name, fmt, ##args)

Definition at line 1271 of file airo.c.

#define airo_print_warn (   name,
  fmt,
  args... 
)    airo_print(KERN_WARNING, name, fmt, ##args)

Definition at line 1277 of file airo.c.

#define AIROFLPUTBUF   AIROFLSHPCHR + 1

Definition at line 921 of file airo.c.

#define AIROFLSHGCHR   AIROFLSHRST + 1

Definition at line 918 of file airo.c.

#define AIROFLSHPCHR   AIROFLSHSTFL + 1

Definition at line 920 of file airo.c.

#define AIROFLSHRST   AIROPWEPKEYNV + 40

Definition at line 917 of file airo.c.

#define AIROFLSHSTFL   AIROFLSHGCHR + 1

Definition at line 919 of file airo.c.

#define AIROGCAP   0

Definition at line 881 of file airo.c.

#define AIROGCFG   1

Definition at line 882 of file airo.c.

#define AIROGDRVNAM   4

Definition at line 885 of file airo.c.

#define AIROGEHTENC   5

Definition at line 886 of file airo.c.

#define AIROGFLAGS   13

Definition at line 894 of file airo.c.

#define AIROGID   14

Definition at line 895 of file airo.c.

#define AIROGMICRID   11

Definition at line 892 of file airo.c.

#define AIROGMICSTATS   12

Definition at line 893 of file airo.c.

#define AIROGSLIST   2

Definition at line 883 of file airo.c.

#define AIROGSTAT   8

Definition at line 889 of file airo.c.

#define AIROGSTATSC32   9

Definition at line 890 of file airo.c.

#define AIROGSTATSD32   10

Definition at line 891 of file airo.c.

#define AIROGVLIST   3

Definition at line 884 of file airo.c.

#define AIROGWEPKNV   7

Definition at line 888 of file airo.c.

#define AIROGWEPKTMP   6

Definition at line 887 of file airo.c.

#define AIROIDIFC   AIROIOCTL + 1

Definition at line 877 of file airo.c.

#define AIROIOCTL   SIOCIWFIRSTPRIV

Definition at line 876 of file airo.c.

#define AIROMAGIC   0xa55a

Definition at line 862 of file airo.c.

#define AIROPAPLIST   AIROPSIDS + 1

Definition at line 906 of file airo.c.

#define AIROPCAP   AIROGSTATSD32 + 40

Definition at line 901 of file airo.c.

#define AIROPCFG   AIROPSLIST + 1

Definition at line 904 of file airo.c.

#define AIROPLEAPPWD   AIROPWEPKEYNV + 1

Definition at line 912 of file airo.c.

#define AIROPLEAPUSR   AIROPLEAPPWD + 1

Definition at line 913 of file airo.c.

#define AIROPMACOFF   AIROPMACON + 1 /* Disable mac */

Definition at line 908 of file airo.c.

#define AIROPMACON   AIROPAPLIST + 1 /* Enable mac */

Definition at line 907 of file airo.c.

#define AIROPSIDS   AIROPCFG + 1

Definition at line 905 of file airo.c.

#define AIROPSLIST   AIROPVLIST + 1

Definition at line 903 of file airo.c.

#define AIROPSTCLR   AIROPMACOFF + 1

Definition at line 909 of file airo.c.

#define AIROPVLIST   AIROPCAP + 1

Definition at line 902 of file airo.c.

#define AIROPWEPKEY   AIROPSTCLR + 1

Definition at line 910 of file airo.c.

#define AIROPWEPKEYNV   AIROPWEPKEY + 1

Definition at line 911 of file airo.c.

#define AIRORESTART   AIROFLPUTBUF + 1

Definition at line 922 of file airo.c.

#define AIRORRID   15

Definition at line 896 of file airo.c.

#define AIRORSWVERSION   17

Definition at line 897 of file airo.c.

#define AUTH_ALLOW_UNENCRYPTED   cpu_to_le16(0x200)

Definition at line 590 of file airo.c.

#define AUTH_ENCRYPT   cpu_to_le16(0x101)

Definition at line 588 of file airo.c.

#define AUTH_OPEN   cpu_to_le16(0x1)

Definition at line 587 of file airo.c.

#define AUTH_SHAREDKEY   cpu_to_le16(0x102)

Definition at line 589 of file airo.c.

#define AUX_OFFSET   0x800

Definition at line 394 of file airo.c.

#define AUXDATA   0x3E

Definition at line 389 of file airo.c.

#define AUXMEMSIZE   (256 * 1024)

Definition at line 925 of file airo.c.

#define AUXOFF   0x3C

Definition at line 388 of file airo.c.

#define AUXPAGE   0x3A

Definition at line 387 of file airo.c.

#define BAP0   0 /* Used for receiving packets */

Definition at line 402 of file airo.c.

#define BAP1   2 /* Used for xmiting packets and working with RIDS */

Definition at line 403 of file airo.c.

#define BAP_BUSY   0x8000

Definition at line 408 of file airo.c.

#define BAP_DONE   0x2000

Definition at line 410 of file airo.c.

#define BAP_ERR   0x4000

Definition at line 409 of file airo.c.

#define BUSY_FID   0x10000

Definition at line 859 of file airo.c.

#define CAP_ESS   cpu_to_le16(1<<0)

Definition at line 779 of file airo.c.

#define CAP_IBSS   cpu_to_le16(1<<1)

Definition at line 780 of file airo.c.

#define CAP_PRIVACY   cpu_to_le16(1<<4)

Definition at line 781 of file airo.c.

#define CAP_SHORTHDR   cpu_to_le16(1<<5)

Definition at line 782 of file airo.c.

#define CISCO_EXT   /* enable Cisco extensions */

Definition at line 91 of file airo.c.

#define CMD_ACCESS   0x0021

Definition at line 309 of file airo.c.

#define CMD_ALLOCATEAUX   0x0020

Definition at line 308 of file airo.c.

#define CMD_ALLOCATETX   0x000a

Definition at line 303 of file airo.c.

#define CMD_ALLOCBUF   0x0028

Definition at line 312 of file airo.c.

#define CMD_DEALLOCATETX   0x000c

Definition at line 305 of file airo.c.

#define CMD_DELTLV   0x002b

Definition at line 315 of file airo.c.

#define CMD_ENABLEAUX   0x0111

Definition at line 325 of file airo.c.

#define CMD_FINDNEXTTLV   0x002c

Definition at line 316 of file airo.c.

#define CMD_GETTLV   0x0029

Definition at line 313 of file airo.c.

#define CMD_LISTBSS   0x0103

Definition at line 323 of file airo.c.

#define CMD_LOSE_SYNC   0x0003 /* Not sure what this does... */

Definition at line 296 of file airo.c.

#define CMD_MAGIC_PKT   0x0006

Definition at line 299 of file airo.c.

#define CMD_PCIAUX   0x0023

Definition at line 311 of file airo.c.

#define CMD_PCIBAP   0x0022

Definition at line 310 of file airo.c.

#define CMD_PSPNODES   0x0030

Definition at line 317 of file airo.c.

#define CMD_PUTTLV   0x002a

Definition at line 314 of file airo.c.

#define CMD_READCFG   0x0008

Definition at line 301 of file airo.c.

#define CMD_SAVECFG   0x0108

Definition at line 324 of file airo.c.

#define CMD_SETCW   0x0031

Definition at line 318 of file airo.c.

#define CMD_SETMODE   0x0009

Definition at line 302 of file airo.c.

#define CMD_SETPCF   0x0032

Definition at line 319 of file airo.c.

#define CMD_SETPHYREG   0x003e

Definition at line 320 of file airo.c.

#define CMD_SETWAKEMASK   0x0007

Definition at line 300 of file airo.c.

#define CMD_SOFTRESET   0x0004

Definition at line 297 of file airo.c.

#define CMD_TRANSMIT   0x000b

Definition at line 304 of file airo.c.

#define CMD_TXTEST   0x003f

Definition at line 321 of file airo.c.

#define CMD_USEPSPNODES   0x0130

Definition at line 327 of file airo.c.

#define CMD_WORKAROUND   0x0011

Definition at line 307 of file airo.c.

#define CMD_WRITERID   0x0121

Definition at line 326 of file airo.c.

#define COMMAND   0x00

Definition at line 365 of file airo.c.

#define COMMAND_BUSY   0x8000

Definition at line 406 of file airo.c.

#define DATA0   0x36

Definition at line 379 of file airo.c.

#define DISABLE_REFRESH   cpu_to_le16(0xFFFF)

Definition at line 598 of file airo.c.

#define DRV_NAME   "airo"

Definition at line 57 of file airo.c.

#define EMMH32_MSGLEN_MAX   MIC_MSGLEN_MAX

Definition at line 939 of file airo.c.

#define ERROR   -1

Definition at line 289 of file airo.c.

#define ERROR_ALLOCBSY   0x07

Definition at line 338 of file airo.c.

#define ERROR_APLIST   0x8D

Definition at line 360 of file airo.c.

#define ERROR_AUTH   0x88

Definition at line 355 of file airo.c.

#define ERROR_AUTOWAKE   0x8E

Definition at line 361 of file airo.c.

#define ERROR_BADLEN   0x22

Definition at line 346 of file airo.c.

#define ERROR_BINTER   0x82

Definition at line 349 of file airo.c.

#define ERROR_DECODE   0x20

Definition at line 344 of file airo.c.

#define ERROR_DESCUNAV   0x21

Definition at line 345 of file airo.c.

#define ERROR_DIVER   0x8B

Definition at line 358 of file airo.c.

#define ERROR_HOP   0x81

Definition at line 348 of file airo.c.

#define ERROR_ILLCMD   0x01

Definition at line 332 of file airo.c.

#define ERROR_ILLFMT   0x02

Definition at line 333 of file airo.c.

#define ERROR_INVFID   0x03

Definition at line 334 of file airo.c.

#define ERROR_INVFIDTX   0x0D

Definition at line 341 of file airo.c.

#define ERROR_INVRID   0x04

Definition at line 335 of file airo.c.

#define ERROR_LARGE   0x05

Definition at line 336 of file airo.c.

#define ERROR_LEAP   0x8F

Definition at line 362 of file airo.c.

#define ERROR_MACADDR   0x84

Definition at line 351 of file airo.c.

#define ERROR_MODE   0x80

Definition at line 347 of file airo.c.

#define ERROR_NDISABL   0x06

Definition at line 337 of file airo.c.

#define ERROR_NORD   0x0B

Definition at line 339 of file airo.c.

#define ERROR_NOWR   0x0C

Definition at line 340 of file airo.c.

#define ERROR_ORDER   0x86

Definition at line 353 of file airo.c.

#define ERROR_PSMODE   0x89

Definition at line 356 of file airo.c.

#define ERROR_QUALIF   0x00

Definition at line 331 of file airo.c.

#define ERROR_RATES   0x85

Definition at line 352 of file airo.c.

#define ERROR_RTYPE   0x8A

Definition at line 357 of file airo.c.

#define ERROR_RXMODE   0x83

Definition at line 350 of file airo.c.

#define ERROR_SCAN   0x87

Definition at line 354 of file airo.c.

#define ERROR_SSID   0x8C

Definition at line 359 of file airo.c.

#define ERROR_TAGNFND   0x12

Definition at line 343 of file airo.c.

#define ERROR_TESTACT   0x0E

Definition at line 342 of file airo.c.

#define EV_ALLOC   0x08

Definition at line 420 of file airo.c.

#define EV_AWAKE   0x100

Definition at line 422 of file airo.c.

#define EV_AWAKEN   0x2000

Definition at line 426 of file airo.c.

#define EV_CLEARCOMMANDBUSY   0x4000

Definition at line 416 of file airo.c.

#define EV_CMD   0x10

Definition at line 415 of file airo.c.

#define EV_LINK   0x80

Definition at line 421 of file airo.c.

#define EV_MIC   0x1000 /* Message Integrity Check Interrupt */

Definition at line 425 of file airo.c.

#define EV_RX   0x01

Definition at line 417 of file airo.c.

#define EV_TX   0x02

Definition at line 418 of file airo.c.

#define EV_TXCPY   0x400

Definition at line 423 of file airo.c.

#define EV_TXEXC   0x04

Definition at line 419 of file airo.c.

#define EV_UNKNOWN   0x800

Definition at line 424 of file airo.c.

#define EVACK   0x34

Definition at line 382 of file airo.c.

#define EVINTEN   0x32

Definition at line 381 of file airo.c.

#define EVSTAT   0x30

Definition at line 380 of file airo.c.

#define FID_RX   2

Definition at line 392 of file airo.c.

#define FID_TX   1

Definition at line 391 of file airo.c.

#define FLAG_802_11   7

Definition at line 1178 of file airo.c.

#define FLAG_ADHOC   3 /* Needed by MIC */

Definition at line 1174 of file airo.c.

#define FLAG_COMMIT   13

Definition at line 1184 of file airo.c.

#define FLAG_ENABLED   2

Definition at line 1173 of file airo.c.

#define FLAG_FLASHING   15

Definition at line 1186 of file airo.c.

#define FLAG_MIC_CAPABLE   4

Definition at line 1175 of file airo.c.

#define FLAG_MPI   11

Definition at line 1182 of file airo.c.

#define FLAG_PENDING_XMIT   9

Definition at line 1180 of file airo.c.

#define FLAG_PENDING_XMIT11   10

Definition at line 1181 of file airo.c.

#define FLAG_PROMISC   8 /* IFF_PROMISC 0x100 - include/linux/if.h */

Definition at line 1179 of file airo.c.

#define FLAG_RADIO_DOWN   1 /* ifup/ifdown disabling of MAC */

Definition at line 1171 of file airo.c.

#define FLAG_RADIO_MASK   0x03

Definition at line 1172 of file airo.c.

#define FLAG_RADIO_OFF   0 /* User disabling of MAC */

Definition at line 1170 of file airo.c.

#define FLAG_REGISTERED   12

Definition at line 1183 of file airo.c.

#define FLAG_RESET   14

Definition at line 1185 of file airo.c.

#define FLAG_UPDATE_MULTI   5

Definition at line 1176 of file airo.c.

#define FLAG_UPDATE_UNI   6

Definition at line 1177 of file airo.c.

#define FLAG_WPA_CAPABLE   16

Definition at line 1187 of file airo.c.

#define FLASH_COMMAND   0x7e7e

Definition at line 8053 of file airo.c.

#define FLASHSIZE   32768

Definition at line 924 of file airo.c.

#define HOST_CLR_AID   (1 << 7) /* clear AID failure */

Definition at line 1054 of file airo.c.

#define HOST_DONT_RETRY   (1 << 6) /* Don't retry trasmit */

Definition at line 1053 of file airo.c.

#define HOST_DONT_RLSE   (1 << 5) /* Don't release buffer when done */

Definition at line 1052 of file airo.c.

#define HOST_INT_TX   (1 << 1) /* Interrupt on successful TX */

Definition at line 1049 of file airo.c.

#define HOST_INT_TXERR   (1 << 2) /* Interrupt on unseccessful TX */

Definition at line 1050 of file airo.c.

#define HOST_LCC_PAYLOAD   (1 << 4) /* LLC payload, 0 = Ethertype */

Definition at line 1051 of file airo.c.

#define HOST_RTS   (1 << 9) /* Force RTS use */

Definition at line 1055 of file airo.c.

#define HOST_SET   (1 << 0)

Definition at line 1048 of file airo.c.

#define HOST_SHORT   (1 << 10) /* Do short preamble */

Definition at line 1056 of file airo.c.

#define HOSTSLEEP   0x0005

Definition at line 298 of file airo.c.

#define IGNLABEL (   comment)    NULL

Definition at line 105 of file airo.c.

#define IGNORE_INTS   (~STATUS_INTS)

Definition at line 432 of file airo.c.

#define JOB_AUTOWEP   7

Definition at line 1196 of file airo.c.

#define JOB_DIE   0

Definition at line 1189 of file airo.c.

#define JOB_EVENT   6

Definition at line 1195 of file airo.c.

#define JOB_MIC   5

Definition at line 1194 of file airo.c.

#define JOB_PROMISC   4

Definition at line 1193 of file airo.c.

#define JOB_SCAN_RESULTS   9

Definition at line 1198 of file airo.c.

#define JOB_STATS   3

Definition at line 1192 of file airo.c.

#define JOB_WSTATS   8

Definition at line 1197 of file airo.c.

#define JOB_XMIT   1

Definition at line 1190 of file airo.c.

#define JOB_XMIT11   2

Definition at line 1191 of file airo.c.

#define LINKSTAT   0x10

Definition at line 373 of file airo.c.

#define MAC_DISABLE   0x0002

Definition at line 295 of file airo.c.

#define MAC_ENABLE   0x0001

Definition at line 294 of file airo.c.

#define MAC_ENABLERX   0x0201

Definition at line 328 of file airo.c.

#define MAC_ENABLETX   0x0101

Definition at line 322 of file airo.c.

#define MAGIC_ACTION_RESUME   2

Definition at line 647 of file airo.c.

#define MAGIC_ACTION_STSCHG   1

Definition at line 646 of file airo.c.

#define MAGIC_IGNORE_BCAST   (1<<9)

Definition at line 649 of file airo.c.

#define MAGIC_IGNORE_MCAST   (1<<8)

Definition at line 648 of file airo.c.

#define MAGIC_STAY_IN_CAM   (1<<10)

Definition at line 651 of file airo.c.

#define MAGIC_SWITCH_TO_PSP   (0<<10)

Definition at line 650 of file airo.c.

#define MAX_FIDS   6

Definition at line 1162 of file airo.c.

#define MAX_KEY_SIZE   13

Definition at line 1090 of file airo.c.

#define MAXTXQ   64

Definition at line 399 of file airo.c.

#define MIC_ACCUM (   val)    context->accum += (u64)(val) * context->coeff[coeff_position++];

Definition at line 1625 of file airo.c.

#define MIC_MSGLEN_MAX   2400

Definition at line 938 of file airo.c.

#define MIN_KEY_SIZE   5

Definition at line 1091 of file airo.c.

#define MOD_CCK   cpu_to_le16(1)

Definition at line 528 of file airo.c.

#define MOD_DEFAULT   cpu_to_le16(0)

Definition at line 527 of file airo.c.

#define MOD_MOK   cpu_to_le16(2)

Definition at line 529 of file airo.c.

#define MODE_AIRONET_EXTEND   cpu_to_le16(1<<9) /* enable Aironet extenstions */

Definition at line 543 of file airo.c.

#define MODE_ANTENNA_ALIGN   cpu_to_le16(1<<11) /* enable antenna alignment */

Definition at line 545 of file airo.c.

#define MODE_AP   cpu_to_le16(2)

Definition at line 538 of file airo.c.

#define MODE_AP_INTERFACE   cpu_to_le16(1<<10) /* enable ap interface extensions */

Definition at line 544 of file airo.c.

#define MODE_AP_RPTR   cpu_to_le16(3)

Definition at line 539 of file airo.c.

#define MODE_CF_POLLABLE   cpu_to_le16(1<<14) /* enable CF pollable */

Definition at line 548 of file airo.c.

#define MODE_CFG_MASK   cpu_to_le16(0xff)

Definition at line 540 of file airo.c.

#define MODE_ETHER_LLC   cpu_to_le16(1<<12) /* enable ethernet LLC */

Definition at line 546 of file airo.c.

#define MODE_ETHERNET_HOST   cpu_to_le16(0<<8) /* rx payloads converted */

Definition at line 541 of file airo.c.

#define MODE_LEAF_NODE   cpu_to_le16(1<<13) /* enable leaf node bridge */

Definition at line 547 of file airo.c.

#define MODE_LLC_HOST   cpu_to_le16(1<<8) /* rx payloads left as is */

Definition at line 542 of file airo.c.

#define MODE_MIC   cpu_to_le16(1<<15) /* enable MIC */

Definition at line 549 of file airo.c.

#define MODE_STA_ESS   cpu_to_le16(1)

Definition at line 537 of file airo.c.

#define MODE_STA_IBSS   cpu_to_le16(0)

Definition at line 536 of file airo.c.

#define MPI_MAX_FIDS   1

Definition at line 1163 of file airo.c.

#define NO_PACKET   -2

Definition at line 290 of file airo.c.

#define NOP   0x0010

Definition at line 306 of file airo.c.

#define NOP2   0x0000

Definition at line 293 of file airo.c.

#define NOPROMISC   0x0000

Definition at line 413 of file airo.c.

#define NUM_MODULES   2

Definition at line 937 of file airo.c.

#define OFFSET0   0x1c

Definition at line 375 of file airo.c.

#define PARAM0   0x02

Definition at line 366 of file airo.c.

#define PARAM1   0x04

Definition at line 367 of file airo.c.

#define PARAM2   0x06

Definition at line 368 of file airo.c.

#define PCI_SHARED_LEN   2*MPI_MAX_FIDS*PKTSIZE+RIDSIZE

Definition at line 1235 of file airo.c.

#define PKTSIZE   1840

Definition at line 396 of file airo.c.

#define POWER_ON_DOWN

Definition at line 97 of file airo.c.

#define POWERSAVE_CAM   cpu_to_le16(0)

Definition at line 602 of file airo.c.

#define POWERSAVE_PSP   cpu_to_le16(1)

Definition at line 603 of file airo.c.

#define POWERSAVE_PSPCAM   cpu_to_le16(2)

Definition at line 604 of file airo.c.

#define PREAMBLE_AUTO   cpu_to_le16(0)

Definition at line 632 of file airo.c.

#define PREAMBLE_LONG   cpu_to_le16(1)

Definition at line 633 of file airo.c.

#define PREAMBLE_SHORT   cpu_to_le16(2)

Definition at line 634 of file airo.c.

#define PROMISC   0xffff

Definition at line 412 of file airo.c.

#define RADIO_DS   2 /* Direct sequence radio type */

Definition at line 771 of file airo.c.

#define RADIO_FH   1 /* Frequency hopping radio type */

Definition at line 770 of file airo.c.

#define RADIO_TMA   4 /* Proprietary radio used in old cards (2500) */

Definition at line 772 of file airo.c.

#define RADIOTYPE_802_11   cpu_to_le16(1)

Definition at line 623 of file airo.c.

#define RADIOTYPE_DEFAULT   cpu_to_le16(0)

Definition at line 622 of file airo.c.

#define RADIOTYPE_LEGACY   cpu_to_le16(2)

Definition at line 624 of file airo.c.

#define RESP0   0x0a

Definition at line 370 of file airo.c.

#define RESP1   0x0c

Definition at line 371 of file airo.c.

#define RESP2   0x0e

Definition at line 372 of file airo.c.

#define RID_ACTUALCONFIG   0xFF20 /*readonly*/

Definition at line 453 of file airo.c.

#define RID_APINFO   0xFF01

Definition at line 440 of file airo.c.

#define RID_APLIST   0xFF12

Definition at line 446 of file airo.c.

#define RID_BEACON_HST   0xFF51

Definition at line 459 of file airo.c.

#define RID_BSSLISTFIRST   0xFF72

Definition at line 474 of file airo.c.

#define RID_BSSLISTNEXT   0xFF73

Definition at line 475 of file airo.c.

#define RID_BUSY_HST   0xFF52

Definition at line 460 of file airo.c.

#define RID_CAPABILITIES   0xFF00

Definition at line 439 of file airo.c.

#define RID_CONFIG   0xFF10

Definition at line 444 of file airo.c.

#define RID_DRVNAME   0xFF13

Definition at line 447 of file airo.c.

#define RID_ECHOTEST_RESULTS   0xFF71

Definition at line 473 of file airo.c.

#define RID_ECHOTEST_RID   0xFF70

Definition at line 472 of file airo.c.

#define RID_ETHERENCAP   0xFF14

Definition at line 448 of file airo.c.

#define RID_FACTORYCONFIG   0xFF21

Definition at line 454 of file airo.c.

#define RID_LEAPPASSWORD   0xFF24

Definition at line 457 of file airo.c.

#define RID_LEAPUSERNAME   0xFF23

Definition at line 456 of file airo.c.

#define RID_MIC   0xFF57

Definition at line 465 of file airo.c.

#define RID_MODULATION   0xFF17

Definition at line 451 of file airo.c.

#define RID_OPTIONS   0xFF18

Definition at line 452 of file airo.c.

#define RID_RADIOINFO   0xFF02

Definition at line 441 of file airo.c.

#define RID_RETRIES_HST   0xFF53

Definition at line 461 of file airo.c.

#define RID_RSSI   0xFF04

Definition at line 443 of file airo.c.

#define RID_RW   0x20

Definition at line 436 of file airo.c.

#define RID_SSID   0xFF11

Definition at line 445 of file airo.c.

#define RID_STATS   0xFF68

Definition at line 469 of file airo.c.

#define RID_STATS16   0xFF60

Definition at line 466 of file airo.c.

#define RID_STATS16DELTA   0xFF61

Definition at line 467 of file airo.c.

#define RID_STATS16DELTACLEAR   0xFF62

Definition at line 468 of file airo.c.

#define RID_STATSDELTA   0xFF69

Definition at line 470 of file airo.c.

#define RID_STATSDELTACLEAR   0xFF6A

Definition at line 471 of file airo.c.

#define RID_STATUS   0xFF50

Definition at line 458 of file airo.c.

#define RID_UNKNOWN22   0xFF22

Definition at line 455 of file airo.c.

#define RID_UNKNOWN3   0xFF03

Definition at line 442 of file airo.c.

#define RID_UNKNOWN54   0xFF54

Definition at line 462 of file airo.c.

#define RID_UNKNOWN55   0xFF55

Definition at line 463 of file airo.c.

#define RID_UNKNOWN56   0xFF56

Definition at line 464 of file airo.c.

#define RID_WEP_PERM   0xFF16

Definition at line 450 of file airo.c.

#define RID_WEP_TEMP   0xFF15

Definition at line 449 of file airo.c.

#define RID_WPA_BSSLISTFIRST   0xFF74

Definition at line 476 of file airo.c.

#define RID_WPA_BSSLISTNEXT   0xFF75

Definition at line 477 of file airo.c.

#define RIDSIZE   2048

Definition at line 397 of file airo.c.

#define RSSI_DEFAULT   0

Definition at line 630 of file airo.c.

#define RUN_AT (   x)    (jiffies+(x))

Definition at line 209 of file airo.c.

#define RXFID   0x20

Definition at line 376 of file airo.c.

#define RXMODE_ADDR   cpu_to_le16(2) /* ignore multicast and broadcast */

Definition at line 553 of file airo.c.

#define RXMODE_BC_ADDR   cpu_to_le16(1) /* ignore multicasts */

Definition at line 552 of file airo.c.

#define RXMODE_BC_MC_ADDR   cpu_to_le16(0)

Definition at line 551 of file airo.c.

#define RXMODE_DISABLE_802_3_HEADER   cpu_to_le16(1<<8) /* disables 802.3 header on rx */

Definition at line 558 of file airo.c.

#define RXMODE_FULL_MASK   (RXMODE_MASK | RXMODE_DISABLE_802_3_HEADER)

Definition at line 559 of file airo.c.

#define RXMODE_LANMON   cpu_to_le16(5) /* lan style monitor -- data packets only */

Definition at line 556 of file airo.c.

#define RXMODE_MASK   cpu_to_le16(255)

Definition at line 557 of file airo.c.

#define RXMODE_NORMALIZED_RSSI   cpu_to_le16(1<<9) /* return normalized RSSI */

Definition at line 560 of file airo.c.

#define RXMODE_RFMON   cpu_to_le16(3) /* wireless monitor mode */

Definition at line 554 of file airo.c.

#define RXMODE_RFMON_ANYBSS   cpu_to_le16(4)

Definition at line 555 of file airo.c.

#define SCANMODE_ACTIVE   cpu_to_le16(0)

Definition at line 577 of file airo.c.

#define SCANMODE_AIROSCAN   cpu_to_le16(2)

Definition at line 579 of file airo.c.

#define SCANMODE_PASSIVE   cpu_to_le16(1)

Definition at line 578 of file airo.c.

#define SELECT0   0x18

Definition at line 374 of file airo.c.

#define SIOCIWFIRSTPRIV   SIOCDEVPRIVATE

Definition at line 870 of file airo.c.

#define STAT_APFOUND   40

Definition at line 699 of file airo.c.

#define STAT_APREJECTED   50

Definition at line 700 of file airo.c.

#define STAT_ASSOC   0x0400 /* Associated */

Definition at line 3188 of file airo.c.

#define STAT_ASSOC_FAIL   0x8400 /* low byte is 802.11 reason code */

Definition at line 3186 of file airo.c.

#define STAT_ASSOCIATED   80

Definition at line 708 of file airo.c.

#define STAT_ASSOCIATING   70

Definition at line 704 of file airo.c.

#define STAT_ASSOCTIMEOUT   72

Definition at line 706 of file airo.c.

#define STAT_AUTH_FAIL   0x0300 /* low byte is 802.11 reason code */

Definition at line 3187 of file airo.c.

#define STAT_AUTHENTICATING   60

Definition at line 701 of file airo.c.

#define STAT_AUTHTIMEOUT   62

Definition at line 703 of file airo.c.

#define STAT_BADBITRATES   30

Definition at line 697 of file airo.c.

#define STAT_BADCHANNEL   25

Definition at line 696 of file airo.c.

#define STAT_BADPRIVACY   35

Definition at line 698 of file airo.c.

#define STAT_DEASSOCIATED   71

Definition at line 705 of file airo.c.

#define STAT_DEAUTH   0x8100 /* low byte is 802.11 reason code */

Definition at line 3184 of file airo.c.

#define STAT_DEAUTHENTICATED   61

Definition at line 702 of file airo.c.

#define STAT_DISASSOC   0x8200 /* low byte is 802.11 reason code */

Definition at line 3185 of file airo.c.

#define STAT_FORCELOSS   0x8003 /* Loss of sync - host request */

Definition at line 3182 of file airo.c.

#define STAT_GOTCARRIERSET   11

Definition at line 694 of file airo.c.

#define STAT_LEAPCOMPLETE   93

Definition at line 712 of file airo.c.

#define STAT_LEAPFAILED   91

Definition at line 710 of file airo.c.

#define STAT_LEAPING   90

Definition at line 709 of file airo.c.

#define STAT_LEAPTIMEDOUT   92

Definition at line 711 of file airo.c.

#define STAT_MAXARL   0x8002 /* Loss of sync - average retry level exceeded*/

Definition at line 3181 of file airo.c.

#define STAT_MAXRETRIES   0x8001 /* Loss of sync - max retries */

Definition at line 3180 of file airo.c.

#define STAT_NOBEACON   0x8000 /* Loss of sync - missed beacons */

Definition at line 3179 of file airo.c.

#define STAT_NOCARRIERSET   10

Definition at line 693 of file airo.c.

#define STAT_NOPACKETS   0

Definition at line 692 of file airo.c.

#define STAT_NOTAIROAP   73

Definition at line 707 of file airo.c.

#define STAT_REASSOC   0x0600 /* Reassociated? Only on firmware >= 5.30.17 */

Definition at line 3189 of file airo.c.

#define STAT_TSFSYNC   0x8004 /* Loss of sync - TSF synchronization */

Definition at line 3183 of file airo.c.

#define STAT_WRONGSSID   20

Definition at line 695 of file airo.c.

#define STATUS   0x08

Definition at line 369 of file airo.c.

#define STATUS_INTS   (EV_AWAKE|EV_LINK|EV_TXEXC|EV_TX|EV_TXCPY|EV_RX|EV_MIC)

Definition at line 427 of file airo.c.

#define SUCCESS   0

Definition at line 288 of file airo.c.

#define SWS0   0x28

Definition at line 383 of file airo.c.

#define SWS1   0x2a

Definition at line 384 of file airo.c.

#define SWS2   0x2c

Definition at line 385 of file airo.c.

#define SWS3   0x2e

Definition at line 386 of file airo.c.

#define TXALLOCFID   0x22

Definition at line 377 of file airo.c.

#define TXCOMPLFID   0x24

Definition at line 378 of file airo.c.

#define TXCTL_802_11   (1<<3) /* 802.11 mac packet */

Definition at line 853 of file airo.c.

#define TXCTL_802_3   (0<<3) /* 802.3 packet */

Definition at line 852 of file airo.c.

#define TXCTL_ETHERNET   (0<<4) /* payload has ethertype */

Definition at line 854 of file airo.c.

#define TXCTL_LLC   (1<<4) /* payload is llc */

Definition at line 855 of file airo.c.

#define TXCTL_NORELEASE   (1<<5) /* on completion returns to host */

Definition at line 857 of file airo.c.

#define TXCTL_RELEASE   (0<<5) /* release after completion */

Definition at line 856 of file airo.c.

#define TXCTL_TXEX   (1<<2) /* report if tx fails */

Definition at line 851 of file airo.c.

#define TXCTL_TXOK   (1<<1) /* report if tx is ok */

Definition at line 850 of file airo.c.

#define TXPOWER_DEFAULT   0

Definition at line 628 of file airo.c.

#define WIRELESS_SPY   /* enable iwspy support */

Definition at line 89 of file airo.c.

Typedef Documentation

Definition at line 722 of file airo.c.

Definition at line 766 of file airo.c.

Definition at line 759 of file airo.c.

Definition at line 728 of file airo.c.

Definition at line 532 of file airo.c.

Definition at line 827 of file airo.c.

typedef struct MICRid MICRid

Definition at line 817 of file airo.c.

Definition at line 523 of file airo.c.

typedef struct Ssid Ssid

Definition at line 511 of file airo.c.

Definition at line 517 of file airo.c.

Definition at line 715 of file airo.c.

Definition at line 656 of file airo.c.

Definition at line 805 of file airo.c.

Definition at line 811 of file airo.c.

Definition at line 501 of file airo.c.

Enumeration Type Documentation

enum mic_error
Enumerator:
NONE 
NOMIC 
NOMICPLUMMED 
SEQUENCE 
INCORRECTMIC 

Definition at line 1429 of file airo.c.

Function Documentation

EXPORT_SYMBOL ( stop_airo_card  )
EXPORT_SYMBOL ( init_airo_card  )
EXPORT_SYMBOL ( reset_airo_card  )
struct net_device* init_airo_card ( unsigned short  irq,
int  port,
int  is_pcmcia,
struct device dmdev 
)
read

Definition at line 2939 of file airo.c.

MODULE_AUTHOR ( "Benjamin Reed"  )
MODULE_DESCRIPTION ( "Support for Cisco/Aironet 802.11 wireless ethernet cards. ""Direct support for ISA/PCI/MPI cards and support for PCMCIA when used with airo_cs."  )
module_exit ( airo_cleanup_module  )
module_init ( airo_init_module  )
MODULE_LICENSE ( "Dual BSD/GPL"  )
module_param ( auto_wep  ,
int  ,
 
)
module_param ( aux_bap  ,
int  ,
 
)
module_param ( maxencrypt  ,
int  ,
 
)
module_param ( adhoc  ,
int  ,
 
)
module_param ( probe  ,
int  ,
 
)
module_param ( proc_uid  ,
int  ,
 
)
module_param ( proc_gid  ,
int  ,
 
)
module_param ( airo_perm  ,
int  ,
 
)
module_param ( proc_perm  ,
int  ,
 
)
module_param_array ( io  ,
int  ,
NULL  ,
 
)
module_param_array ( irq  ,
int  ,
NULL  ,
 
)
module_param_array ( rates  ,
int  ,
NULL  ,
 
)
module_param_array ( ssids  ,
charp  ,
NULL  ,
 
)
MODULE_PARM_DESC ( auto_wep  ,
"If non-  zero,
the driver will keep looping through the authentication options until an association is made.""The value of auto_wep is number of the wep keys to check.""A value of 2 will try using the key at index 0 and index 1."   
)
MODULE_PARM_DESC ( aux_bap  ,
"If non-  zero,
the driver will switch into a mode that seems to work better for older cards with some older buses.""Before switching it checks that the switch is needed."   
)
MODULE_PARM_DESC ( maxencrypt  ,
"The maximum speed that the card can do encryption. ""Units are in 512kbs. ""Zero (default) means there is no limit. ""Older cards used to be limited to 2mbs (4)."   
)
MODULE_PARM_DESC ( adhoc  ,
"If non-  zero,
the card will start in adhoc mode."   
)
MODULE_PARM_DESC ( probe  ,
"If  zero,
the driver won't start the card."   
)
MODULE_PARM_DESC ( proc_uid  ,
"The uid that the /proc files will belong to."   
)
MODULE_PARM_DESC ( proc_gid  ,
"The gid that the /proc files will belong to."   
)
MODULE_PARM_DESC ( airo_perm  ,
"The permission bits of /proc/aironet."  [driver/] 
)
MODULE_PARM_DESC ( proc_perm  ,
"The permission bits of the files in /proc"   
)
MODULE_SUPPORTED_DEVICE ( "Aironet  4500,
4800 and Cisco 340/350"   
)
int reset_airo_card ( struct net_device dev)

Definition at line 2957 of file airo.c.

void stop_airo_card ( struct net_device dev,
int  freeres 
)

Definition at line 2384 of file airo.c.

Variable Documentation