Deleted Added
full compact
ieee80211.h (172055) ieee80211.h (173273)
1/*-
2 * Copyright (c) 2001 Atsushi Onoe
3 * Copyright (c) 2002-2007 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-2007 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.h 172055 2007-09-05 20:29:51Z sam $
26 * $FreeBSD: head/sys/net80211/ieee80211.h 173273 2007-11-02 05:22:25Z sam $
27 */
28#ifndef _NET80211_IEEE80211_H_
29#define _NET80211_IEEE80211_H_
30
31/*
32 * 802.11 protocol definitions.
33 */
34

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

164#define IEEE80211_SEQ_RANGE 4096
165
166#define IEEE80211_SEQ_ADD(seq, incr) \
167 (((seq) + (incr)) & (IEEE80211_SEQ_RANGE-1))
168#define IEEE80211_SEQ_INC(seq) IEEE80211_SEQ_ADD(seq,1)
169#define IEEE80211_SEQ_SUB(a, b) \
170 (((a) + IEEE80211_SEQ_RANGE - (b)) & (IEEE80211_SEQ_RANGE-1))
171
27 */
28#ifndef _NET80211_IEEE80211_H_
29#define _NET80211_IEEE80211_H_
30
31/*
32 * 802.11 protocol definitions.
33 */
34

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

164#define IEEE80211_SEQ_RANGE 4096
165
166#define IEEE80211_SEQ_ADD(seq, incr) \
167 (((seq) + (incr)) & (IEEE80211_SEQ_RANGE-1))
168#define IEEE80211_SEQ_INC(seq) IEEE80211_SEQ_ADD(seq,1)
169#define IEEE80211_SEQ_SUB(a, b) \
170 (((a) + IEEE80211_SEQ_RANGE - (b)) & (IEEE80211_SEQ_RANGE-1))
171
172#define IEEE80211_SEQ_BA_RANGE 2048 /* 2^11 */
173#define IEEE80211_SEQ_BA_BEFORE(a, b) \
174 (IEEE80211_SEQ_SUB(b, a+1) < IEEE80211_SEQ_BA_RANGE-1)
175
172#define IEEE80211_NWID_LEN 32
173
174#define IEEE80211_QOS_TXOP 0x00ff
175/* bit 8 is reserved */
176#define IEEE80211_QOS_AMSDU 0x80
177#define IEEE80211_QOS_AMSDU_S 7
178#define IEEE80211_QOS_ACKPOLICY 0x60
179#define IEEE80211_QOS_ACKPOLICY_S 5

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

541#define IEEE80211_HTCAP_DSSSCCK40 0x1000 /* DSSS/CCK in 40MHz */
542#define IEEE80211_HTCAP_PSMP 0x2000 /* PSMP supported */
543#define IEEE80211_HTCAP_40INTOLERANT 0x4000 /* 40MHz intolerant */
544#define IEEE80211_HTCAP_LSIGTXOPPROT 0x8000 /* L-SIG TXOP prot */
545
546/* HT parameters (hc_param) */
547#define IEEE80211_HTCAP_MAXRXAMPDU 0x03 /* max rx A-MPDU factor */
548#define IEEE80211_HTCAP_MAXRXAMPDU_S 0
176#define IEEE80211_NWID_LEN 32
177
178#define IEEE80211_QOS_TXOP 0x00ff
179/* bit 8 is reserved */
180#define IEEE80211_QOS_AMSDU 0x80
181#define IEEE80211_QOS_AMSDU_S 7
182#define IEEE80211_QOS_ACKPOLICY 0x60
183#define IEEE80211_QOS_ACKPOLICY_S 5

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

