| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | *	Copyright (c) 2004, 2005 Jeroen Vreeken (pe1rxq@amsat.org) | 
|  | 3 | * | 
|  | 4 | *	This program is free software; you can redistribute it and/or | 
|  | 5 | *	modify it under the terms of the GNU General Public License | 
|  | 6 | *	version 2 as published by the Free Software Foundation. | 
|  | 7 | * | 
|  | 8 | *	Parts of this driver have been derived from a wlan-ng version | 
|  | 9 | *	modified by ZyDAS. | 
|  | 10 | *	Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved. | 
|  | 11 | */ | 
|  | 12 |  | 
|  | 13 | #ifndef _INCLUDE_ZD1201_H_ | 
|  | 14 | #define _INCLUDE_ZD1201_H_ | 
|  | 15 |  | 
|  | 16 | #define ZD1201_NUMKEYS		4 | 
|  | 17 | #define ZD1201_MAXKEYLEN	13 | 
|  | 18 | #define ZD1201_MAXMULTI		16 | 
|  | 19 | #define ZD1201_FRAGMAX		2500 | 
|  | 20 | #define ZD1201_FRAGMIN		256 | 
|  | 21 | #define ZD1201_RTSMAX		2500 | 
|  | 22 |  | 
|  | 23 | #define ZD1201_RXSIZE		3000 | 
|  | 24 |  | 
|  | 25 | struct zd1201 { | 
|  | 26 | struct usb_device	*usb; | 
|  | 27 | int			removed; | 
|  | 28 | struct net_device	*dev; | 
|  | 29 | struct net_device_stats stats; | 
|  | 30 | struct iw_statistics	iwstats; | 
|  | 31 |  | 
|  | 32 | int			endp_in; | 
|  | 33 | int			endp_out; | 
|  | 34 | int			endp_out2; | 
|  | 35 | struct urb		*rx_urb; | 
|  | 36 | struct urb		*tx_urb; | 
|  | 37 |  | 
|  | 38 | unsigned char 		rxdata[ZD1201_RXSIZE]; | 
|  | 39 | int			rxlen; | 
|  | 40 | wait_queue_head_t	rxdataq; | 
|  | 41 | int			rxdatas; | 
|  | 42 | struct hlist_head	fraglist; | 
|  | 43 | unsigned char		txdata[ZD1201_RXSIZE]; | 
|  | 44 |  | 
|  | 45 | int			ap; | 
|  | 46 | char			essid[IW_ESSID_MAX_SIZE+1]; | 
|  | 47 | int			essidlen; | 
|  | 48 | int			mac_enabled; | 
| Colin Leroy | a3c900b | 2005-04-24 16:37:15 -0700 | [diff] [blame] | 49 | int			was_enabled; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | int			monitor; | 
|  | 51 | int			encode_enabled; | 
|  | 52 | int			encode_restricted; | 
|  | 53 | unsigned char		encode_keys[ZD1201_NUMKEYS][ZD1201_MAXKEYLEN]; | 
|  | 54 | int			encode_keylen[ZD1201_NUMKEYS]; | 
|  | 55 | }; | 
|  | 56 |  | 
|  | 57 | struct zd1201_frag { | 
|  | 58 | struct hlist_node	fnode; | 
|  | 59 | int			seq; | 
|  | 60 | struct sk_buff		*skb; | 
|  | 61 | }; | 
|  | 62 |  | 
|  | 63 | #define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV | 
|  | 64 | #define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1 | 
|  | 65 | #define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2 | 
|  | 66 | #define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4 | 
|  | 67 | #define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1 | 
|  | 68 |  | 
|  | 69 | #define ZD1201_FW_TIMEOUT	(1000) | 
|  | 70 |  | 
|  | 71 | #define ZD1201_TX_TIMEOUT	(2000) | 
|  | 72 |  | 
|  | 73 | #define ZD1201_USB_CMDREQ	0 | 
|  | 74 | #define ZD1201_USB_RESREQ	1 | 
|  | 75 |  | 
|  | 76 | #define	ZD1201_CMDCODE_INIT	0x00 | 
|  | 77 | #define ZD1201_CMDCODE_ENABLE	0x01 | 
|  | 78 | #define ZD1201_CMDCODE_DISABLE	0x02 | 
|  | 79 | #define ZD1201_CMDCODE_ALLOC	0x0a | 
|  | 80 | #define ZD1201_CMDCODE_INQUIRE	0x11 | 
|  | 81 | #define ZD1201_CMDCODE_SETRXRID	0x17 | 
|  | 82 | #define ZD1201_CMDCODE_ACCESS	0x21 | 
|  | 83 |  | 
|  | 84 | #define ZD1201_PACKET_EVENTSTAT	0x0 | 
|  | 85 | #define ZD1201_PACKET_RXDATA	0x1 | 
|  | 86 | #define ZD1201_PACKET_INQUIRE	0x2 | 
|  | 87 | #define ZD1201_PACKET_RESOURCE	0x3 | 
|  | 88 |  | 
|  | 89 | #define ZD1201_ACCESSBIT	0x0100 | 
|  | 90 |  | 
|  | 91 | #define ZD1201_RID_CNFPORTTYPE		0xfc00 | 
|  | 92 | #define ZD1201_RID_CNFOWNMACADDR	0xfc01 | 
|  | 93 | #define ZD1201_RID_CNFDESIREDSSID	0xfc02 | 
|  | 94 | #define ZD1201_RID_CNFOWNCHANNEL	0xfc03 | 
|  | 95 | #define ZD1201_RID_CNFOWNSSID		0xfc04 | 
|  | 96 | #define ZD1201_RID_CNFMAXDATALEN	0xfc07 | 
|  | 97 | #define ZD1201_RID_CNFPMENABLED		0xfc09 | 
|  | 98 | #define ZD1201_RID_CNFPMEPS		0xfc0a | 
|  | 99 | #define ZD1201_RID_CNFMAXSLEEPDURATION	0xfc0c | 
|  | 100 | #define ZD1201_RID_CNFDEFAULTKEYID	0xfc23 | 
|  | 101 | #define ZD1201_RID_CNFDEFAULTKEY0	0xfc24 | 
|  | 102 | #define ZD1201_RID_CNFDEFAULTKEY1	0xfc25 | 
|  | 103 | #define ZD1201_RID_CNFDEFAULTKEY2	0xfc26 | 
|  | 104 | #define ZD1201_RID_CNFDEFAULTKEY3	0xfc27 | 
|  | 105 | #define ZD1201_RID_CNFWEBFLAGS		0xfc28 | 
|  | 106 | #define ZD1201_RID_CNFAUTHENTICATION	0xfc2a | 
|  | 107 | #define ZD1201_RID_CNFMAXASSOCSTATIONS	0xfc2b | 
|  | 108 | #define ZD1201_RID_CNFHOSTAUTH		0xfc2e | 
|  | 109 | #define ZD1201_RID_CNFGROUPADDRESS	0xfc80 | 
|  | 110 | #define ZD1201_RID_CNFFRAGTHRESHOLD	0xfc82 | 
|  | 111 | #define ZD1201_RID_CNFRTSTHRESHOLD	0xfc83 | 
|  | 112 | #define ZD1201_RID_TXRATECNTL		0xfc84 | 
|  | 113 | #define ZD1201_RID_PROMISCUOUSMODE	0xfc85 | 
|  | 114 | #define ZD1201_RID_CNFBASICRATES	0xfcb3 | 
|  | 115 | #define ZD1201_RID_AUTHENTICATESTA	0xfce3 | 
|  | 116 | #define ZD1201_RID_CURRENTBSSID		0xfd42 | 
|  | 117 | #define ZD1201_RID_COMMSQUALITY		0xfd43 | 
|  | 118 | #define ZD1201_RID_CURRENTTXRATE	0xfd44 | 
|  | 119 | #define ZD1201_RID_CNFMAXTXBUFFERNUMBER	0xfda0 | 
|  | 120 | #define ZD1201_RID_CURRENTCHANNEL	0xfdc1 | 
|  | 121 |  | 
|  | 122 | #define ZD1201_INQ_SCANRESULTS		0xf101 | 
|  | 123 |  | 
|  | 124 | #define ZD1201_INF_LINKSTATUS		0xf200 | 
|  | 125 | #define ZD1201_INF_ASSOCSTATUS		0xf201 | 
|  | 126 | #define ZD1201_INF_AUTHREQ		0xf202 | 
|  | 127 |  | 
|  | 128 | #define ZD1201_ASSOCSTATUS_STAASSOC	0x1 | 
|  | 129 | #define ZD1201_ASSOCSTATUS_REASSOC	0x2 | 
|  | 130 | #define ZD1201_ASSOCSTATUS_DISASSOC	0x3 | 
|  | 131 | #define ZD1201_ASSOCSTATUS_ASSOCFAIL	0x4 | 
|  | 132 | #define ZD1201_ASSOCSTATUS_AUTHFAIL	0x5 | 
|  | 133 |  | 
|  | 134 | #define ZD1201_PORTTYPE_IBSS		0 | 
|  | 135 | #define ZD1201_PORTTYPE_BSS		1 | 
|  | 136 | #define ZD1201_PORTTYPE_WDS		2 | 
|  | 137 | #define ZD1201_PORTTYPE_PSEUDOIBSS	3 | 
|  | 138 | #define ZD1201_PORTTYPE_AP		6 | 
|  | 139 |  | 
|  | 140 | #define ZD1201_RATEB1	1 | 
|  | 141 | #define ZD1201_RATEB2	2 | 
|  | 142 | #define ZD1201_RATEB5	4	/* 5.5 really, but 5 is shorter :) */ | 
|  | 143 | #define ZD1201_RATEB11	8 | 
|  | 144 |  | 
|  | 145 | #define ZD1201_CNFAUTHENTICATION_OPENSYSTEM	0x0001 | 
|  | 146 | #define ZD1201_CNFAUTHENTICATION_SHAREDKEY	0x0002 | 
|  | 147 |  | 
|  | 148 | #endif /* _INCLUDE_ZD1201_H_ */ |