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