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