2005-04-17 02:20:36 +04:00
/*
* Copyright ( c ) 2004 , 2005 Jeroen Vreeken ( pe1rxq @ amsat . org )
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation .
*
* Parts of this driver have been derived from a wlan - ng version
* modified by ZyDAS .
* Copyright ( C ) 1999 AbsoluteValue Systems , Inc . All Rights Reserved .
*/
# ifndef _INCLUDE_ZD1201_H_
# define _INCLUDE_ZD1201_H_
# define ZD1201_NUMKEYS 4
# define ZD1201_MAXKEYLEN 13
# define ZD1201_MAXMULTI 16
# define ZD1201_FRAGMAX 2500
# define ZD1201_FRAGMIN 256
# define ZD1201_RTSMAX 2500
# define ZD1201_RXSIZE 3000
struct zd1201 {
struct usb_device * usb ;
int removed ;
struct net_device * dev ;
struct iw_statistics iwstats ;
int endp_in ;
int endp_out ;
int endp_out2 ;
struct urb * rx_urb ;
struct urb * tx_urb ;
unsigned char rxdata [ ZD1201_RXSIZE ] ;
int rxlen ;
wait_queue_head_t rxdataq ;
int rxdatas ;
struct hlist_head fraglist ;
unsigned char txdata [ ZD1201_RXSIZE ] ;
int ap ;
char essid [ IW_ESSID_MAX_SIZE + 1 ] ;
int essidlen ;
int mac_enabled ;
2005-04-25 03:37:15 +04:00
int was_enabled ;
2005-04-17 02:20:36 +04:00
int monitor ;
int encode_enabled ;
int encode_restricted ;
unsigned char encode_keys [ ZD1201_NUMKEYS ] [ ZD1201_MAXKEYLEN ] ;
int encode_keylen [ ZD1201_NUMKEYS ] ;
} ;
struct zd1201_frag {
struct hlist_node fnode ;
int seq ;
struct sk_buff * skb ;
} ;
# define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV
# define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1
# define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2
# define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4
# define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1
# define ZD1201_FW_TIMEOUT (1000)
# define ZD1201_TX_TIMEOUT (2000)
# define ZD1201_USB_CMDREQ 0
# define ZD1201_USB_RESREQ 1
# define ZD1201_CMDCODE_INIT 0x00
# define ZD1201_CMDCODE_ENABLE 0x01
# define ZD1201_CMDCODE_DISABLE 0x02
# define ZD1201_CMDCODE_ALLOC 0x0a
# define ZD1201_CMDCODE_INQUIRE 0x11
# define ZD1201_CMDCODE_SETRXRID 0x17
# define ZD1201_CMDCODE_ACCESS 0x21
# define ZD1201_PACKET_EVENTSTAT 0x0
# define ZD1201_PACKET_RXDATA 0x1
# define ZD1201_PACKET_INQUIRE 0x2
# define ZD1201_PACKET_RESOURCE 0x3
# define ZD1201_ACCESSBIT 0x0100
# define ZD1201_RID_CNFPORTTYPE 0xfc00
# define ZD1201_RID_CNFOWNMACADDR 0xfc01
# define ZD1201_RID_CNFDESIREDSSID 0xfc02
# define ZD1201_RID_CNFOWNCHANNEL 0xfc03
# define ZD1201_RID_CNFOWNSSID 0xfc04
# define ZD1201_RID_CNFMAXDATALEN 0xfc07
# define ZD1201_RID_CNFPMENABLED 0xfc09
# define ZD1201_RID_CNFPMEPS 0xfc0a
# define ZD1201_RID_CNFMAXSLEEPDURATION 0xfc0c
# define ZD1201_RID_CNFDEFAULTKEYID 0xfc23
# define ZD1201_RID_CNFDEFAULTKEY0 0xfc24
# define ZD1201_RID_CNFDEFAULTKEY1 0xfc25
# define ZD1201_RID_CNFDEFAULTKEY2 0xfc26
# define ZD1201_RID_CNFDEFAULTKEY3 0xfc27
# define ZD1201_RID_CNFWEBFLAGS 0xfc28
# define ZD1201_RID_CNFAUTHENTICATION 0xfc2a
# define ZD1201_RID_CNFMAXASSOCSTATIONS 0xfc2b
# define ZD1201_RID_CNFHOSTAUTH 0xfc2e
# define ZD1201_RID_CNFGROUPADDRESS 0xfc80
# define ZD1201_RID_CNFFRAGTHRESHOLD 0xfc82
# define ZD1201_RID_CNFRTSTHRESHOLD 0xfc83
# define ZD1201_RID_TXRATECNTL 0xfc84
# define ZD1201_RID_PROMISCUOUSMODE 0xfc85
# define ZD1201_RID_CNFBASICRATES 0xfcb3
# define ZD1201_RID_AUTHENTICATESTA 0xfce3
# define ZD1201_RID_CURRENTBSSID 0xfd42
# define ZD1201_RID_COMMSQUALITY 0xfd43
# define ZD1201_RID_CURRENTTXRATE 0xfd44
# define ZD1201_RID_CNFMAXTXBUFFERNUMBER 0xfda0
# define ZD1201_RID_CURRENTCHANNEL 0xfdc1
# define ZD1201_INQ_SCANRESULTS 0xf101
# define ZD1201_INF_LINKSTATUS 0xf200
# define ZD1201_INF_ASSOCSTATUS 0xf201
# define ZD1201_INF_AUTHREQ 0xf202
# define ZD1201_ASSOCSTATUS_STAASSOC 0x1
# define ZD1201_ASSOCSTATUS_REASSOC 0x2
# define ZD1201_ASSOCSTATUS_DISASSOC 0x3
# define ZD1201_ASSOCSTATUS_ASSOCFAIL 0x4
# define ZD1201_ASSOCSTATUS_AUTHFAIL 0x5
# define ZD1201_PORTTYPE_IBSS 0
# define ZD1201_PORTTYPE_BSS 1
# define ZD1201_PORTTYPE_WDS 2
# define ZD1201_PORTTYPE_PSEUDOIBSS 3
# define ZD1201_PORTTYPE_AP 6
# define ZD1201_RATEB1 1
# define ZD1201_RATEB2 2
# define ZD1201_RATEB5 4 /* 5.5 really, but 5 is shorter :) */
# define ZD1201_RATEB11 8
# define ZD1201_CNFAUTHENTICATION_OPENSYSTEM 0x0001
# define ZD1201_CNFAUTHENTICATION_SHAREDKEY 0x0002
# endif /* _INCLUDE_ZD1201_H_ */