| 1 | --- a/nl80211.h |
| 2 | +++ b/nl80211.h |
| 3 | @@ -6,7 +6,7 @@ |
| 4 | * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> |
| 5 | * Copyright 2008 Michael Wu <flamingice@sourmilk.net> |
| 6 | * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com> |
| 7 | - * Copyright 2008 Michael Buesch <mb@bu3sch.de> |
| 8 | + * Copyright 2008 Michael Buesch <m@bues.ch> |
| 9 | * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com> |
| 10 | * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> |
| 11 | * Copyright 2008 Colin McCabe <colin@cozybit.com> |
| 12 | @@ -161,6 +161,13 @@ |
| 13 | * @NL80211_CMD_SET_BEACON: set the beacon on an access point interface |
| 14 | * using the %NL80211_ATTR_BEACON_INTERVAL, %NL80211_ATTR_DTIM_PERIOD, |
| 15 | * %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL attributes. |
| 16 | + * Following attributes are provided for drivers that generate full Beacon |
| 17 | + * and Probe Response frames internally: %NL80211_ATTR_SSID, |
| 18 | + * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE, |
| 19 | + * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS, |
| 20 | + * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, |
| 21 | + * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_IE, %NL80211_ATTR_IE_PROBE_RESP, |
| 22 | + * %NL80211_ATTR_IE_ASSOC_RESP. |
| 23 | * @NL80211_CMD_NEW_BEACON: add a new beacon to an access point interface, |
| 24 | * parameters are like for %NL80211_CMD_SET_BEACON. |
| 25 | * @NL80211_CMD_DEL_BEACON: remove the beacon, stop sending it |
| 26 | @@ -762,6 +769,8 @@ enum nl80211_commands { |
| 27 | * that can be added to a scan request |
| 28 | * @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information |
| 29 | * elements that can be added to a scheduled scan request |
| 30 | + * @NL80211_ATTR_MAX_MATCH_SETS: maximum number of sets that can be |
| 31 | + * used with @NL80211_ATTR_SCHED_SCAN_MATCH, a wiphy attribute. |
| 32 | * |
| 33 | * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz) |
| 34 | * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive |
| 35 | @@ -842,18 +851,20 @@ enum nl80211_commands { |
| 36 | * @NL80211_ATTR_STATUS_CODE: StatusCode for the %NL80211_CMD_CONNECT |
| 37 | * event (u16) |
| 38 | * @NL80211_ATTR_PRIVACY: Flag attribute, used with connect(), indicating |
| 39 | - * that protected APs should be used. |
| 40 | + * that protected APs should be used. This is also used with NEW_BEACON to |
| 41 | + * indicate that the BSS is to use protection. |
| 42 | * |
| 43 | - * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT and ASSOCIATE to |
| 44 | - * indicate which unicast key ciphers will be used with the connection |
| 45 | + * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT, ASSOCIATE, and NEW_BEACON |
| 46 | + * to indicate which unicast key ciphers will be used with the connection |
| 47 | * (an array of u32). |
| 48 | - * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT and ASSOCIATE to indicate |
| 49 | - * which group key cipher will be used with the connection (a u32). |
| 50 | - * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT and ASSOCIATE to indicate |
| 51 | - * which WPA version(s) the AP we want to associate with is using |
| 52 | + * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT, ASSOCIATE, and NEW_BEACON to |
| 53 | + * indicate which group key cipher will be used with the connection (a |
| 54 | + * u32). |
| 55 | + * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT, ASSOCIATE, and NEW_BEACON to |
| 56 | + * indicate which WPA version(s) the AP we want to associate with is using |
| 57 | * (a u32 with flags from &enum nl80211_wpa_versions). |
| 58 | - * @NL80211_ATTR_AKM_SUITES: Used with CONNECT and ASSOCIATE to indicate |
| 59 | - * which key management algorithm(s) to use (an array of u32). |
| 60 | + * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to |
| 61 | + * indicate which key management algorithm(s) to use (an array of u32). |
| 62 | * |
| 63 | * @NL80211_ATTR_REQ_IE: (Re)association request information elements as |
| 64 | * sent out by the card, for ROAM and successful CONNECT events. |
| 65 | @@ -1002,6 +1013,24 @@ enum nl80211_commands { |
| 66 | |
| 67 | * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan |
| 68 | * cycles, in msecs. |
| 69 | + |
| 70 | + * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more |
| 71 | + * sets of attributes to match during scheduled scans. Only BSSs |
| 72 | + * that match any of the sets will be reported. These are |
| 73 | + * pass-thru filter rules. |
| 74 | + * For a match to succeed, the BSS must match all attributes of a |
| 75 | + * set. Since not every hardware supports matching all types of |
| 76 | + * attributes, there is no guarantee that the reported BSSs are |
| 77 | + * fully complying with the match sets and userspace needs to be |
| 78 | + * able to ignore them by itself. |
| 79 | + * Thus, the implementation is somewhat hardware-dependent, but |
| 80 | + * this is only an optimization and the userspace application |
| 81 | + * needs to handle all the non-filtered results anyway. |
| 82 | + * If the match attributes don't make sense when combined with |
| 83 | + * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID |
| 84 | + * is included in the probe request, but the match attributes |
| 85 | + * will never let it go through), -EINVAL may be returned. |
| 86 | + * If ommited, no filtering is done. |
| 87 | * |
| 88 | * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported |
| 89 | * interface combinations. In each nested item, it contains attributes |
| 90 | @@ -1014,6 +1043,33 @@ enum nl80211_commands { |
| 91 | * @%NL80211_ATTR_REKEY_DATA: nested attribute containing the information |
| 92 | * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data. |
| 93 | * |
| 94 | + * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan, |
| 95 | + * nested array attribute containing an entry for each band, with the entry |
| 96 | + * being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but |
| 97 | + * without the length restriction (at most %NL80211_MAX_SUPP_RATES). |
| 98 | + * |
| 99 | + * @NL80211_ATTR_HIDDEN_SSID: indicates whether SSID is to be hidden from Beacon |
| 100 | + * and Probe Response (when response to wildcard Probe Request); see |
| 101 | + * &enum nl80211_hidden_ssid, represented as a u32 |
| 102 | + * |
| 103 | + * @NL80211_ATTR_IE_PROBE_RESP: Information element(s) for Probe Response frame. |
| 104 | + * This is used with %NL80211_CMD_NEW_BEACON and %NL80211_CMD_SET_BEACON to |
| 105 | + * provide extra IEs (e.g., WPS/P2P IE) into Probe Response frames when the |
| 106 | + * driver (or firmware) replies to Probe Request frames. |
| 107 | + * @NL80211_ATTR_IE_ASSOC_RESP: Information element(s) for (Re)Association |
| 108 | + * Response frames. This is used with %NL80211_CMD_NEW_BEACON and |
| 109 | + * %NL80211_CMD_SET_BEACON to provide extra IEs (e.g., WPS/P2P IE) into |
| 110 | + * (Re)Association Response frames when the driver (or firmware) replies to |
| 111 | + * (Re)Association Request frames. |
| 112 | + * |
| 113 | + * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration |
| 114 | + * of the station, see &enum nl80211_sta_wme_attr. |
| 115 | + * @NL80211_ATTR_SUPPORT_AP_UAPSD: the device supports uapsd when working |
| 116 | + * as AP. |
| 117 | + * |
| 118 | + * @NL80211_ATTR_ROAM_SUPPORT: Indicates whether the firmware is capable of |
| 119 | + * roaming to another AP in the same ESS if the signal lever is low. |
| 120 | + * |
| 121 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 122 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 123 | */ |
| 124 | @@ -1217,6 +1273,21 @@ enum nl80211_attrs { |
| 125 | NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS, |
| 126 | NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN, |
| 127 | |
| 128 | + NL80211_ATTR_SCAN_SUPP_RATES, |
| 129 | + |
| 130 | + NL80211_ATTR_HIDDEN_SSID, |
| 131 | + |
| 132 | + NL80211_ATTR_IE_PROBE_RESP, |
| 133 | + NL80211_ATTR_IE_ASSOC_RESP, |
| 134 | + |
| 135 | + NL80211_ATTR_STA_WME, |
| 136 | + NL80211_ATTR_SUPPORT_AP_UAPSD, |
| 137 | + |
| 138 | + NL80211_ATTR_ROAM_SUPPORT, |
| 139 | + |
| 140 | + NL80211_ATTR_SCHED_SCAN_MATCH, |
| 141 | + NL80211_ATTR_MAX_MATCH_SETS, |
| 142 | + |
| 143 | /* add attributes here, update the policy in nl80211.c */ |
| 144 | |
| 145 | __NL80211_ATTR_AFTER_LAST, |
| 146 | @@ -1426,6 +1497,8 @@ enum nl80211_sta_bss_param { |
| 147 | * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute |
| 148 | * containing info as possible, see &enum nl80211_sta_bss_param |
| 149 | * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected |
| 150 | + * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU |
| 151 | + * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average |
| 152 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
| 153 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
| 154 | */ |
| 155 | @@ -1447,6 +1520,8 @@ enum nl80211_sta_info { |
| 156 | NL80211_STA_INFO_RX_BITRATE, |
| 157 | NL80211_STA_INFO_BSS_PARAM, |
| 158 | NL80211_STA_INFO_CONNECTED_TIME, |
| 159 | + NL80211_STA_INFO_CHAIN_SIGNAL, |
| 160 | + NL80211_STA_INFO_CHAIN_SIGNAL_AVG, |
| 161 | |
| 162 | /* keep last */ |
| 163 | __NL80211_STA_INFO_AFTER_LAST, |
| 164 | @@ -1676,6 +1751,26 @@ enum nl80211_reg_rule_attr { |
| 165 | }; |
| 166 | |
| 167 | /** |
| 168 | + * enum nl80211_sched_scan_match_attr - scheduled scan match attributes |
| 169 | + * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved |
| 170 | + * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, |
| 171 | + * only report BSS with matching SSID. |
| 172 | + * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter |
| 173 | + * attribute number currently defined |
| 174 | + * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use |
| 175 | + */ |
| 176 | +enum nl80211_sched_scan_match_attr { |
| 177 | + __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, |
| 178 | + |
| 179 | + NL80211_ATTR_SCHED_SCAN_MATCH_SSID, |
| 180 | + |
| 181 | + /* keep last */ |
| 182 | + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, |
| 183 | + NL80211_SCHED_SCAN_MATCH_ATTR_MAX = |
| 184 | + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1 |
| 185 | +}; |
| 186 | + |
| 187 | +/** |
| 188 | * enum nl80211_reg_rule_flags - regulatory rule flags |
| 189 | * |
| 190 | * @NL80211_RRF_NO_OFDM: OFDM modulation not allowed |
| 191 | @@ -1826,6 +1921,13 @@ enum nl80211_mntr_flags { |
| 192 | * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a |
| 193 | * source mesh point for path selection elements. |
| 194 | * |
| 195 | + * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between |
| 196 | + * root announcements are transmitted. |
| 197 | + * |
| 198 | + * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has |
| 199 | + * access to a broader network beyond the MBSS. This is done via Root |
| 200 | + * Announcement frames. |
| 201 | + * |
| 202 | * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute |
| 203 | * |
| 204 | * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use |
| 205 | @@ -1847,6 +1949,8 @@ enum nl80211_meshconf_params { |
| 206 | NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, |
| 207 | NL80211_MESHCONF_HWMP_ROOTMODE, |
| 208 | NL80211_MESHCONF_ELEMENT_TTL, |
| 209 | + NL80211_MESHCONF_HWMP_RANN_INTERVAL, |
| 210 | + NL80211_MESHCONF_GATE_ANNOUNCEMENTS, |
| 211 | |
| 212 | /* keep last */ |
| 213 | __NL80211_MESHCONF_ATTR_AFTER_LAST, |
| 214 | @@ -2423,4 +2527,37 @@ enum nl80211_rekey_data { |
| 215 | MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1 |
| 216 | }; |
| 217 | |
| 218 | +/** |
| 219 | + * enum nl80211_hidden_ssid - values for %NL80211_ATTR_HIDDEN_SSID |
| 220 | + * @NL80211_HIDDEN_SSID_NOT_IN_USE: do not hide SSID (i.e., broadcast it in |
| 221 | + * Beacon frames) |
| 222 | + * @NL80211_HIDDEN_SSID_ZERO_LEN: hide SSID by using zero-length SSID element |
| 223 | + * in Beacon frames |
| 224 | + * @NL80211_HIDDEN_SSID_ZERO_CONTENTS: hide SSID by using correct length of SSID |
| 225 | + * element in Beacon frames but zero out each byte in the SSID |
| 226 | + */ |
| 227 | +enum nl80211_hidden_ssid { |
| 228 | + NL80211_HIDDEN_SSID_NOT_IN_USE, |
| 229 | + NL80211_HIDDEN_SSID_ZERO_LEN, |
| 230 | + NL80211_HIDDEN_SSID_ZERO_CONTENTS |
| 231 | +}; |
| 232 | + |
| 233 | +/** |
| 234 | + * enum nl80211_sta_wme_attr - station WME attributes |
| 235 | + * @__NL80211_STA_WME_INVALID: invalid number for nested attribute |
| 236 | + * @NL80211_STA_WME_QUEUES: bitmap of uapsd queues. |
| 237 | + * @NL80211_STA_WME_MAX_SP: max service period. |
| 238 | + * @__NL80211_STA_WME_AFTER_LAST: internal |
| 239 | + * @NL80211_STA_WME_MAX: highest station WME attribute |
| 240 | + */ |
| 241 | +enum nl80211_sta_wme_attr { |
| 242 | + __NL80211_STA_WME_INVALID, |
| 243 | + NL80211_STA_WME_UAPSD_QUEUES, |
| 244 | + NL80211_STA_WME_MAX_SP, |
| 245 | + |
| 246 | + /* keep last */ |
| 247 | + __NL80211_STA_WME_AFTER_LAST, |
| 248 | + NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1 |
| 249 | +}; |
| 250 | + |
| 251 | #endif /* __LINUX_NL80211_H */ |
| 252 | |