Deleted Added
full compact
ieee80211.h (295795) ieee80211.h (296823)
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.h 295795 2016-02-19 05:59:38Z avos $
26 * $FreeBSD: head/sys/net80211/ieee80211.h 296823 2016-03-14 04:39:35Z adrian $
27 */
28#ifndef _NET80211_IEEE80211_H_
29#define _NET80211_IEEE80211_H_
30
31/*
32 * 802.11 protocol definitions.
33 */
34

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

703 IEEE80211_ELEMID_SSID = 0,
704 IEEE80211_ELEMID_RATES = 1,
705 IEEE80211_ELEMID_FHPARMS = 2,
706 IEEE80211_ELEMID_DSPARMS = 3,
707 IEEE80211_ELEMID_CFPARMS = 4,
708 IEEE80211_ELEMID_TIM = 5,
709 IEEE80211_ELEMID_IBSSPARMS = 6,
710 IEEE80211_ELEMID_COUNTRY = 7,
27 */
28#ifndef _NET80211_IEEE80211_H_
29#define _NET80211_IEEE80211_H_
30
31/*
32 * 802.11 protocol definitions.
33 */
34

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

703 IEEE80211_ELEMID_SSID = 0,
704 IEEE80211_ELEMID_RATES = 1,
705 IEEE80211_ELEMID_FHPARMS = 2,
706 IEEE80211_ELEMID_DSPARMS = 3,
707 IEEE80211_ELEMID_CFPARMS = 4,
708 IEEE80211_ELEMID_TIM = 5,
709 IEEE80211_ELEMID_IBSSPARMS = 6,
710 IEEE80211_ELEMID_COUNTRY = 7,
711 IEEE80211_ELEMID_BSSLOAD = 11,
711 IEEE80211_ELEMID_CHALLENGE = 16,
712 /* 17-31 reserved for challenge text extension */
713 IEEE80211_ELEMID_PWRCNSTR = 32,
714 IEEE80211_ELEMID_PWRCAP = 33,
715 IEEE80211_ELEMID_TPCREQ = 34,
716 IEEE80211_ELEMID_TPCREP = 35,
717 IEEE80211_ELEMID_SUPPCHAN = 36,
718 IEEE80211_ELEMID_CSA = 37,
719 IEEE80211_ELEMID_MEASREQ = 38,
720 IEEE80211_ELEMID_MEASREP = 39,
721 IEEE80211_ELEMID_QUIET = 40,
722 IEEE80211_ELEMID_IBSSDFS = 41,
723 IEEE80211_ELEMID_ERP = 42,
724 IEEE80211_ELEMID_HTCAP = 45,
725 IEEE80211_ELEMID_QOS = 46,
726 IEEE80211_ELEMID_RSN = 48,
727 IEEE80211_ELEMID_XRATES = 50,
712 IEEE80211_ELEMID_CHALLENGE = 16,
713 /* 17-31 reserved for challenge text extension */
714 IEEE80211_ELEMID_PWRCNSTR = 32,
715 IEEE80211_ELEMID_PWRCAP = 33,
716 IEEE80211_ELEMID_TPCREQ = 34,
717 IEEE80211_ELEMID_TPCREP = 35,
718 IEEE80211_ELEMID_SUPPCHAN = 36,
719 IEEE80211_ELEMID_CSA = 37,
720 IEEE80211_ELEMID_MEASREQ = 38,
721 IEEE80211_ELEMID_MEASREP = 39,
722 IEEE80211_ELEMID_QUIET = 40,
723 IEEE80211_ELEMID_IBSSDFS = 41,
724 IEEE80211_ELEMID_ERP = 42,
725 IEEE80211_ELEMID_HTCAP = 45,
726 IEEE80211_ELEMID_QOS = 46,
727 IEEE80211_ELEMID_RSN = 48,
728 IEEE80211_ELEMID_XRATES = 50,
729 IEEE80211_ELEMID_APCHANREP = 51,
728 IEEE80211_ELEMID_HTINFO = 61,
729 IEEE80211_ELEMID_TPC = 150,
730 IEEE80211_ELEMID_CCKM = 156,
731 IEEE80211_ELEMID_VENDOR = 221, /* vendor private */
732
733 /*
734 * 802.11s IEs
735 * NB: On vanilla Linux still IEEE80211_ELEMID_MESHPEER = 55,

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

744 IEEE80211_ELEMID_MESHCSA = 118,
745 IEEE80211_ELEMID_MESHTIM = 39, /* XXX: remove */
746 IEEE80211_ELEMID_MESHAWAKEW = 119,
747 IEEE80211_ELEMID_MESHBEACONT = 120,
748 /* 121-124 MMCAOP not implemented yet */
749 IEEE80211_ELEMID_MESHGANN = 125,
750 IEEE80211_ELEMID_MESHRANN = 126,
751 /* 127 Extended Capabilities */
730 IEEE80211_ELEMID_HTINFO = 61,
731 IEEE80211_ELEMID_TPC = 150,
732 IEEE80211_ELEMID_CCKM = 156,
733 IEEE80211_ELEMID_VENDOR = 221, /* vendor private */
734
735 /*
736 * 802.11s IEs
737 * NB: On vanilla Linux still IEEE80211_ELEMID_MESHPEER = 55,

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

746 IEEE80211_ELEMID_MESHCSA = 118,
747 IEEE80211_ELEMID_MESHTIM = 39, /* XXX: remove */
748 IEEE80211_ELEMID_MESHAWAKEW = 119,
749 IEEE80211_ELEMID_MESHBEACONT = 120,
750 /* 121-124 MMCAOP not implemented yet */
751 IEEE80211_ELEMID_MESHGANN = 125,
752 IEEE80211_ELEMID_MESHRANN = 126,
753 /* 127 Extended Capabilities */
754 IEEE80211_ELEMID_MESHEXTCAP = 127,
752 /* 128-129 reserved */
753 IEEE80211_ELEMID_MESHPREQ = 130,
754 IEEE80211_ELEMID_MESHPREP = 131,
755 IEEE80211_ELEMID_MESHPERR = 132,
756 /* 133-136 reserved */
757 IEEE80211_ELEMID_MESHPXU = 137,
758 IEEE80211_ELEMID_MESHPXUC = 138,
759 IEEE80211_ELEMID_MESHAH = 60, /* XXX: remove */

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

