]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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; | |
1da177e4 LT |
29 | struct iw_statistics iwstats; |
30 | ||
31 | int endp_in; | |
32 | int endp_out; | |
33 | int endp_out2; | |
34 | struct urb *rx_urb; | |
35 | struct urb *tx_urb; | |
36 | ||
37 | unsigned char rxdata[ZD1201_RXSIZE]; | |
38 | int rxlen; | |
39 | wait_queue_head_t rxdataq; | |
40 | int rxdatas; | |
41 | struct hlist_head fraglist; | |
42 | unsigned char txdata[ZD1201_RXSIZE]; | |
43 | ||
44 | int ap; | |
45 | char essid[IW_ESSID_MAX_SIZE+1]; | |
46 | int essidlen; | |
47 | int mac_enabled; | |
a3c900bb | 48 | int was_enabled; |
1da177e4 LT |
49 | int monitor; |
50 | int encode_enabled; | |
51 | int encode_restricted; | |
52 | unsigned char encode_keys[ZD1201_NUMKEYS][ZD1201_MAXKEYLEN]; | |
53 | int encode_keylen[ZD1201_NUMKEYS]; | |
54 | }; | |
55 | ||
56 | struct zd1201_frag { | |
57 | struct hlist_node fnode; | |
58 | int seq; | |
59 | struct sk_buff *skb; | |
60 | }; | |
61 | ||
62 | #define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV | |
63 | #define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1 | |
64 | #define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2 | |
65 | #define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4 | |
66 | #define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1 | |
67 | ||
68 | #define ZD1201_FW_TIMEOUT (1000) | |
69 | ||
70 | #define ZD1201_TX_TIMEOUT (2000) | |
71 | ||
72 | #define ZD1201_USB_CMDREQ 0 | |
73 | #define ZD1201_USB_RESREQ 1 | |
74 | ||
75 | #define ZD1201_CMDCODE_INIT 0x00 | |
76 | #define ZD1201_CMDCODE_ENABLE 0x01 | |
77 | #define ZD1201_CMDCODE_DISABLE 0x02 | |
78 | #define ZD1201_CMDCODE_ALLOC 0x0a | |
79 | #define ZD1201_CMDCODE_INQUIRE 0x11 | |
80 | #define ZD1201_CMDCODE_SETRXRID 0x17 | |
81 | #define ZD1201_CMDCODE_ACCESS 0x21 | |
82 | ||
83 | #define ZD1201_PACKET_EVENTSTAT 0x0 | |
84 | #define ZD1201_PACKET_RXDATA 0x1 | |
85 | #define ZD1201_PACKET_INQUIRE 0x2 | |
86 | #define ZD1201_PACKET_RESOURCE 0x3 | |
87 | ||
88 | #define ZD1201_ACCESSBIT 0x0100 | |
89 | ||
90 | #define ZD1201_RID_CNFPORTTYPE 0xfc00 | |
91 | #define ZD1201_RID_CNFOWNMACADDR 0xfc01 | |
92 | #define ZD1201_RID_CNFDESIREDSSID 0xfc02 | |
93 | #define ZD1201_RID_CNFOWNCHANNEL 0xfc03 | |
94 | #define ZD1201_RID_CNFOWNSSID 0xfc04 | |
95 | #define ZD1201_RID_CNFMAXDATALEN 0xfc07 | |
96 | #define ZD1201_RID_CNFPMENABLED 0xfc09 | |
97 | #define ZD1201_RID_CNFPMEPS 0xfc0a | |
98 | #define ZD1201_RID_CNFMAXSLEEPDURATION 0xfc0c | |
99 | #define ZD1201_RID_CNFDEFAULTKEYID 0xfc23 | |
100 | #define ZD1201_RID_CNFDEFAULTKEY0 0xfc24 | |
101 | #define ZD1201_RID_CNFDEFAULTKEY1 0xfc25 | |
102 | #define ZD1201_RID_CNFDEFAULTKEY2 0xfc26 | |
103 | #define ZD1201_RID_CNFDEFAULTKEY3 0xfc27 | |
104 | #define ZD1201_RID_CNFWEBFLAGS 0xfc28 | |
105 | #define ZD1201_RID_CNFAUTHENTICATION 0xfc2a | |
106 | #define ZD1201_RID_CNFMAXASSOCSTATIONS 0xfc2b | |
107 | #define ZD1201_RID_CNFHOSTAUTH 0xfc2e | |
108 | #define ZD1201_RID_CNFGROUPADDRESS 0xfc80 | |
109 | #define ZD1201_RID_CNFFRAGTHRESHOLD 0xfc82 | |
110 | #define ZD1201_RID_CNFRTSTHRESHOLD 0xfc83 | |
111 | #define ZD1201_RID_TXRATECNTL 0xfc84 | |
112 | #define ZD1201_RID_PROMISCUOUSMODE 0xfc85 | |
113 | #define ZD1201_RID_CNFBASICRATES 0xfcb3 | |
114 | #define ZD1201_RID_AUTHENTICATESTA 0xfce3 | |
115 | #define ZD1201_RID_CURRENTBSSID 0xfd42 | |
116 | #define ZD1201_RID_COMMSQUALITY 0xfd43 | |
117 | #define ZD1201_RID_CURRENTTXRATE 0xfd44 | |
118 | #define ZD1201_RID_CNFMAXTXBUFFERNUMBER 0xfda0 | |
119 | #define ZD1201_RID_CURRENTCHANNEL 0xfdc1 | |
120 | ||
121 | #define ZD1201_INQ_SCANRESULTS 0xf101 | |
122 | ||
123 | #define ZD1201_INF_LINKSTATUS 0xf200 | |
124 | #define ZD1201_INF_ASSOCSTATUS 0xf201 | |
125 | #define ZD1201_INF_AUTHREQ 0xf202 | |
126 | ||
127 | #define ZD1201_ASSOCSTATUS_STAASSOC 0x1 | |
128 | #define ZD1201_ASSOCSTATUS_REASSOC 0x2 | |
129 | #define ZD1201_ASSOCSTATUS_DISASSOC 0x3 | |
130 | #define ZD1201_ASSOCSTATUS_ASSOCFAIL 0x4 | |
131 | #define ZD1201_ASSOCSTATUS_AUTHFAIL 0x5 | |
132 | ||
133 | #define ZD1201_PORTTYPE_IBSS 0 | |
134 | #define ZD1201_PORTTYPE_BSS 1 | |
135 | #define ZD1201_PORTTYPE_WDS 2 | |
136 | #define ZD1201_PORTTYPE_PSEUDOIBSS 3 | |
137 | #define ZD1201_PORTTYPE_AP 6 | |
138 | ||
139 | #define ZD1201_RATEB1 1 | |
140 | #define ZD1201_RATEB2 2 | |
141 | #define ZD1201_RATEB5 4 /* 5.5 really, but 5 is shorter :) */ | |
142 | #define ZD1201_RATEB11 8 | |
143 | ||
144 | #define ZD1201_CNFAUTHENTICATION_OPENSYSTEM 0x0001 | |
145 | #define ZD1201_CNFAUTHENTICATION_SHAREDKEY 0x0002 | |
146 | ||
147 | #endif /* _INCLUDE_ZD1201_H_ */ |