Deleted Added
full compact
ieee80211_ioctl.h (195561) ieee80211_ioctl.h (195618)
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 195561 2009-07-10 15:26:33Z sam $
26 * $FreeBSD: head/sys/net80211/ieee80211_ioctl.h 195618 2009-07-11 15:02:45Z rpaulo $
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>

--- 183 unchanged lines hidden (view full) ---

218 uint8_t is_rx_disassoc_code; /* last rx'd disassoc reason */
219 uint8_t is_rx_authfail_code; /* last rx'd auth fail reason */
220 uint32_t is_beacon_miss; /* beacon miss notification */
221 uint32_t is_rx_badstate; /* rx discard state != RUN */
222 uint32_t is_ff_flush; /* ff's flush'd from stageq */
223 uint32_t is_tx_ctl; /* tx ctrl frames */
224 uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */
225 uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail */
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>

--- 183 unchanged lines hidden (view full) ---

218 uint8_t is_rx_disassoc_code; /* last rx'd disassoc reason */
219 uint8_t is_rx_authfail_code; /* last rx'd auth fail reason */
220 uint32_t is_beacon_miss; /* beacon miss notification */
221 uint32_t is_rx_badstate; /* rx discard state != RUN */
222 uint32_t is_ff_flush; /* ff's flush'd from stageq */
223 uint32_t is_tx_ctl; /* tx ctrl frames */
224 uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */
225 uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail */
226
227 uint32_t is_mesh_wrongmesh; /* dropped 'cuz not mesh sta*/
228 uint32_t is_mesh_nolink; /* dropped 'cuz link not estab*/
229 uint32_t is_mesh_fwd_ttl; /* mesh not fwd'd 'cuz ttl 0 */
230 uint32_t is_mesh_fwd_nobuf; /* mesh not fwd'd 'cuz no mbuf*/
231 uint32_t is_mesh_fwd_tooshort; /* mesh not fwd'd 'cuz no hdr */
232 uint32_t is_mesh_fwd_disabled; /* mesh not fwd'd 'cuz disabled */
233 uint32_t is_mesh_fwd_nopath; /* mesh not fwd'd 'cuz path unknown */
234
235 uint32_t is_hwmp_wrongseq; /* wrong hwmp seq no. */
236 uint32_t is_hwmp_rootreqs; /* root PREQs sent */
237 uint32_t is_hwmp_rootrann; /* root RANNs sent */
238
226 uint32_t is_spare[16];
227};
228
229/*
230 * Max size of optional information elements. We artificially
231 * constrain this; it's limited only by the max frame size (and
232 * the max parameter size of the wireless extensions).
233 */

--- 66 unchanged lines hidden (view full) ---

300 IEEE80211_MACCMD_POLICY_RADIUS = 7, /* set policy: RADIUS managed */
301};
302
303struct ieee80211req_maclist {
304 uint8_t ml_macaddr[IEEE80211_ADDR_LEN];
305} __packed;
306
307/*
239 uint32_t is_spare[16];
240};
241
242/*
243 * Max size of optional information elements. We artificially
244 * constrain this; it's limited only by the max frame size (and
245 * the max parameter size of the wireless extensions).
246 */

--- 66 unchanged lines hidden (view full) ---

313 IEEE80211_MACCMD_POLICY_RADIUS = 7, /* set policy: RADIUS managed */
314};
315
316struct ieee80211req_maclist {
317 uint8_t ml_macaddr[IEEE80211_ADDR_LEN];
318} __packed;
319
320/*
321 * Mesh Routing Table Operations.
322 */
323enum {
324 IEEE80211_MESH_RTCMD_LIST = 0, /* list HWMP routing table */
325 IEEE80211_MESH_RTCMD_FLUSH = 1, /* flush HWMP routing table */
326 IEEE80211_MESH_RTCMD_ADD = 2, /* add entry to the table */
327 IEEE80211_MESH_RTCMD_DELETE = 3, /* delete an entry from the table */
328};
329
330/*
331 * HWMP root modes
332 */
333enum {
334 IEEE80211_HWMP_ROOTMODE_DISABLED = 0, /* disabled */
335 IEEE80211_HWMP_ROOTMODE_NORMAL = 1, /* normal PREPs */
336 IEEE80211_HWMP_ROOTMODE_PROACTIVE = 2, /* proactive PREPS */
337 IEEE80211_HWMP_ROOTMODE_RANN = 3, /* use RANN elemid */
338};
339
340
341/*
308 * Set the active channel list by IEEE channel #: each channel
309 * to be marked active is set in a bit vector. Note this list is
310 * intersected with the available channel list in calculating
311 * the set of channels actually used in scanning.
312 */
313struct ieee80211req_chanlist {
314 uint8_t ic_channels[32]; /* NB: can be variable length */
315};

