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 --- |