ieee80211_ioctl.h (186904) | ieee80211_ioctl.h (187801) |
---|---|
1/*- 2 * Copyright (c) 2001 Atsushi Onoe 3 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2001 Atsushi Onoe 3 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/net80211/ieee80211_ioctl.h 186904 2009-01-08 17:12:47Z sam $ | 26 * $FreeBSD: head/sys/net80211/ieee80211_ioctl.h 187801 2009-01-27 23:42:14Z sam $ |
27 */ 28#ifndef _NET80211_IEEE80211_IOCTL_H_ 29#define _NET80211_IEEE80211_IOCTL_H_ 30 31/* 32 * IEEE 802.11 ioctls. 33 */ 34#include <net80211/_ieee80211.h> --- 259 unchanged lines hidden (view full) --- 294 IEEE80211_MACCMD_POLICY_RADIUS = 7, /* set policy: RADIUS managed */ 295}; 296 297struct ieee80211req_maclist { 298 uint8_t ml_macaddr[IEEE80211_ADDR_LEN]; 299}; 300 301/* | 27 */ 28#ifndef _NET80211_IEEE80211_IOCTL_H_ 29#define _NET80211_IEEE80211_IOCTL_H_ 30 31/* 32 * IEEE 802.11 ioctls. 33 */ 34#include <net80211/_ieee80211.h> --- 259 unchanged lines hidden (view full) --- 294 IEEE80211_MACCMD_POLICY_RADIUS = 7, /* set policy: RADIUS managed */ 295}; 296 297struct ieee80211req_maclist { 298 uint8_t ml_macaddr[IEEE80211_ADDR_LEN]; 299}; 300 301/* |
302 * Set the active channel list. Note this list is 303 * intersected with the available channel list in 304 * calculating the set of channels actually used in 305 * scanning. | 302 * Set the active channel list by IEEE channel #: each channel 303 * to be marked active is set in a bit vector. Note this list is 304 * intersected with the available channel list in calculating 305 * the set of channels actually used in scanning. |
306 */ 307struct ieee80211req_chanlist { | 306 */ 307struct ieee80211req_chanlist { |
308 uint8_t ic_channels[IEEE80211_CHAN_BYTES]; | 308 uint8_t ic_channels[32]; /* NB: can be variable length */ |
309}; 310 311/* 312 * Get the active channel list info. 313 */ 314struct ieee80211req_chaninfo { 315 u_int ic_nchans; | 309}; 310 311/* 312 * Get the active channel list info. 313 */ 314struct ieee80211req_chaninfo { 315 u_int ic_nchans; |
316 struct ieee80211_channel ic_chans[IEEE80211_CHAN_MAX]; | 316 struct ieee80211_channel ic_chans[1]; /* NB: variable length */ |
317}; | 317}; |
318#define IEEE80211_CHANINFO_SIZE(_nchan) \ 319 (sizeof(struct ieee80211req_chaninfo) + \ 320 (((_nchan)-1) * sizeof(struct ieee80211_channel))) 321#define IEEE80211_CHANINFO_SPACE(_ci) \ 322 IEEE80211_CHANINFO_SIZE((_ci)->ic_nchans) |
|
318 319/* 320 * Retrieve the WPA/RSN information element for an associated station. 321 */ 322struct ieee80211req_wpaie { /* old version w/ only one ie */ 323 uint8_t wpa_macaddr[IEEE80211_ADDR_LEN]; 324 uint8_t wpa_ie[IEEE80211_MAX_OPT_IE]; 325}; --- 132 unchanged lines hidden (view full) --- 458 * list. The get request for IEEE80211_IOC_REGDOMAIN returns 459 * only the regdomain info; the channel list is obtained 460 * separately with IEEE80211_IOC_CHANINFO. 461 */ 462struct ieee80211_regdomain_req { 463 struct ieee80211_regdomain rd; 464 struct ieee80211req_chaninfo chaninfo; 465}; | 323 324/* 325 * Retrieve the WPA/RSN information element for an associated station. 326 */ 327struct ieee80211req_wpaie { /* old version w/ only one ie */ 328 uint8_t wpa_macaddr[IEEE80211_ADDR_LEN]; 329 uint8_t wpa_ie[IEEE80211_MAX_OPT_IE]; 330}; --- 132 unchanged lines hidden (view full) --- 463 * list. The get request for IEEE80211_IOC_REGDOMAIN returns 464 * only the regdomain info; the channel list is obtained 465 * separately with IEEE80211_IOC_CHANINFO. 466 */ 467struct ieee80211_regdomain_req { 468 struct ieee80211_regdomain rd; 469 struct ieee80211req_chaninfo chaninfo; 470}; |
471#define IEEE80211_REGDOMAIN_SIZE(_nchan) \ 472 (sizeof(struct ieee80211_regdomain_req) + \ 473 (((_nchan)-1) * sizeof(struct ieee80211_channel))) 474#define IEEE80211_REGDOMAIN_SPACE(_req) \ 475 IEEE80211_REGDOMAIN_SIZE((_req)->chaninfo.ic_nchans) |
|
466 467/* 468 * Get driver capabilities. Driver, hardware crypto, and 469 * HT/802.11n capabilities, and a table that describes what 470 * the radio can do. 471 */ 472struct ieee80211_devcaps_req { 473 uint32_t dc_drivercaps; /* general driver caps */ 474 uint32_t dc_cryptocaps; /* hardware crypto support */ 475 uint32_t dc_htcaps; /* HT/802.11n support */ 476 struct ieee80211req_chaninfo dc_chaninfo; 477}; | 476 477/* 478 * Get driver capabilities. Driver, hardware crypto, and 479 * HT/802.11n capabilities, and a table that describes what 480 * the radio can do. 481 */ 482struct ieee80211_devcaps_req { 483 uint32_t dc_drivercaps; /* general driver caps */ 484 uint32_t dc_cryptocaps; /* hardware crypto support */ 485 uint32_t dc_htcaps; /* HT/802.11n support */ 486 struct ieee80211req_chaninfo dc_chaninfo; 487}; |
488#define IEEE80211_DEVCAPS_SIZE(_nchan) \ 489 (sizeof(struct ieee80211_devcaps_req) + \ 490 (((_nchan)-1) * sizeof(struct ieee80211_channel))) 491#define IEEE80211_DEVCAPS_SPACE(_dc) \ 492 IEEE80211_DEVCAPS_SIZE((_dc)->dc_chaninfo.ic_nchans) |
|
478 479struct ieee80211_chanswitch_req { 480 struct ieee80211_channel csa_chan; /* new channel */ 481 int csa_mode; /* CSA mode */ 482 int csa_count; /* beacon count to switch */ 483}; 484 485/* --- 265 unchanged lines hidden --- | 493 494struct ieee80211_chanswitch_req { 495 struct ieee80211_channel csa_chan; /* new channel */ 496 int csa_mode; /* CSA mode */ 497 int csa_count; /* beacon count to switch */ 498}; 499 500/* --- 265 unchanged lines hidden --- |