Updates standard references to 802.11-2012 (except for crypto).

Also adds some new symbols from 802.11-2012.

Index: ieee80211.h
===================================================================
RCS file: /cvs/src/sys/net80211/ieee80211.h,v
retrieving revision 1.51
diff -u -p -r1.51 ieee80211.h
--- ieee80211.h 8 Apr 2015 21:35:57 -0000       1.51
+++ ieee80211.h 14 Jul 2015 18:45:57 -0000
@@ -167,7 +167,7 @@ struct ieee80211_htframe_addr4 {    /* 11n 
        "\07PROTECTED\08ORDER"
 
 /*
- * Sequence Control field (see 7.1.3.4).
+ * Sequence Control field (see 802.11-2012 8.2.4.4).
  */
 #define        IEEE80211_SEQ_FRAG_MASK                 0x000f
 #define        IEEE80211_SEQ_FRAG_SHIFT                0
@@ -178,7 +178,7 @@ struct ieee80211_htframe_addr4 {    /* 11n 
 #define IEEE80211_MMIE_LEN                     18      /* 11w */
 
 /*
- * QoS Control field (see 7.1.3.5).
+ * QoS Control field (see 802.11-2012 8.2.4.5).
  */
 #define IEEE80211_QOS_TXOP                     0xff00
 #define IEEE80211_QOS_AMSDU                    0x0080  /* 11n */
@@ -287,7 +287,7 @@ ieee80211_get_qos(const struct ieee80211
 #endif /* _KERNEL */
 
 /*
- * Capability Information field (see 7.3.1.4).
+ * Capability Information field (see 802.11-2012 8.4.1.4).
  */
 #define        IEEE80211_CAPINFO_ESS                   0x0001
 #define        IEEE80211_CAPINFO_IBSS                  0x0002
@@ -301,7 +301,7 @@ ieee80211_get_qos(const struct ieee80211
 #define IEEE80211_CAPINFO_QOS                  0x0200
 #define        IEEE80211_CAPINFO_SHORT_SLOTTIME        0x0400
 #define        IEEE80211_CAPINFO_APSD                  0x0800
-/* bit 12 is reserved */
+#define        IEEE80211_CAPINFO_RADIO_MEASUREMENT     0x1000
 #define        IEEE80211_CAPINFO_DSSSOFDM              0x2000
 #define IEEE80211_CAPINFO_DELAYED_B_ACK                0x4000
 #define IEEE80211_CAPINFO_IMMEDIATE_B_ACK      0x8000
@@ -309,10 +309,10 @@ ieee80211_get_qos(const struct ieee80211
        "\10\01ESS\02IBSS\03CF_POLLABLE\04CF_POLLREQ"           \
        "\05PRIVACY\06SHORT_PREAMBLE\07PBCC\10CHNL_AGILITY"     \
        "\11SPECTRUM_MGMT\12QOS\13SHORT_SLOTTIME\14APSD"        \
-       "\16DSSSOFDM\17DELAYED_B_ACK\20IMMEDIATE_B_ACK"
+       "\15RADIO_MEASUREMENT\16DSSSOFDM\17DELAYED_B_ACK\20IMMEDIATE_B_ACK"
 
 /*
- * Information elements (see Table 7-26).
+ * Information element IDs (see 802.11-2012 Table 8.4.2).
  */
 enum {
        IEEE80211_ELEMID_SSID                   = 0,
@@ -323,53 +323,181 @@ enum {
        IEEE80211_ELEMID_TIM                    = 5,
        IEEE80211_ELEMID_IBSSPARMS              = 6,
        IEEE80211_ELEMID_COUNTRY                = 7,
+       IEEE80211_ELEMID_HOPPING_PARMS          = 8,
+       IEEE80211_ELEMID_HOPPING_PATTERN        = 9,
+       IEEE80211_ELEMID_REQUEST                = 10,
        IEEE80211_ELEMID_QBSS_LOAD              = 11,
        IEEE80211_ELEMID_EDCAPARMS              = 12,
+       IEEE80211_ELEMID_TSPEC                  = 13,
+       IEEE80211_ELEMID_TCLASS                 = 14,
+       IEEE80211_ELEMID_SCHEDULE               = 15,
        IEEE80211_ELEMID_CHALLENGE              = 16,
        /* 17-31 reserved for challenge text extension */
+       IEEE80211_ELEMID_POWER_CONSTRAINT       = 32,
+       IEEE80211_ELEMID_POWER_CAP              = 33,
+       IEEE80211_ELEMID_TPC_REQUEST            = 34,
+       IEEE80211_ELEMID_TPC_REPORT             = 35,
+       IEEE80211_ELEMID_SUPP_CHNLS             = 35,
        IEEE80211_ELEMID_CSA                    = 37,   /* 11h */
+       IEEE80211_ELEMID_MEASUREMENT_REQUEST    = 38,   /* DFS */
+       IEEE80211_ELEMID_MEASUREMENT_REPORT     = 39,   /* DFS */
+       IEEE80211_ELEMID_QUIET                  = 40,
+       IEEE80211_ELEMID_IBSS_DFS               = 41,
        IEEE80211_ELEMID_ERP                    = 42,
+       IEEE80211_ELEMID_TS_DELAY               = 43,
+       IEEE80211_ELEMID_TCLAS                  = 44,
        IEEE80211_ELEMID_HTCAPS                 = 45,   /* 11n */
        IEEE80211_ELEMID_QOS_CAP                = 46,
+       /* 47 reserved */
        IEEE80211_ELEMID_RSN                    = 48,
+       /* 49 reserved */
        IEEE80211_ELEMID_XRATES                 = 50,
+       IEEE80211_ELEMID_AP_CHNL_REPORT         = 51,
+       IEEE80211_ELEMID_NBR_REPORT             = 52,
+       IEEE80211_ELEMID_RCPI                   = 53,
+       IEEE80211_ELEMID_MDE                    = 54,
+       IEEE80211_ELEMID_FTE                    = 55,
        IEEE80211_ELEMID_TIE                    = 56,   /* 11r */
+       IEEE80211_ELEMID_RDE                    = 57,
+       IEEE80211_ELEMID_DSE                    = 58,
+       IEEE80211_ELEMID_SUPP_OPCLASS           = 59,
+       IEEE80211_ELEMID_XCSA                   = 60,
        IEEE80211_ELEMID_HTOP                   = 61,   /* 11n */
+       IEEE80211_ELEMID_SECONDARY_CHANL_OFFSET = 62,   /* 11n */
+       IEEE80211_ELEMID_AVG_ACCESS_DELAY       = 63,
+       IEEE80211_ELEMID_ANTENNA                = 64,
+       IEEE80211_ELEMID_RSNI                   = 65,
+       IEEE80211_ELEMID_MEASUREMENT_PILOT_TX   = 66,
+       IEEE80211_ELEMID_AVAIL_CAPACITY         = 67,
+       IEEE80211_ELEMID_AC_ACCESS_DELAY        = 68,
+       IEEE80211_ELEMID_TIME_ADVERT            = 69,
+       IEEE80211_ELEMID_RM                     = 70,
+       IEEE80211_ELEMID_MULTI_BSSID            = 71,
+       IEEE80211_ELEMID_20_40_CBW_COEX         = 72,   /* 11n */
+       IEEE80211_ELEMID_20_40_CBW_INTOLERANT   = 73,   /* 11n */
+       IEEE80211_ELEMID_SCAN_PARAM_OVERLAP     = 74,
+       IEEE80211_ELEMID_RIC                    = 75,
        IEEE80211_ELEMID_MMIE                   = 76,   /* 11w */
-       IEEE80211_ELEMID_TPC                    = 150,
-       IEEE80211_ELEMID_CCKM                   = 156,
+       IEEE80211_ELEMID_EVENT_REQUEST          = 78,
+       IEEE80211_ELEMID_EVENT_REPORT           = 79,
+       IEEE80211_ELEMID_DIAG_REQUEST           = 80,
+       IEEE80211_ELEMID_DIAG_REPORT            = 81,
+       IEEE80211_ELEMID_LOCATION_PARMS         = 82,
+       IEEE80211_ELEMID_NONTX_BSSID            = 83,
+       IEEE80211_ELEMID_SSID_LIST              = 84,
+       IEEE80211_ELEMID_MULTI_BSSID_IDX        = 85,
+       IEEE80211_ELEMID_FMS_DESC               = 86,
+       IEEE80211_ELEMID_FMS_REQUEST            = 87,
+       IEEE80211_ELEMID_FMS_RESPONSE           = 88,
+       IEEE80211_ELEMID_QOS_TRAFFIC_CAP        = 89,
+       IEEE80211_ELEMID_MAX_IDLE_PERIOD        = 90,
+       IEEE80211_ELEMID_TFS_REQUEST            = 91,
+       IEEE80211_ELEMID_TFS_RESPONSE           = 92,
+       IEEE80211_ELEMID_WNM_SLEEP              = 93,
+       IEEE80211_ELEMID_TIM_BCAST_REQUEST      = 94,
+       IEEE80211_ELEMID_TIM_BCAST_RESPONSE     = 95,
+       IEEE80211_ELEMID_INTERFERENCE_REPORT    = 96,
+       IEEE80211_ELEMID_CHNL_USAGE             = 97,
+       IEEE80211_ELEMID_TIME_ZONE              = 98,
+       IEEE80211_ELEMID_DMS_REQUEST            = 99,
+       IEEE80211_ELEMID_DMS_RESPONSE           = 100,
+       IEEE80211_ELEMID_LINK_ID                = 101,
+       IEEE80211_ELEMID_WAKE_SCHED             = 102,
+       /* 103 undefined */
+       IEEE80211_ELEMID_CHNL_SWITCH_TIMING     = 104,
+       IEEE80211_ELEMID_PTI_CTRL               = 105,
+       IEEE80211_ELEMID_TPU_BUF_STATUS         = 106,
+       IEEE80211_ELEMID_INTERWORKING           = 107,
+       IEEE80211_ELEMID_ADVERT_PROTOCOL        = 108,
+       IEEE80211_ELEMID_EXPEDITED_BW_REQUEST   = 109,
+       IEEE80211_ELEMID_QOS_MAP_SET            = 110,
+       IEEE80211_ELEMID_ROAMING_CONSORTIUM     = 111,
+       IEEE80211_ELEMID_EMERGENCY_ALERT_ID     = 112,
+       IEEE80211_ELEMID_MESH_CONFIG            = 113,
+       IEEE80211_ELEMID_MESH_ID                = 114,
+       IEEE80211_ELEMID_MESH_LINK_METRIC       = 115,
+       IEEE80211_ELEMID_CONGESTION_NOTIF       = 116,
+       IEEE80211_ELEMID_MESH_PEERING           = 117,
+       IEEE80211_ELEMID_MESH_CHNL_SWITCH_PARMS = 118,
+       IEEE80211_ELEMID_MESH_ACK_WINDOW        = 119,
+       IEEE80211_ELEMID_BEACON_TIMING          = 120,
+       IEEE80211_ELEMID_MCCAOP_SETUP_REQUEST   = 121,
+       IEEE80211_ELEMID_MCCAOP_SETUP_REPLY     = 122,
+       IEEE80211_ELEMID_MCCAOP_ADVERT          = 123,
+       IEEE80211_ELEMID_MCCAOP_TEARDOWN        = 124,
+       IEEE80211_ELEMID_GANN                   = 125,
+       IEEE80211_ELEMID_RANN                   = 126,
+       IEEE80211_ELEMID_XCAPS                  = 127,
+       /* 128-129 reserved */
+       IEEE80211_ELEMID_PREQ                   = 130,
+       IEEE80211_ELEMID_PREP                   = 131,
+       IEEE80211_ELEMID_PERR                   = 132,
+       /* 133-136 reserved */
+       IEEE80211_ELEMID_PXU                    = 137,
+       IEEE80211_ELEMID_PXUC                   = 138,
+       IEEE80211_ELEMID_AUTH_MESH_PEERING_XCHG = 139,
+       IEEE80211_ELEMID_MIC                    = 140,
+       IEEE80211_ELEMID_DEST_URI               = 141,
+       IEEE80211_ELEMID_U_APSD_COEX            = 142,
+       /* 143-174 reserved */
+       IEEE80211_ELEMID_MCCAOP_ADVERT_OVIEW    = 174,
+       /* 175-220 reserved */
        IEEE80211_ELEMID_VENDOR                 = 221   /* vendor private */
+       /* 222-255 reserved */
 };
 
 /*
- * Action field category values (see Table 7-24).
+ * Action field category values (see 802.11-2012 8.4.1.11 Table 8-38).
  */
 enum {
-       IEEE80211_CATEG_SPECTRUM        = 0,
-       IEEE80211_CATEG_QOS             = 1,
-       IEEE80211_CATEG_DLS             = 2,
-       IEEE80211_CATEG_BA              = 3,
-       IEEE80211_CATEG_HT              = 7,    /* 11n */
-       IEEE80211_CATEG_SA_QUERY        = 8     /* 11w */
+       IEEE80211_CATEG_SPECTRUM                = 0,
+       IEEE80211_CATEG_QOS                     = 1,
+       IEEE80211_CATEG_DLS                     = 2,
+       IEEE80211_CATEG_BA                      = 3,
+       IEEE80211_CATEG_PUB                     = 4,
+       IEEE80211_CATEG_RADIO_MSRMNT            = 5,
+       IEEE80211_CATEG_FAST_BSS_TRANS          = 6,
+       IEEE80211_CATEG_HT                      = 7,    /* 11n */
+       IEEE80211_CATEG_SA_QUERY                = 8,    /* 11w */
+       IEEE80211_CATEG_PROT_DUAL_PUBLIC_ACTION = 9,
+       IEEE80211_CATEG_WNM                     = 10,
+       IEEE80211_CATEG_UNPROT_WNM              = 11,
+       IEEE80211_CATEG_TDLS                    = 12,
+       IEEE80211_CATEG_MESH                    = 13,
+       IEEE80211_CATEG_MULTIHOP                = 14,
+       IEEE80211_CATEG_SELF_PROT               = 15,
+       /* 16-125 reserved */
+       IEEE80211_CATEG_PROT_VENDOR             = 126,
+       IEEE80211_CATEG_VENDOR                  = 127,
+       /* 128-255 error */
 };
 
 /*
- * Block Ack Action field values (see Table 7-54).
+ * Block Ack Action field values (see 802.11-2012 8.5.5 Table 8-202).
  */
 #define IEEE80211_ACTION_ADDBA_REQ     0
 #define IEEE80211_ACTION_ADDBA_RESP    1
 #define IEEE80211_ACTION_DELBA         2
+/* 3-255 reserved */
 
 /*
- * SA Query Action field values (see Table 7-57l).
+ * SA Query Action field values (see 802.11-2012 8.5.10 Table 8-227).
  */
 #define IEEE80211_ACTION_SA_QUERY_REQ  0
 #define IEEE80211_ACTION_SA_QUERY_RESP 1
 
 /*
- * HT Action field values (see Table 7-57m).
+ * HT Action field values (see 802.11-2012 8.5.12 Table 8-229).
  */
-#define IEEE80211_ACTION_NOTIFYCW      0
+#define IEEE80211_ACTION_NOTIFYCW              0
+#define IEEE80211_ACTION_SM_PWRSAVE            1
+#define IEEE80211_ACTION_PSMP                  2
+#define IEEE80211_ACTION_SET_PCO_PHASE         3
+#define IEEE80211_ACTION_CSI                   4
+#define IEEE80211_ACTION_NONCOMPRESSED_BF      5
+#define IEEE80211_ACTION_COMPRESSED_BF         6
+#define IEEE80211_ACTION_ASEL_IDX_FEEDBACK     7
+/* 8-255 reserved */
 
 #define        IEEE80211_RATE_BASIC                    0x80
 #define        IEEE80211_RATE_VAL                      0x7f
@@ -377,7 +505,7 @@ enum {
 #define        IEEE80211_RATE_MAXSIZE                  15      /* max rates 
we'll handle */
 
 /*
- * BlockAck/BlockAckReq Control field (see Figure 7-13).
+ * BlockAck/BlockAckReq Control field (see 802.11-2012 8.3.1.9 Figure 8-25).
  */
 #define IEEE80211_BA_ACK_POLICY                0x0001
 #define IEEE80211_BA_MULTI_TID         0x0002
@@ -386,19 +514,21 @@ enum {
 #define IEEE80211_BA_TID_INFO_SHIFT    12
 
 /*
- * DELBA Parameter Set field (see Figure 7-34).
+ * DELBA Parameter Set field (see 802.11-2012 8.4.1.16 Figure 8-50).
  */
 #define IEEE80211_DELBA_INITIATOR      0x0800
+#define IEEE80211_DELBA_TID_INFO_MASK  0xf000
+#define IEEE80211_DELBA_TID_INFO_SHIFT 12
 
 /*
- * ERP information element (see 7.3.2.13).
+ * ERP information element parameters (see 802.11-2012 8.4.2.14 Figure 8-95).
  */
 #define        IEEE80211_ERP_NON_ERP_PRESENT           0x01
 #define        IEEE80211_ERP_USE_PROTECTION            0x02
 #define        IEEE80211_ERP_BARKER_MODE               0x04
 
 /*
- * RSN capabilities (see 7.3.2.25.3).
+ * RSN capabilities (see 802.11-2012 8.4.2.27.4).
  */
 #define IEEE80211_RSNCAP_PREAUTH               0x0001
 #define IEEE80211_RSNCAP_NOPAIRWISE            0x0002
@@ -416,9 +546,10 @@ enum {
 #define IEEE80211_RSNCAP_SPPAMSDUC             0x0400  /* 11n */
 #define IEEE80211_RSNCAP_SPPAMSDUR             0x0800  /* 11n */
 #define IEEE80211_RSNCAP_PBAC                  0x1000  /* 11n */
+#define IEEE80211_RSNCAP_EXTENDED_KEYID                0x2000
 
 /*
- * HT Capabilities Info (see 7.3.2.57.2).
+ * HT Capabilities Info (see 802.11-2012 8.4.2.58.2).
  */
 #define IEEE80211_HTCAP_LDPC           0x00000001
 #define IEEE80211_HTCAP_CBW20_40       0x00000002
@@ -441,7 +572,7 @@ enum {
 #define IEEE80211_HTCAP_LSIGTXOPPROT   0x00008000
 
 /*
- * HT Extended Capabilities (see 7.3.2.57.5).
+ * HT Extended Capabilities (see 802.11-2012 8.4.2.58.5).
  */
 #define IEEE80211_HTXCAP_PCO           0x0001
 #define IEEE80211_HTXCAP_PCOTT_MASK    0x0006
@@ -460,27 +591,52 @@ enum {
 /* Bits 12-15 are reserved. */
 
 /*
- * Transmit Beamforming (TxBF) Capabilities (see 7.3.2.57.6).
+ * Transmit Beamforming (TxBF) Capabilities (see 802.11-2012 8.4.2.58.6).
  */
-#define IEEE80211_TXBFCAP_IMPLICIT_RX  0x00000001
-#define IEEE80211_TXBFCAP_RSSC         0x00000002
-#define IEEE80211_TXBFCAP_TSSC         0x00000004
-#define IEEE80211_TXBFCAP_RNDP         0x00000008
-#define IEEE80211_TXBFCAP_TNDP         0x00000010
-#define IEEE80211_TXBFCAP_IMPLICIT_TX  0x00000020
-#define IEEE80211_TXBFCAP_CALIB_MASK   0x000000c0
-#define IEEE80211_TXBFCAP_CALIB_SHIFT  6
-#define IEEE80211_TXBFCAP_TX_CSI       0x00000100
+#define IEEE80211_TXBFCAP_IMPLICIT_RX                  0x00000001
+#define IEEE80211_TXBFCAP_RSSC                         0x00000002
+#define IEEE80211_TXBFCAP_TSSC                         0x00000004
+#define IEEE80211_TXBFCAP_RNDP                         0x00000008
+#define IEEE80211_TXBFCAP_TNDP                         0x00000010
+#define IEEE80211_TXBFCAP_IMPLICIT_TX                  0x00000020
+#define IEEE80211_TXBFCAP_CALIB_MASK                   0x000000c0
+#define IEEE80211_TXBFCAP_CALIB_SHIFT                  6
+#define IEEE80211_TXBFCAP_TX_CSI                       0x00000100
+#define IEEE80211_TXBFCAP_EXPLICIT_NSC                 0x00000200
+#define IEEE80211_TXBFCAP_EXPLICIT_CSC                 0x00000400
+#define IEEE80211_TXBFCAP_CSI_FB_DELAYED               0x00000800
+#define IEEE80211_TXBFCAP_CSI_FB_IMMEDIATE             0x00001000
+#define IEEE80211_TXBFCAP_EXPLICIT_NB_FB_DELAYED       0x00002000
+#define IEEE80211_TXBFCAP_EXPLICIT_NB_FB_IMMEDIATE     0x00004000
+#define IEEE80211_TXBFCAP_EXPLICIT_CB_FB_DELAYED       0x00008000
+#define IEEE80211_TXBFCAP_EXPLICIT_CB_FB_IMMEDIATE     0x00010000
+#define IEEE80211_TXBFCAP_MINIMAL_GROUPING_1_2         0x00020000
+#define IEEE80211_TXBFCAP_MINIMAL_GROUPING_1_4         0x00040000
+#define IEEE80211_TXBFCAP_CSI_NUM_ANT_MASK             0x00180000
+#define IEEE80211_TXBFCAP_CSI_NUM_ANT_SHIFT            19
+#define IEEE80211_TXBFCAP_NS_NUM_ANT_MASK              0x00600000
+#define IEEE80211_TXBFCAP_NS_NUM_ANT_SHIFT             21
+#define IEEE80211_TXBFCAP_CS_NUM_ANT_MASK              0x01800000
+#define IEEE80211_TXBFCAP_CS_NUM_ANT_SHIFT             23
+#define IEEE80211_TXBFCAP_CSI_NUM_ROWS_MASK            0x06000000
+#define IEEE80211_TXBFCAP_CSI_NUM_ROWS_SHIFT           25
+#define IEEE80211_TXBFCAP_CHANL_ESTIMATE_MASK          0x18000000
+#define IEEE80211_TXBFCAP_CHANL_ESTIMATE_SHIFT         27
 
 /*
- * Antenna Selection (ASEL) Capability (see 7.3.2.57.7).
+ * Antenna Selection (ASEL) Capability (see 802.11-2012 8.4.2.58.7).
  */
 #define IEEE80211_ASELCAP_ASEL         0x01
-#define IEEE80211_ASELCAP_CSIFB                0x02
+#define IEEE80211_ASELCAP_CSIFB_TX     0x02
+#define IEEE80211_ASELCAP_ANT_IDX_FB_TX        0x04
+#define IEEE80211_ASELCAP_CSIFB                0x08
+#define IEEE80211_ASELCAP_ANT_IDX_FB   0x10
+#define IEEE80211_ASELCAP_ASEL_RX      0x20
+#define IEEE80211_ASELCAP_TX_SOUND_PPDU        0x20
 /* Bit 7 is reserved. */
 
 /*
- * HT Operation element (see 7.3.2.58).
+ * HT Operation element (see 802.11-2012 8.4.2.59).
  */
 /* Byte 1. */
 #define IEEE80211_HTOP0_SCO_MASK       0x03
@@ -490,15 +646,13 @@ enum {
 #define IEEE80211_HTOP0_SCO_SCB                3
 #define IEEE80211_HTOP0_CHW            0x04
 #define IEEE80211_HTOP0_RIFS           0x08
-#define IEEE80211_HTOP0_SPSMP          0x10
-#define IEEE80211_HTOP0_SIG_MASK       0xe0
-#define IEEE80211_HTOP0_SIG_SHIFT      5
+/* bits 4-7 reserved */
 /* Bytes 2-3. */
 #define IEEE80211_HTOP1_PROT_MASK      0x0003
 #define IEEE80211_HTOP1_PROT_SHIFT     0
-#define IEEE80211_HTOP1_NONGTSTA       0x0004
+#define IEEE80211_HTOP1_NONGF_STA      0x0004
 /* Bit 3 is reserved. */
-#define IEEE80211_HTOP1_OBSS_NONHTSTA  0x0010
+#define IEEE80211_HTOP1_OBSS_NONHT_STA 0x0010
 /* Bits 5-15 are reserved. */
 /* Bytes 4-5. */
 /* Bits 0-5 are reserved. */

Reply via email to