--- 63 unchanged lines hidden (view full) ---

379 /* NB: [IEEE80211_NONQOS_TID] holds seq#'s for non-QoS stations */
380 uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */
381 uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */
382 uint16_t isi_inact; /* inactivity timer */
383 uint16_t isi_txmbps; /* current tx rate in .5 Mb/s */
384 uint16_t isi_pad;
385 uint32_t isi_jointime; /* time of assoc/join */
386 struct ieee80211_mimo_info isi_mimo; /* MIMO info for 11n sta's */
342 * Set the active channel list by IEEE channel #: each channel
343 * to be marked active is set in a bit vector. Note this list is
344 * intersected with the available channel list in calculating
345 * the set of channels actually used in scanning.
346 */
347struct ieee80211req_chanlist {
348 uint8_t ic_channels[32]; /* NB: can be variable length */
349};

--- 63 unchanged lines hidden (view full) ---

413 /* NB: [IEEE80211_NONQOS_TID] holds seq#'s for non-QoS stations */
414 uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */
415 uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */
416 uint16_t isi_inact; /* inactivity timer */
417 uint16_t isi_txmbps; /* current tx rate in .5 Mb/s */
418 uint16_t isi_pad;
419 uint32_t isi_jointime; /* time of assoc/join */
420 struct ieee80211_mimo_info isi_mimo; /* MIMO info for 11n sta's */
421 /* 11s info */
422 uint16_t isi_peerid;
423 uint16_t isi_localid;
424 uint8_t isi_peerstate;
387 /* XXX frag state? */
388 /* variable length IE data */
389};
390
391/*
392 * Retrieve per-station information; to retrieve all
393 * specify a mac address of ff:ff:ff:ff:ff:ff.
394 */

--- 237 unchanged lines hidden (view full) ---

632#define IEEE80211_IOC_ROAM 107 /* roaming params en masse */
633#define IEEE80211_IOC_TXPARAMS 108 /* tx parameters */
634#define IEEE80211_IOC_STA_VLAN 109 /* per-station vlan tag */
635#define IEEE80211_IOC_SMPS 110 /* MIMO power save */
636#define IEEE80211_IOC_RIFS 111 /* RIFS config (on, off) */
637#define IEEE80211_IOC_GREENFIELD 112 /* Greenfield (on, off) */
638#define IEEE80211_IOC_STBC 113 /* STBC Tx/RX (on, off) */
639
425 /* XXX frag state? */
426 /* variable length IE data */
427};
428
429/*
430 * Retrieve per-station information; to retrieve all
431 * specify a mac address of ff:ff:ff:ff:ff:ff.
432 */

--- 237 unchanged lines hidden (view full) ---

