Deleted Added
full compact
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 ---