wi_ieee.h revision 1.3.2.3 1 1.3.2.3 nathanw /* $NetBSD: wi_ieee.h,v 1.3.2.3 2001/09/26 19:54:53 nathanw Exp $ */
2 1.3.2.2 nathanw
3 1.3.2.2 nathanw /*
4 1.3.2.2 nathanw * Copyright (c) 1997, 1998, 1999
5 1.3.2.2 nathanw * Bill Paul <wpaul (at) ctr.columbia.edu>. All rights reserved.
6 1.3.2.2 nathanw *
7 1.3.2.2 nathanw * Redistribution and use in source and binary forms, with or without
8 1.3.2.2 nathanw * modification, are permitted provided that the following conditions
9 1.3.2.2 nathanw * are met:
10 1.3.2.2 nathanw * 1. Redistributions of source code must retain the above copyright
11 1.3.2.2 nathanw * notice, this list of conditions and the following disclaimer.
12 1.3.2.2 nathanw * 2. Redistributions in binary form must reproduce the above copyright
13 1.3.2.2 nathanw * notice, this list of conditions and the following disclaimer in the
14 1.3.2.2 nathanw * documentation and/or other materials provided with the distribution.
15 1.3.2.2 nathanw * 3. All advertising materials mentioning features or use of this software
16 1.3.2.2 nathanw * must display the following acknowledgement:
17 1.3.2.2 nathanw * This product includes software developed by Bill Paul.
18 1.3.2.2 nathanw * 4. Neither the name of the author nor the names of any co-contributors
19 1.3.2.2 nathanw * may be used to endorse or promote products derived from this software
20 1.3.2.2 nathanw * without specific prior written permission.
21 1.3.2.2 nathanw *
22 1.3.2.2 nathanw * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
23 1.3.2.2 nathanw * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 1.3.2.2 nathanw * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 1.3.2.2 nathanw * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
26 1.3.2.2 nathanw * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 1.3.2.2 nathanw * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 1.3.2.2 nathanw * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 1.3.2.2 nathanw * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 1.3.2.2 nathanw * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 1.3.2.2 nathanw * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32 1.3.2.2 nathanw * THE POSSIBILITY OF SUCH DAMAGE.
33 1.3.2.2 nathanw *
34 1.3.2.2 nathanw * $FreeBSD: src/sys/i386/include/if_wavelan_ieee.h,v 1.4 1999/12/29 04:33:01 peter Exp $
35 1.3.2.2 nathanw */
36 1.3.2.2 nathanw
37 1.3.2.2 nathanw #ifndef _IF_WAVELAN_IEEE_H
38 1.3.2.2 nathanw #define _IF_WAVELAN_IEEE_H
39 1.3.2.2 nathanw
40 1.3.2.2 nathanw /*
41 1.3.2.2 nathanw * FreeBSD driver ported to NetBSD by Bill Sommerfeld in the back of the
42 1.3.2.2 nathanw * Oslo IETF plenary meeting.
43 1.3.2.2 nathanw * The stuff in here should probably go into a generic extension to the
44 1.3.2.2 nathanw * ifmedia goop.
45 1.3.2.2 nathanw *
46 1.3.2.2 nathanw * Michael Graff brought over the encryption bits.
47 1.3.2.2 nathanw */
48 1.3.2.2 nathanw
49 1.3.2.2 nathanw /*
50 1.3.2.2 nathanw * This header defines a simple command interface to the FreeBSD
51 1.3.2.2 nathanw * WaveLAN/IEEE driver (wi) driver, which is used to set certain
52 1.3.2.2 nathanw * device-specific parameters which can't be easily managed through
53 1.3.2.2 nathanw * ifconfig(8). No, sysctl(2) is not the answer. I said a _simple_
54 1.3.2.2 nathanw * interface, didn't I.
55 1.3.2.2 nathanw */
56 1.3.2.2 nathanw
57 1.3.2.2 nathanw #ifndef SIOCSWAVELAN
58 1.3.2.2 nathanw #define SIOCSWAVELAN SIOCSIFGENERIC
59 1.3.2.2 nathanw #endif
60 1.3.2.2 nathanw
61 1.3.2.2 nathanw #ifndef SIOCGWAVELAN
62 1.3.2.2 nathanw #define SIOCGWAVELAN SIOCGIFGENERIC
63 1.3.2.2 nathanw #endif
64 1.3.2.2 nathanw
65 1.3.2.2 nathanw /*
66 1.3.2.2 nathanw * Technically I don't think there's a limit to a record
67 1.3.2.2 nathanw * length. The largest record is the one that contains the CIS
68 1.3.2.2 nathanw * data, which is 240 words long, so 256 should be a safe
69 1.3.2.3 nathanw * value. But 512 is more safe?
70 1.3.2.2 nathanw */
71 1.3.2.2 nathanw #define WI_MAX_DATALEN 512
72 1.3.2.2 nathanw
73 1.3.2.2 nathanw struct wi_req {
74 1.3.2.2 nathanw u_int16_t wi_len;
75 1.3.2.2 nathanw u_int16_t wi_type;
76 1.3.2.2 nathanw u_int16_t wi_val[WI_MAX_DATALEN];
77 1.3.2.2 nathanw };
78 1.3.2.2 nathanw
79 1.3.2.3 nathanw #define WI_IOCTL_SET_SCAN 1
80 1.3.2.3 nathanw #define WI_IOCTL_GET_SCAN 2
81 1.3.2.3 nathanw #define WI_IOCTL_GET_SCAN_RESULTS 3
82 1.3.2.3 nathanw #define WI_IOCTL_SET_TESTMODE 4
83 1.3.2.3 nathanw #define WI_IOCTL_MGMT_XMIT 5
84 1.3.2.3 nathanw #define WI_IOCTL_IFACE_STATS 6
85 1.3.2.3 nathanw
86 1.3.2.2 nathanw /*
87 1.3.2.2 nathanw * Private LTV records (interpreted only by the driver). This is
88 1.3.2.2 nathanw * a minor kludge to allow reading the interface statistics from
89 1.3.2.2 nathanw * the driver.
90 1.3.2.2 nathanw */
91 1.3.2.2 nathanw #define WI_RID_IFACE_STATS 0x0100
92 1.3.2.2 nathanw #define WI_RID_MGMT_XMIT 0x0200
93 1.3.2.2 nathanw #ifdef WICACHE
94 1.3.2.2 nathanw #define WI_RID_ZERO_CACHE 0x0300
95 1.3.2.2 nathanw #define WI_RID_READ_CACHE 0x0400
96 1.3.2.2 nathanw #endif
97 1.3.2.2 nathanw
98 1.3.2.2 nathanw struct wi_80211_hdr {
99 1.3.2.2 nathanw u_int16_t frame_ctl;
100 1.3.2.2 nathanw u_int16_t dur_id;
101 1.3.2.2 nathanw u_int8_t addr1[6];
102 1.3.2.2 nathanw u_int8_t addr2[6];
103 1.3.2.2 nathanw u_int8_t addr3[6];
104 1.3.2.2 nathanw u_int16_t seq_ctl;
105 1.3.2.2 nathanw u_int8_t addr4[6];
106 1.3.2.2 nathanw };
107 1.3.2.2 nathanw
108 1.3.2.2 nathanw #define WI_FCTL_VERS 0x0002
109 1.3.2.2 nathanw #define WI_FCTL_FTYPE 0x000C
110 1.3.2.2 nathanw #define WI_FCTL_STYPE 0x00F0
111 1.3.2.2 nathanw #define WI_FCTL_TODS 0x0100
112 1.3.2.2 nathanw #define WI_FCTL_FROMDS 0x0200
113 1.3.2.2 nathanw #define WI_FCTL_MOREFRAGS 0x0400
114 1.3.2.2 nathanw #define WI_FCTL_RETRY 0x0800
115 1.3.2.2 nathanw #define WI_FCTL_PM 0x1000
116 1.3.2.2 nathanw #define WI_FCTL_MOREDATA 0x2000
117 1.3.2.2 nathanw #define WI_FCTL_WEP 0x4000
118 1.3.2.2 nathanw #define WI_FCTL_ORDER 0x8000
119 1.3.2.2 nathanw
120 1.3.2.2 nathanw #define WI_FTYPE_MGMT 0x0000
121 1.3.2.2 nathanw #define WI_FTYPE_CTL 0x0004
122 1.3.2.2 nathanw #define WI_FTYPE_DATA 0x0008
123 1.3.2.2 nathanw
124 1.3.2.2 nathanw #define WI_STYPE_MGMT_ASREQ 0x0000 /* association request */
125 1.3.2.2 nathanw #define WI_STYPE_MGMT_ASRESP 0x0010 /* association response */
126 1.3.2.2 nathanw #define WI_STYPE_MGMT_REASREQ 0x0020 /* reassociation request */
127 1.3.2.2 nathanw #define WI_STYPE_MGMT_REASRESP 0x0030 /* reassociation response */
128 1.3.2.2 nathanw #define WI_STYPE_MGMT_PROBEREQ 0x0040 /* probe request */
129 1.3.2.2 nathanw #define WI_STYPE_MGMT_PROBERESP 0x0050 /* probe response */
130 1.3.2.2 nathanw #define WI_STYPE_MGMT_BEACON 0x0080 /* beacon */
131 1.3.2.2 nathanw #define WI_STYPE_MGMT_ATIM 0x0090 /* announcement traffic ind msg */
132 1.3.2.2 nathanw #define WI_STYPE_MGMT_DISAS 0x00A0 /* disassociation */
133 1.3.2.2 nathanw #define WI_STYPE_MGMT_AUTH 0x00B0 /* authentication */
134 1.3.2.2 nathanw #define WI_STYPE_MGMT_DEAUTH 0x00C0 /* deauthentication */
135 1.3.2.2 nathanw
136 1.3.2.2 nathanw struct wi_mgmt_hdr {
137 1.3.2.2 nathanw u_int16_t frame_ctl;
138 1.3.2.2 nathanw u_int16_t duration;
139 1.3.2.2 nathanw u_int8_t dst_addr[6];
140 1.3.2.2 nathanw u_int8_t src_addr[6];
141 1.3.2.2 nathanw u_int8_t bssid[6];
142 1.3.2.2 nathanw u_int16_t seq_ctl;
143 1.3.2.2 nathanw };
144 1.3.2.2 nathanw
145 1.3.2.2 nathanw /*
146 1.3.2.2 nathanw * Lucent/wavelan IEEE signal strength cache
147 1.3.2.2 nathanw *
148 1.3.2.2 nathanw * driver keeps cache of last
149 1.3.2.2 nathanw * MAXWICACHE packets to arrive including signal strength info.
150 1.3.2.2 nathanw * daemons may read this via ioctl
151 1.3.2.2 nathanw *
152 1.3.2.2 nathanw * Each entry in the wi_sigcache has a unique macsrc.
153 1.3.2.2 nathanw */
154 1.3.2.2 nathanw #ifdef WICACHE
155 1.3.2.2 nathanw #define MAXWICACHE 10
156 1.3.2.2 nathanw
157 1.3.2.2 nathanw struct wi_sigcache {
158 1.3.2.2 nathanw char macsrc[6]; /* unique MAC address for entry */
159 1.3.2.2 nathanw int ipsrc; /* ip address associated with packet */
160 1.3.2.2 nathanw int signal; /* signal strength of the packet */
161 1.3.2.2 nathanw int noise; /* noise value */
162 1.3.2.2 nathanw int quality; /* quality of the packet */
163 1.3.2.2 nathanw };
164 1.3.2.2 nathanw #endif
165 1.3.2.2 nathanw
166 1.3.2.2 nathanw struct wi_counters {
167 1.3.2.2 nathanw u_int32_t wi_tx_unicast_frames;
168 1.3.2.2 nathanw u_int32_t wi_tx_multicast_frames;
169 1.3.2.2 nathanw u_int32_t wi_tx_fragments;
170 1.3.2.2 nathanw u_int32_t wi_tx_unicast_octets;
171 1.3.2.2 nathanw u_int32_t wi_tx_multicast_octets;
172 1.3.2.2 nathanw u_int32_t wi_tx_deferred_xmits;
173 1.3.2.2 nathanw u_int32_t wi_tx_single_retries;
174 1.3.2.2 nathanw u_int32_t wi_tx_multi_retries;
175 1.3.2.2 nathanw u_int32_t wi_tx_retry_limit;
176 1.3.2.2 nathanw u_int32_t wi_tx_discards;
177 1.3.2.2 nathanw u_int32_t wi_rx_unicast_frames;
178 1.3.2.2 nathanw u_int32_t wi_rx_multicast_frames;
179 1.3.2.2 nathanw u_int32_t wi_rx_fragments;
180 1.3.2.2 nathanw u_int32_t wi_rx_unicast_octets;
181 1.3.2.2 nathanw u_int32_t wi_rx_multicast_octets;
182 1.3.2.2 nathanw u_int32_t wi_rx_fcs_errors;
183 1.3.2.2 nathanw u_int32_t wi_rx_discards_nobuf;
184 1.3.2.2 nathanw u_int32_t wi_tx_discards_wrong_sa;
185 1.3.2.2 nathanw u_int32_t wi_rx_WEP_cant_decrypt;
186 1.3.2.2 nathanw u_int32_t wi_rx_msg_in_msg_frags;
187 1.3.2.2 nathanw u_int32_t wi_rx_msg_in_bad_msg_frags;
188 1.3.2.2 nathanw };
189 1.3.2.2 nathanw
190 1.3.2.2 nathanw /*
191 1.3.2.3 nathanw * results of last ap scan
192 1.3.2.3 nathanw */
193 1.3.2.3 nathanw #define WI_SCAN_RESULTS_MAXLEN 512
194 1.3.2.3 nathanw struct wi_scan_results {
195 1.3.2.3 nathanw int truncated; /* incomplete data in result */
196 1.3.2.3 nathanw u_int scanning; /* in hz units */
197 1.3.2.3 nathanw struct timeval lastscan; /* time scan was completed */
198 1.3.2.3 nathanw u_int16_t len; /* number of words */
199 1.3.2.3 nathanw u_int16_t scan_results[WI_SCAN_RESULTS_MAXLEN];
200 1.3.2.3 nathanw };
201 1.3.2.3 nathanw
202 1.3.2.3 nathanw /*
203 1.3.2.2 nathanw * These are all the LTV record types that we can read or write
204 1.3.2.2 nathanw * from the WaveLAN. Not all of them are temendously useful, but I
205 1.3.2.2 nathanw * list as many as I know about here for completeness.
206 1.3.2.2 nathanw */
207 1.3.2.2 nathanw
208 1.3.2.2 nathanw #define WI_RID_DNLD_BUF 0xFD01
209 1.3.2.2 nathanw #define WI_RID_MEMSZ 0xFD02
210 1.3.2.2 nathanw #define WI_RID_CARDID 0xFD0B
211 1.3.2.2 nathanw #define WI_RID_DOMAINS 0xFD11
212 1.3.2.2 nathanw #define WI_RID_CIS 0xFD13
213 1.3.2.2 nathanw #define WI_RID_COMMQUAL 0xFD43
214 1.3.2.2 nathanw #define WI_RID_SCALETHRESH 0xFD46
215 1.3.2.2 nathanw #define WI_RID_PCF 0xFD87
216 1.3.2.2 nathanw
217 1.3.2.2 nathanw /*
218 1.3.2.2 nathanw * Network parameters, static configuration entities.
219 1.3.2.2 nathanw */
220 1.3.2.2 nathanw #define WI_RID_PORTTYPE 0xFC00 /* Connection control characteristics */
221 1.3.2.2 nathanw #define WI_RID_MAC_NODE 0xFC01 /* MAC address of this station */
222 1.3.2.2 nathanw #define WI_RID_DESIRED_SSID 0xFC02 /* Service Set ID for connection */
223 1.3.2.2 nathanw #define WI_RID_OWN_CHNL 0xFC03 /* Comm channel for BSS creation */
224 1.3.2.2 nathanw #define WI_RID_OWN_SSID 0xFC04 /* IBSS creation ID */
225 1.3.2.2 nathanw #define WI_RID_OWN_ATIM_WIN 0xFC05 /* ATIM window time for IBSS creation */
226 1.3.2.2 nathanw #define WI_RID_SYSTEM_SCALE 0xFC06 /* scale that specifies AP density */
227 1.3.2.2 nathanw #define WI_RID_MAX_DATALEN 0xFC07 /* Max len of MAC frame body data */
228 1.3.2.2 nathanw #define WI_RID_MAC_WDS 0xFC08 /* MAC addr of corresponding WDS node */
229 1.3.2.2 nathanw #define WI_RID_PM_ENABLED 0xFC09 /* ESS power management enable */
230 1.3.2.2 nathanw #define WI_RID_PM_EPS 0xFC0A /* PM EPS/PS mode */
231 1.3.2.2 nathanw #define WI_RID_MCAST_RX 0xFC0B /* ESS PM mcast reception */
232 1.3.2.2 nathanw #define WI_RID_MAX_SLEEP 0xFC0C /* max sleep time for ESS PM */
233 1.3.2.2 nathanw #define WI_RID_HOLDOVER 0xFC0D /* holdover time for ESS PM */
234 1.3.2.2 nathanw #define WI_RID_NODENAME 0xFC0E /* ID name of this node for diag */
235 1.3.2.2 nathanw #define WI_RID_DTIM_PERIOD 0xFC10 /* beacon interval between DTIMs */
236 1.3.2.2 nathanw #define WI_RID_WDS_ADDR1 0xFC11 /* port 1 MAC of WDS link node */
237 1.3.2.2 nathanw #define WI_RID_WDS_ADDR2 0xFC12 /* port 1 MAC of WDS link node */
238 1.3.2.2 nathanw #define WI_RID_WDS_ADDR3 0xFC13 /* port 1 MAC of WDS link node */
239 1.3.2.2 nathanw #define WI_RID_WDS_ADDR4 0xFC14 /* port 1 MAC of WDS link node */
240 1.3.2.2 nathanw #define WI_RID_WDS_ADDR5 0xFC15 /* port 1 MAC of WDS link node */
241 1.3.2.2 nathanw #define WI_RID_WDS_ADDR6 0xFC16 /* port 1 MAC of WDS link node */
242 1.3.2.2 nathanw #define WI_RID_MCAST_PM_BUF 0xFC17 /* PM buffering of mcast */
243 1.3.2.2 nathanw #define WI_RID_ENCRYPTION 0xFC20 /* enable/disable WEP */
244 1.3.2.2 nathanw #define WI_RID_AUTHTYPE 0xFC21 /* specify authentication type */
245 1.3.2.2 nathanw #define WI_RID_P2_TX_CRYPT_KEY 0xFC23
246 1.3.2.2 nathanw #define WI_RID_P2_CRYPT_KEY0 0xFC24
247 1.3.2.2 nathanw #define WI_RID_P2_CRYPT_KEY1 0xFC25
248 1.3.2.2 nathanw #define WI_RID_MICROWAVE_OVEN 0xFC25
249 1.3.2.2 nathanw #define WI_RID_P2_CRYPT_KEY2 0xFC26
250 1.3.2.2 nathanw #define WI_RID_P2_CRYPT_KEY3 0xFC27
251 1.3.2.2 nathanw #define WI_RID_P2_ENCRYPTION 0xFC28
252 1.3.2.2 nathanw #define WI_RID_WEP_MAPTABLE 0xFC29
253 1.3.2.2 nathanw #define WI_RID_AUTH_CNTL 0xFC2A
254 1.3.2.2 nathanw #define WI_RID_ROAMING_MODE 0xFC2D
255 1.3.2.2 nathanw #define WI_RID_BASIC_RATE 0xFCB3
256 1.3.2.2 nathanw #define WI_RID_SUPPORT_RATE 0xFCB4
257 1.3.2.2 nathanw
258 1.3.2.2 nathanw /*
259 1.3.2.2 nathanw * Network parameters, dynamic configuration entities
260 1.3.2.2 nathanw */
261 1.3.2.2 nathanw #define WI_RID_MCAST_LIST 0xFC80 /* list of multicast addrs */
262 1.3.2.2 nathanw #define WI_RID_CREATE_IBSS 0xFC81 /* create IBSS */
263 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH 0xFC82 /* frag len, unicast msg xmit */
264 1.3.2.2 nathanw #define WI_RID_RTS_THRESH 0xFC83 /* frame len for RTS/CTS handshake */
265 1.3.2.2 nathanw #define WI_RID_TX_RATE 0xFC84 /* data rate for message xmit */
266 1.3.2.2 nathanw #define WI_RID_PROMISC 0xFC85 /* enable promisc mode */
267 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH0 0xFC90
268 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH1 0xFC91
269 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH2 0xFC92
270 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH3 0xFC93
271 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH4 0xFC94
272 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH5 0xFC95
273 1.3.2.2 nathanw #define WI_RID_FRAG_THRESH6 0xFC96
274 1.3.2.2 nathanw #define WI_RID_RTS_THRESH0 0xFC97
275 1.3.2.2 nathanw #define WI_RID_RTS_THRESH1 0xFC98
276 1.3.2.2 nathanw #define WI_RID_RTS_THRESH2 0xFC99
277 1.3.2.2 nathanw #define WI_RID_RTS_THRESH3 0xFC9A
278 1.3.2.2 nathanw #define WI_RID_RTS_THRESH4 0xFC9B
279 1.3.2.2 nathanw #define WI_RID_RTS_THRESH5 0xFC9C
280 1.3.2.2 nathanw #define WI_RID_RTS_THRESH6 0xFC9D
281 1.3.2.2 nathanw #define WI_RID_TX_RATE0 0xFC9E
282 1.3.2.2 nathanw #define WI_RID_TX_RATE1 0xFC9F
283 1.3.2.2 nathanw #define WI_RID_TX_RATE2 0xFCA0
284 1.3.2.2 nathanw #define WI_RID_TX_RATE3 0xFCA1
285 1.3.2.2 nathanw #define WI_RID_TX_RATE4 0xFCA2
286 1.3.2.2 nathanw #define WI_RID_TX_RATE5 0xFCA3
287 1.3.2.2 nathanw #define WI_RID_TX_RATE6 0xFCA4
288 1.3.2.2 nathanw #define WI_RID_DEFLT_CRYPT_KEYS 0xFCB0
289 1.3.2.2 nathanw #define WI_RID_TX_CRYPT_KEY 0xFCB1
290 1.3.2.2 nathanw #define WI_RID_TICK_TIME 0xFCE0
291 1.3.2.2 nathanw #define WI_RID_SCAN_REQ 0xFCE1
292 1.3.2.2 nathanw #define WI_RID_JOIN_REQ 0xFCE2
293 1.3.2.2 nathanw
294 1.3.2.2 nathanw struct wi_key {
295 1.3.2.2 nathanw u_int16_t wi_keylen;
296 1.3.2.2 nathanw u_int8_t wi_keydat[14];
297 1.3.2.2 nathanw };
298 1.3.2.2 nathanw
299 1.3.2.2 nathanw struct wi_ltv_keys {
300 1.3.2.2 nathanw u_int16_t wi_len;
301 1.3.2.2 nathanw u_int16_t wi_type;
302 1.3.2.2 nathanw struct wi_key wi_keys[4];
303 1.3.2.2 nathanw };
304 1.3.2.2 nathanw
305 1.3.2.2 nathanw /*
306 1.3.2.2 nathanw * NIC information
307 1.3.2.2 nathanw */
308 1.3.2.2 nathanw #define WI_RID_FIRM_ID 0xFD02 /* Primary func firmware ID. */
309 1.3.2.2 nathanw #define WI_RID_PRI_SUP_RANGE 0xFD03 /* primary supplier compatibility */
310 1.3.2.2 nathanw #define WI_RID_CIF_ACT_RANGE 0xFD04 /* controller sup. compatibility */
311 1.3.2.2 nathanw #define WI_RID_SERIALNO 0xFD0A /* card serial number */
312 1.3.2.2 nathanw #define WI_RID_CARD_ID 0xFD0B /* card identification */
313 1.3.2.2 nathanw #define WI_RID_MFI_SUP_RANGE 0xFD0C /* modem supplier compatibility */
314 1.3.2.2 nathanw #define WI_RID_CFI_SUP_RANGE 0xFD0D /* controller sup. compatibility */
315 1.3.2.2 nathanw #define WI_RID_CHANNEL_LIST 0xFD10 /* allowd comm. frequencies. */
316 1.3.2.2 nathanw #define WI_RID_REG_DOMAINS 0xFD11 /* list of intendted regulatory doms */
317 1.3.2.2 nathanw #define WI_RID_TEMP_TYPE 0xFD12 /* hw temp range code */
318 1.3.2.2 nathanw #define WI_RID_CIS 0xFD13 /* PC card info struct */
319 1.3.2.2 nathanw #define WI_RID_STA_IDENTITY 0xFD20 /* station funcs firmware ident */
320 1.3.2.2 nathanw #define WI_RID_STA_SUP_RANGE 0xFD21 /* station supplier compat */
321 1.3.2.2 nathanw #define WI_RID_MFI_ACT_RANGE 0xFD22
322 1.3.2.2 nathanw #define WI_RID_CFI_ACT_RANGE 0xFD33
323 1.3.2.2 nathanw
324 1.3.2.2 nathanw /*
325 1.3.2.2 nathanw * MAC information
326 1.3.2.2 nathanw */
327 1.3.2.2 nathanw #define WI_RID_PORT_STAT 0xFD40 /* actual MAC port con control stat */
328 1.3.2.2 nathanw #define WI_RID_CURRENT_SSID 0xFD41 /* ID of actually connected SS */
329 1.3.2.2 nathanw #define WI_RID_CURRENT_BSSID 0xFD42 /* ID of actually connected BSS */
330 1.3.2.2 nathanw #define WI_RID_COMMS_QUALITY 0xFD43 /* quality of BSS connection */
331 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE 0xFD44 /* current TX rate */
332 1.3.2.2 nathanw #define WI_RID_OWN_BEACON_INT 0xFD45 /* beacon xmit time for BSS creation */
333 1.3.2.2 nathanw #define WI_RID_CUR_SCALE_THRESH 0xFD46 /* actual system scane thresh setting */
334 1.3.2.2 nathanw #define WI_RID_PROT_RESP_TIME 0xFD47 /* time to wait for resp to req msg */
335 1.3.2.2 nathanw #define WI_RID_SHORT_RTR_LIM 0xFD48 /* max tx attempts for short frames */
336 1.3.2.2 nathanw #define WI_RID_LONG_RTS_LIM 0xFD49 /* max tx attempts for long frames */
337 1.3.2.2 nathanw #define WI_RID_MAX_TX_LIFE 0xFD4A /* max tx frame handling duration */
338 1.3.2.2 nathanw #define WI_RID_MAX_RX_LIFE 0xFD4B /* max rx frame handling duration */
339 1.3.2.2 nathanw #define WI_RID_CF_POLL 0xFD4C /* contention free pollable ind */
340 1.3.2.2 nathanw #define WI_RID_AUTH_ALGS 0xFD4D /* auth algorithms available */
341 1.3.2.2 nathanw #define WI_RID_AUTH_TYPE 0xFD4E /* available auth types */
342 1.3.2.2 nathanw #define WI_RID_WEP_AVAIL 0xFD4F /* WEP privacy option available */
343 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE1 0xFD80
344 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE2 0xFD81
345 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE3 0xFD82
346 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE4 0xFD83
347 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE5 0xFD84
348 1.3.2.2 nathanw #define WI_RID_CUR_TX_RATE6 0xFD85
349 1.3.2.2 nathanw #define WI_RID_OWN_MAC 0xFD86 /* unique local MAC addr */
350 1.3.2.2 nathanw #define WI_RID_PCI_INFO 0xFD87 /* point coordination func cap */
351 1.3.2.2 nathanw
352 1.3.2.2 nathanw /*
353 1.3.2.2 nathanw * Modem information
354 1.3.2.2 nathanw */
355 1.3.2.2 nathanw #define WI_RID_PHY_TYPE 0xFDC0 /* phys layer type indication */
356 1.3.2.2 nathanw #define WI_RID_CURRENT_CHAN 0xFDC1 /* current frequency */
357 1.3.2.2 nathanw #define WI_RID_PWR_STATE 0xFDC2 /* pwr consumption status */
358 1.3.2.2 nathanw #define WI_RID_CCA_MODE 0xFDC3 /* clear chan assess mode indication */
359 1.3.2.2 nathanw #define WI_RID_CCA_TIME 0xFDC4 /* clear chan assess time */
360 1.3.2.2 nathanw #define WI_RID_MAC_PROC_DELAY 0xFDC5 /* MAC processing delay time */
361 1.3.2.2 nathanw #define WI_RID_DATA_RATES 0xFDC6 /* supported data rates */
362 1.3.2.2 nathanw
363 1.3.2.2 nathanw #endif
364