545#define IEEE80211_HTCAP_DSSSCCK40 0x1000 /* DSSS/CCK in 40MHz */
546#define IEEE80211_HTCAP_PSMP 0x2000 /* PSMP supported */
547#define IEEE80211_HTCAP_40INTOLERANT 0x4000 /* 40MHz intolerant */
548#define IEEE80211_HTCAP_LSIGTXOPPROT 0x8000 /* L-SIG TXOP prot */
549
550/* HT parameters (hc_param) */
551#define IEEE80211_HTCAP_MAXRXAMPDU 0x03 /* max rx A-MPDU factor */
552#define IEEE80211_HTCAP_MAXRXAMPDU_S 0
549#define IEEE80211_HTCAP_MAXRXAMPDU_8K 0x00
550#define IEEE80211_HTCAP_MAXRXAMPDU_16K 0x01
551#define IEEE80211_HTCAP_MAXRXAMPDU_32K 0x02
552#define IEEE80211_HTCAP_MAXRXAMPDU_64K 0x03
553#define IEEE80211_HTCAP_MAXRXAMPDU_8K 0
554#define IEEE80211_HTCAP_MAXRXAMPDU_16K 1
555#define IEEE80211_HTCAP_MAXRXAMPDU_32K 2
556#define IEEE80211_HTCAP_MAXRXAMPDU_64K 3
553#define IEEE80211_HTCAP_MPDUDENSITY 0x1c /* min MPDU start spacing */
554#define IEEE80211_HTCAP_MPDUDENSITY_S 2
557#define IEEE80211_HTCAP_MPDUDENSITY 0x1c /* min MPDU start spacing */
558#define IEEE80211_HTCAP_MPDUDENSITY_S 2
555#define IEEE80211_HTCAP_MPDUDENSITY_NA 0x00 /* no time restriction */
556#define IEEE80211_HTCAP_MPDUDENSITY_025 0x04 /* 1/4 us */
557#define IEEE80211_HTCAP_MPDUDENSITY_05 0x08 /* 1/2 us */
558#define IEEE80211_HTCAP_MPDUDENSITY_1 0x0c /* 1 us */
559#define IEEE80211_HTCAP_MPDUDENSITY_2 0x10 /* 2 us */
560#define IEEE80211_HTCAP_MPDUDENSITY_4 0x14 /* 4 us */
561#define IEEE80211_HTCAP_MPDUDENSITY_8 0x18 /* 8 us */
562#define IEEE80211_HTCAP_MPDUDENSITY_16 0x1c /* 16 us */
559#define IEEE80211_HTCAP_MPDUDENSITY_NA 0 /* no time restriction */
560#define IEEE80211_HTCAP_MPDUDENSITY_025 1 /* 1/4 us */
561#define IEEE80211_HTCAP_MPDUDENSITY_05 2 /* 1/2 us */
562#define IEEE80211_HTCAP_MPDUDENSITY_1 3 /* 1 us */
563#define IEEE80211_HTCAP_MPDUDENSITY_2 4 /* 2 us */
564#define IEEE80211_HTCAP_MPDUDENSITY_4 5 /* 4 us */
565#define IEEE80211_HTCAP_MPDUDENSITY_8 6 /* 8 us */
566#define IEEE80211_HTCAP_MPDUDENSITY_16 7 /* 16 us */
563
564/* HT extended capabilities (hc_extcap) */
565#define IEEE80211_HTCAP_PCO 0x0001 /* PCO capable */
566#define IEEE80211_HTCAP_PCOTRANS 0x0006 /* PCO transition time */
567#define IEEE80211_HTCAP_PCOTRANS_S 1
568#define IEEE80211_HTCAP_PCOTRANS_04 0x0002 /* 400 us */
569#define IEEE80211_HTCAP_PCOTRANS_15 0x0004 /* 1.5 ms */
570#define IEEE80211_HTCAP_PCOTRANS_5 0x0006 /* 5 ms */

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

681struct ieee80211_country_ie {
682 uint8_t ie; /* IEEE80211_ELEMID_COUNTRY */
683 uint8_t len;
684 uint8_t cc[3]; /* ISO CC+(I)ndoor/(O)utdoor */
685 struct {
686 uint8_t schan; /* starting channel */
687 uint8_t nchan; /* number channels */
688 uint8_t maxtxpwr; /* tx power cap */
567
568/* HT extended capabilities (hc_extcap) */
569#define IEEE80211_HTCAP_PCO 0x0001 /* PCO capable */
570#define IEEE80211_HTCAP_PCOTRANS 0x0006 /* PCO transition time */
571#define IEEE80211_HTCAP_PCOTRANS_S 1
572#define IEEE80211_HTCAP_PCOTRANS_04 0x0002 /* 400 us */
573#define IEEE80211_HTCAP_PCOTRANS_15 0x0004 /* 1.5 ms */
574#define IEEE80211_HTCAP_PCOTRANS_5 0x0006 /* 5 ms */

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

685struct ieee80211_country_ie {
686 uint8_t ie; /* IEEE80211_ELEMID_COUNTRY */
687 uint8_t len;
688 uint8_t cc[3]; /* ISO CC+(I)ndoor/(O)utdoor */
689 struct {
690 uint8_t schan; /* starting channel */
691 uint8_t nchan; /* number channels */
692 uint8_t maxtxpwr; /* tx power cap */
689 } __packed band[4]; /* up to 4 sub bands */
693 } __packed band[10]; /* sub bands */
690} __packed;
691
692/*
693 * 802.11h Channel Switch Announcement (CSA).
694 */
695struct ieee80211_csa_ie {
696 uint8_t csa_ie; /* IEEE80211_ELEMID_CHANSWITCHANN */
697 uint8_t csa_len;

--- 334 unchanged lines hidden ---
694} __packed;
695
696/*
697 * 802.11h Channel Switch Announcement (CSA).
698 */
699struct ieee80211_csa_ie {
700 uint8_t csa_ie; /* IEEE80211_ELEMID_CHANSWITCHANN */
701 uint8_t csa_len;

--- 334 unchanged lines hidden ---