670#define IEEE80211_IOC_ROAM 107 /* roaming params en masse */
671#define IEEE80211_IOC_TXPARAMS 108 /* tx parameters */
672#define IEEE80211_IOC_STA_VLAN 109 /* per-station vlan tag */
673#define IEEE80211_IOC_SMPS 110 /* MIMO power save */
674#define IEEE80211_IOC_RIFS 111 /* RIFS config (on, off) */
675#define IEEE80211_IOC_GREENFIELD 112 /* Greenfield (on, off) */
676#define IEEE80211_IOC_STBC 113 /* STBC Tx/RX (on, off) */
677
678#define IEEE80211_IOC_MESH_ID 170 /* mesh identifier */
679#define IEEE80211_IOC_MESH_AP 171 /* accepting peerings */
680#define IEEE80211_IOC_MESH_FWRD 172 /* forward frames */
681#define IEEE80211_IOC_MESH_PROTO 173 /* mesh protocols */
682#define IEEE80211_IOC_MESH_TTL 174 /* mesh TTL */
683#define IEEE80211_IOC_MESH_RTCMD 175 /* mesh routing table commands*/
684#define IEEE80211_IOC_MESH_PR_METRIC 176 /* mesh metric protocol */
685#define IEEE80211_IOC_MESH_PR_PATH 177 /* mesh path protocol */
686#define IEEE80211_IOC_MESH_PR_SIG 178 /* mesh sig protocol */
687#define IEEE80211_IOC_MESH_PR_CC 179 /* mesh congestion protocol */
688#define IEEE80211_IOC_MESH_PR_AUTH 180 /* mesh auth protocol */
689
690#define IEEE80211_IOC_HWMP_ROOTMODE 190 /* HWMP root mode */
691#define IEEE80211_IOC_HWMP_MAXHOPS 191 /* number of hops before drop */
692#define IEEE80211_IOC_HWMP_TTL 192 /* HWMP TTL */
693
640#define IEEE80211_IOC_TDMA_SLOT 201 /* TDMA: assigned slot */
641#define IEEE80211_IOC_TDMA_SLOTCNT 202 /* TDMA: slots in bss */
642#define IEEE80211_IOC_TDMA_SLOTLEN 203 /* TDMA: slot length (usecs) */
643#define IEEE80211_IOC_TDMA_BINTERVAL 204 /* TDMA: beacon intvl (slots) */
644
645/*
646 * Parameters for controlling a scan requested with
647 * IEEE80211_IOC_SCAN_REQ.

--- 71 unchanged lines hidden (view full) ---

719 int8_t isr_rssi;
720 uint8_t isr_intval; /* beacon interval */
721 uint8_t isr_capinfo; /* capabilities */
722 uint8_t isr_erp; /* ERP element */
723 uint8_t isr_bssid[IEEE80211_ADDR_LEN];
724 uint8_t isr_nrates;
725 uint8_t isr_rates[IEEE80211_RATE_MAXSIZE];
726 uint8_t isr_ssid_len; /* SSID length */
694#define IEEE80211_IOC_TDMA_SLOT 201 /* TDMA: assigned slot */
695#define IEEE80211_IOC_TDMA_SLOTCNT 202 /* TDMA: slots in bss */
696#define IEEE80211_IOC_TDMA_SLOTLEN 203 /* TDMA: slot length (usecs) */
697#define IEEE80211_IOC_TDMA_BINTERVAL 204 /* TDMA: beacon intvl (slots) */
698
699/*
700 * Parameters for controlling a scan requested with
701 * IEEE80211_IOC_SCAN_REQ.

--- 71 unchanged lines hidden (view full) ---

773 int8_t isr_rssi;
774 uint8_t isr_intval; /* beacon interval */
775 uint8_t isr_capinfo; /* capabilities */
776 uint8_t isr_erp; /* ERP element */
777 uint8_t isr_bssid[IEEE80211_ADDR_LEN];
778 uint8_t isr_nrates;
779 uint8_t isr_rates[IEEE80211_RATE_MAXSIZE];
780 uint8_t isr_ssid_len; /* SSID length */
727 /* variable length SSID followed by IE data */
781 uint8_t isr_meshid_len; /* MESH ID length */
782 /* variable length SSID, followed by variable length MESH ID,
783 followed by IE data */
728};
729
730/*
731 * Virtual AP cloning parameters. The parent device must
732 * be a vap-capable device. All parameters specified with
733 * the clone request are fixed for the lifetime of the vap.
734 *
735 * There are two flavors of WDS vaps: legacy and dynamic.

--- 39 unchanged lines hidden ---
784};
785
786/*
787 * Virtual AP cloning parameters. The parent device must
788 * be a vap-capable device. All parameters specified with
789 * the clone request are fixed for the lifetime of the vap.
790 *
791 * There are two flavors of WDS vaps: legacy and dynamic.

--- 39 unchanged lines hidden ---