778 uint8_t maxtxpwr; /* tx power cap */
779 } __packed band[1]; /* sub bands (NB: var size) */
780} __packed;
781
782#define IEEE80211_COUNTRY_MAX_BANDS 84 /* max possible bands */
783#define IEEE80211_COUNTRY_MAX_SIZE \
784 (sizeof(struct ieee80211_country_ie) + 3*(IEEE80211_COUNTRY_MAX_BANDS-1))
785
755 /* 128-129 reserved */
756 IEEE80211_ELEMID_MESHPREQ = 130,
757 IEEE80211_ELEMID_MESHPREP = 131,
758 IEEE80211_ELEMID_MESHPERR = 132,
759 /* 133-136 reserved */
760 IEEE80211_ELEMID_MESHPXU = 137,
761 IEEE80211_ELEMID_MESHPXUC = 138,
762 IEEE80211_ELEMID_MESHAH = 60, /* XXX: remove */

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

781 uint8_t maxtxpwr; /* tx power cap */
782 } __packed band[1]; /* sub bands (NB: var size) */
783} __packed;
784
785#define IEEE80211_COUNTRY_MAX_BANDS 84 /* max possible bands */
786#define IEEE80211_COUNTRY_MAX_SIZE \
787 (sizeof(struct ieee80211_country_ie) + 3*(IEEE80211_COUNTRY_MAX_BANDS-1))
788
789struct ieee80211_bss_load_ie {
790 uint8_t ie;
791 uint8_t len;
792 uint16_t sta_count; /* station count */
793 uint8_t chan_load; /* channel utilization */
794 uint8_t aac; /* available admission capacity */
795} __packed;
796
797struct ieee80211_ap_chan_report_ie {
798 uint8_t ie;
799 uint8_t len;
800 uint8_t class; /* operating class */
801 /* Annex E, E.1 Country information and operating classes */
802 uint8_t chan_list[0];
803} __packed;
804
805#define IEEE80211_EXTCAP_CMS (1ULL << 0) /* 20/40 BSS coexistence management support */
806#define IEEE80211_EXTCAP_RSVD_1 (1ULL << 1)
807#define IEEE80211_EXTCAP_ECS (1ULL << 2) /* extended channel switching */
808#define IEEE80211_EXTCAP_RSVD_3 (1ULL << 3)
809#define IEEE80211_EXTCAP_PSMP_CAP (1ULL << 4) /* PSMP capability */
810#define IEEE80211_EXTCAP_RSVD_5 (1ULL << 5)
811#define IEEE80211_EXTCAP_S_PSMP_SUPP (1ULL << 6)
812#define IEEE80211_EXTCAP_EVENT (1ULL << 7)
813#define IEEE80211_EXTCAP_DIAGNOSTICS (1ULL << 8)
814#define IEEE80211_EXTCAP_MCAST_DIAG (1ULL << 9)
815#define IEEE80211_EXTCAP_LOC_TRACKING (1ULL << 10)
816#define IEEE80211_EXTCAP_FMS (1ULL << 11)
817#define IEEE80211_EXTCAP_PROXY_ARP (1ULL << 12)
818#define IEEE80211_EXTCAP_CIR (1ULL << 13) /* collocated interference reporting */
819#define IEEE80211_EXTCAP_CIVIC_LOC (1ULL << 14)
820#define IEEE80211_EXTCAP_GEOSPATIAL_LOC (1ULL << 15)
821#define IEEE80211_EXTCAP_TFS (1ULL << 16)
822#define IEEE80211_EXTCAP_WNM_SLEEPMODE (1ULL << 17)
823#define IEEE80211_EXTCAP_TIM_BROADCAST (1ULL << 18)
824#define IEEE80211_EXTCAP_BSS_TRANSITION (1ULL << 19)
825#define IEEE80211_EXTCAP_QOS_TRAF_CAP (1ULL << 20)
826#define IEEE80211_EXTCAP_AC_STA_COUNT (1ULL << 21)
827#define IEEE80211_EXTCAP_M_BSSID (1ULL << 22) /* multiple BSSID field */
828#define IEEE80211_EXTCAP_TIMING_MEAS (1ULL << 23)
829#define IEEE80211_EXTCAP_CHAN_USAGE (1ULL << 24)
830#define IEEE80211_EXTCAP_SSID_LIST (1ULL << 25)
831#define IEEE80211_EXTCAP_DMS (1ULL << 26)
832#define IEEE80211_EXTCAP_UTC_TSF_OFFSET (1ULL << 27)
833#define IEEE80211_EXTCAP_TLDS_BUF_STA_SUPP (1ULL << 28) /* TDLS peer U-APSP buffer STA support */
834#define IEEE80211_EXTCAP_TLDS_PPSM_SUPP (1ULL << 29) /* TDLS peer PSM support */
835#define IEEE80211_EXTCAP_TLDS_CH_SW (1ULL << 30) /* TDLS channel switching */
836#define IEEE80211_EXTCAP_INTERWORKING (1ULL << 31)
837#define IEEE80211_EXTCAP_QOSMAP (1ULL << 32)
838#define IEEE80211_EXTCAP_EBR (1ULL << 33)
839#define IEEE80211_EXTCAP_SSPN_IF (1ULL << 34)
840#define IEEE80211_EXTCAP_RSVD_35 (1ULL << 35)
841#define IEEE80211_EXTCAP_MSGCF_CAP (1ULL << 36)
842#define IEEE80211_EXTCAP_TLDS_SUPP (1ULL << 37)
843#define IEEE80211_EXTCAP_TLDS_PROHIB (1ULL << 38)
844#define IEEE80211_EXTCAP_TLDS_CH_SW_PROHIB (1ULL << 39) /* TDLS channel switching prohibited */
845#define IEEE80211_EXTCAP_RUF (1ULL << 40) /* reject unadmitted frame */
846/* service interval granularity */
847#define IEEE80211_EXTCAP_SIG \
848 ((1ULL << 41) | (1ULL << 42) | (1ULL << 43))
849#define IEEE80211_EXTCAP_ID_LOC (1ULL << 44)
850#define IEEE80211_EXTCAP_U_APSD_COEX (1ULL << 45)
851#define IEEE80211_EXTCAP_WNM_NOTIFICATION (1ULL << 46)
852#define IEEE80211_EXTCAP_RSVD_47 (1ULL << 47)
853#define IEEE80211_EXTCAP_SSID (1ULL << 48) /* UTF-8 SSID */
854/* bits 49-n are reserved */
855
856struct ieee80211_extcap_ie {
857 uint8_t ie;
858 uint8_t len;
859} __packed;
860
786/*
787 * 802.11h Quiet Time Element.
788 */
789struct ieee80211_quiet_ie {
790 uint8_t quiet_ie; /* IEEE80211_ELEMID_QUIET */
791 uint8_t len;
792 uint8_t tbttcount; /* quiet start */
793 uint8_t period; /* beacon intervals between quiets */

--- 337 unchanged lines hidden ---
861/*
862 * 802.11h Quiet Time Element.
863 */
864struct ieee80211_quiet_ie {
865 uint8_t quiet_ie; /* IEEE80211_ELEMID_QUIET */
866 uint8_t len;
867 uint8_t tbttcount; /* quiet start */
868 uint8_t period; /* beacon intervals between quiets */

--- 337 unchanged lines hidden ---