Johannes Berg says: ==================== Another set of changes, including * many 6 GHz changes, though it's not _quite_ complete (I left out scanning for now, we're still discussing) * allow userspace SA-query processing for operating channel validation * TX status for control port TX, for AP-side operation * more per-STA/TID control options * move to kHz for channels, for future S1G operation * various other small changes ====================
Showing the changes to include/uapi/linux (2 of 35 files). Show all
Unified · Split
| @@ -296,13 +296,14 @@ · 295 unmodified lines | ||
| 296 | 296 | * to get a list of all present wiphys. |
| 297 | 297 | * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or |
| 298 | 298 | * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, |
| 299 | − * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the | |
| 300 | − * attributes determining the channel width; this is used for setting | |
| 301 | − * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, | |
| 302 | − * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, | |
| 303 | − * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. | |
| 304 | − * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL | |
| 305 | − * instead, the support here is for backward compatibility only. | |
| 299 | + * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, | |
| 300 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET (and the attributes determining the | |
| 301 | + * channel width; this is used for setting monitor mode channel), | |
| 302 | + * %NL80211_ATTR_WIPHY_RETRY_SHORT, %NL80211_ATTR_WIPHY_RETRY_LONG, | |
| 303 | + * %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, and/or | |
| 304 | + * %NL80211_ATTR_WIPHY_RTS_THRESHOLD. However, for setting the channel, | |
| 305 | + * see %NL80211_CMD_SET_CHANNEL instead, the support here is for backward | |
| 306 | + * compatibility only. | |
| 306 | 307 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request |
| 307 | 308 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and |
| 308 | 309 | * %NL80211_ATTR_WIPHY_NAME. |
| @@ -351,7 +352,8 @@ · 42 unmodified lines | ||
| 351 | 352 | * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, |
| 352 | 353 | * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. |
| 353 | 354 | * The channel to use can be set on the interface or be given using the |
| 354 | − * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. | |
| 355 | + * %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_WIPHY_FREQ_OFFSET, and the | |
| 356 | + * attributes determining channel width. | |
| 355 | 357 | * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP |
| 356 | 358 | * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface |
| 357 | 359 | * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP |
| @@ -536,11 +538,12 @@ · 178 unmodified lines | ||
| 536 | 538 | * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and |
| 537 | 539 | * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify |
| 538 | 540 | * the SSID (mainly for association, but is included in authentication |
| 539 | − * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used | |
| 540 | − * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE | |
| 541 | − * is used to specify the authentication type. %NL80211_ATTR_IE is used to | |
| 542 | − * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) | |
| 543 | − * to be added to the frame. | |
| 541 | + * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ + | |
| 542 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET is used to specify the frequence of the | |
| 543 | + * channel in MHz. %NL80211_ATTR_AUTH_TYPE is used to specify the | |
| 544 | + * authentication type. %NL80211_ATTR_IE is used to define IEs | |
| 545 | + * (VendorSpecificInfo, but also including RSN IE and FT IEs) to be added | |
| 546 | + * to the frame. | |
| 544 | 547 | * When used as an event, this reports reception of an Authentication |
| 545 | 548 | * frame in station and IBSS modes when the local MLME processed the |
| 546 | 549 | * frame, i.e., it was for the local STA and was received in correct |
| @@ -595,8 +598,9 @@ · 48 unmodified lines | ||
| 595 | 598 | * requests to connect to a specified network but without separating |
| 596 | 599 | * auth and assoc steps. For this, you need to specify the SSID in a |
| 597 | 600 | * %NL80211_ATTR_SSID attribute, and can optionally specify the association |
| 598 | − * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP, | |
| 599 | − * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, | |
| 601 | + * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, | |
| 602 | + * %NL80211_ATTR_USE_MFP, %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, | |
| 603 | + * %NL80211_ATTR_WIPHY_FREQ_OFFSET, %NL80211_ATTR_CONTROL_PORT, | |
| 600 | 604 | * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, |
| 601 | 605 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, |
| 602 | 606 | * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and |
| @@ -1160,6 +1164,12 @@ · 557 unmodified lines | ||
| 1160 | 1164 | * dropped because it did not include a valid MME MIC while beacon |
| 1161 | 1165 | * protection was enabled (BIGTK configured in station mode). |
| 1162 | 1166 | * |
| 1167 | + * @NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS: Report TX status of a control | |
| 1168 | + * port frame transmitted with %NL80211_CMD_CONTROL_PORT_FRAME. | |
| 1169 | + * %NL80211_ATTR_COOKIE identifies the TX command and %NL80211_ATTR_FRAME | |
| 1170 | + * includes the contents of the frame. %NL80211_ATTR_ACK flag is included | |
| 1171 | + * if the recipient acknowledged the frame. | |
| 1172 | + * | |
| 1163 | 1173 | * @NL80211_CMD_MAX: highest used command number |
| 1164 | 1174 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 1165 | 1175 | */ |
| @@ -1388,6 +1398,8 @@ enum nl80211_commands { · 222 unmodified lines | ||
| 1388 | 1398 | |
| 1389 | 1399 | NL80211_CMD_UNPROT_BEACON, |
| 1390 | 1400 | |
| 1401 | + NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, | |
| 1402 | + | |
| 1391 | 1403 | /* add new commands above here */ |
| 1392 | 1404 | |
| 1393 | 1405 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1433,7 +1445,8 @@ enum nl80211_commands { · 39 unmodified lines | ||
| 1433 | 1445 | * of &enum nl80211_chan_width, describing the channel width. See the |
| 1434 | 1446 | * documentation of the enum for more information. |
| 1435 | 1447 | * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the |
| 1436 | − * channel, used for anything but 20 MHz bandwidth | |
| 1448 | + * channel, used for anything but 20 MHz bandwidth. In S1G this is the | |
| 1449 | + * operating channel center frequency. | |
| 1437 | 1450 | * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the |
| 1438 | 1451 | * channel, used only for 80+80 MHz bandwidth |
| 1439 | 1452 | * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ |
| @@ -2480,9 +2493,17 @@ enum nl80211_commands { · 1040 unmodified lines | ||
| 2480 | 2493 | * entry without having to force a disconnection after the PMK timeout. If |
| 2481 | 2494 | * no roaming occurs between the reauth threshold and PMK expiration, |
| 2482 | 2495 | * disassociation is still forced. |
| 2483 | − * | |
| 2484 | 2496 | * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the |
| 2485 | 2497 | * %NL80211_CMD_REGISTER_FRAME command, see the description there. |
| 2498 | + * @NL80211_ATTR_WIPHY_FREQ_OFFSET: offset of the associated | |
| 2499 | + * %NL80211_ATTR_WIPHY_FREQ in positive KHz. Only valid when supplied with | |
| 2500 | + * an %NL80211_ATTR_WIPHY_FREQ_OFFSET. | |
| 2501 | + * @NL80211_ATTR_CENTER_FREQ1_OFFSET: Center frequency offset in KHz for the | |
| 2502 | + * first channel segment specified in %NL80211_ATTR_CENTER_FREQ1. | |
| 2503 | + * @NL80211_ATTR_SCAN_FREQ_KHZ: nested attribute with KHz frequencies | |
| 2504 | + * | |
| 2505 | + * @NL80211_ATTR_HE_6GHZ_CAPABILITY: HE 6 GHz Band Capability element (from | |
| 2506 | + * association request when used with NL80211_CMD_NEW_STATION). | |
| 2486 | 2507 | * |
| 2487 | 2508 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2488 | 2509 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -2960,6 +2981,11 @@ enum nl80211_attrs { · 471 unmodified lines | ||
| 2960 | 2981 | NL80211_ATTR_PMK_REAUTH_THRESHOLD, |
| 2961 | 2982 | |
| 2962 | 2983 | NL80211_ATTR_RECEIVE_MULTICAST, |
| 2984 | + NL80211_ATTR_WIPHY_FREQ_OFFSET, | |
| 2985 | + NL80211_ATTR_CENTER_FREQ1_OFFSET, | |
| 2986 | + NL80211_ATTR_SCAN_FREQ_KHZ, | |
| 2987 | + | |
| 2988 | + NL80211_ATTR_HE_6GHZ_CAPABILITY, | |
| 2963 | 2989 | |
| 2964 | 2990 | /* add attributes here, update the policy in nl80211.c */ |
| 2965 | 2991 | |
| @@ -3539,6 +3565,8 @@ enum nl80211_mpath_info { · 573 unmodified lines | ||
| 3539 | 3565 | * defined in HE capabilities IE |
| 3540 | 3566 | * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently |
| 3541 | 3567 | * defined |
| 3568 | + * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16), | |
| 3569 | + * given for all 6 GHz band channels | |
| 3542 | 3570 | * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use |
| 3543 | 3571 | */ |
| 3544 | 3572 | enum nl80211_band_iftype_attr { |
| @@ -3549,6 +3577,7 @@ enum nl80211_band_iftype_attr { · 4 unmodified lines | ||
| 3549 | 3577 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, |
| 3550 | 3578 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, |
| 3551 | 3579 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, |
| 3580 | + NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, | |
| 3552 | 3581 | |
| 3553 | 3582 | /* keep last */ |
| 3554 | 3583 | __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, |
| @@ -3682,6 +3711,7 @@ enum nl80211_wmm_rule { · 127 unmodified lines | ||
| 3682 | 3711 | * (see &enum nl80211_wmm_rule) |
| 3683 | 3712 | * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel |
| 3684 | 3713 | * in current regulatory domain. |
| 3714 | + * @NL80211_FREQUENCY_ATTR_OFFSET: frequency offset in KHz | |
| 3685 | 3715 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 3686 | 3716 | * currently defined |
| 3687 | 3717 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -3712,6 +3742,7 @@ enum nl80211_frequency_attr { · 24 unmodified lines | ||
| 3712 | 3742 | NL80211_FREQUENCY_ATTR_NO_10MHZ, |
| 3713 | 3743 | NL80211_FREQUENCY_ATTR_WMM, |
| 3714 | 3744 | NL80211_FREQUENCY_ATTR_NO_HE, |
| 3745 | + NL80211_FREQUENCY_ATTR_OFFSET, | |
| 3715 | 3746 | |
| 3716 | 3747 | /* keep last */ |
| 3717 | 3748 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -4482,6 +4513,7 @@ enum nl80211_bss_scan_width { · 764 unmodified lines | ||
| 4482 | 4513 | * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update. |
| 4483 | 4514 | * Contains a nested array of signal strength attributes (u8, dBm), |
| 4484 | 4515 | * using the nesting index as the antenna number. |
| 4516 | + * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz | |
| 4485 | 4517 | * @__NL80211_BSS_AFTER_LAST: internal |
| 4486 | 4518 | * @NL80211_BSS_MAX: highest BSS attribute |
| 4487 | 4519 | */ |
| @@ -4506,6 +4538,7 @@ enum nl80211_bss { · 18 unmodified lines | ||
| 4506 | 4538 | NL80211_BSS_PARENT_TSF, |
| 4507 | 4539 | NL80211_BSS_PARENT_BSSID, |
| 4508 | 4540 | NL80211_BSS_CHAIN_SIGNAL, |
| 4541 | + NL80211_BSS_FREQUENCY_OFFSET, | |
| 4509 | 4542 | |
| 4510 | 4543 | /* keep last */ |
| 4511 | 4544 | __NL80211_BSS_AFTER_LAST, |
| @@ -4816,6 +4849,17 @@ enum nl80211_tid_config { · 304 unmodified lines | ||
| 4816 | 4849 | NL80211_TID_CONFIG_DISABLE, |
| 4817 | 4850 | }; |
| 4818 | 4851 | |
| 4852 | +/* enum nl80211_tx_rate_setting - TX rate configuration type | |
| 4853 | + * @NL80211_TX_RATE_AUTOMATIC: automatically determine TX rate | |
| 4854 | + * @NL80211_TX_RATE_LIMITED: limit the TX rate by the TX rate parameter | |
| 4855 | + * @NL80211_TX_RATE_FIXED: fix TX rate to the TX rate parameter | |
| 4856 | + */ | |
| 4857 | +enum nl80211_tx_rate_setting { | |
| 4858 | + NL80211_TX_RATE_AUTOMATIC, | |
| 4859 | + NL80211_TX_RATE_LIMITED, | |
| 4860 | + NL80211_TX_RATE_FIXED, | |
| 4861 | +}; | |
| 4862 | + | |
| 4819 | 4863 | /* enum nl80211_tid_config_attr - TID specific configuration. |
| 4820 | 4864 | * @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values |
| 4821 | 4865 | * @NL80211_TID_CONFIG_ATTR_VIF_SUPP: a bitmap (u64) of attributes supported |
| @@ -4823,12 +4867,10 @@ enum nl80211_tid_config { · 1 unmodified line | ||
| 4823 | 4867 | * (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE). |
| 4824 | 4868 | * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but |
| 4825 | 4869 | * per peer instead. |
| 4826 | − * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if no peer | |
| 4827 | − * is selected, if set indicates that the new configuration overrides | |
| 4828 | − * all previous peer configurations, otherwise previous peer specific | |
| 4829 | − * configurations should be left untouched. If peer is selected then | |
| 4830 | − * it will reset particular TID configuration of that peer and it will | |
| 4831 | − * not accept other TID config attributes along with peer. | |
| 4870 | + * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if set indicates | |
| 4871 | + * that the new configuration overrides all previous peer | |
| 4872 | + * configurations, otherwise previous peer specific configurations | |
| 4873 | + * should be left untouched. | |
| 4832 | 4874 | * @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7) |
| 4833 | 4875 | * Its type is u16. |
| 4834 | 4876 | * @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID. |
| @@ -4844,12 +4886,23 @@ enum nl80211_tid_config { · 9 unmodified lines | ||
| 4844 | 4886 | * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and |
| 4845 | 4887 | * the max value is advertised by the driver in this attribute on |
| 4846 | 4888 | * output in wiphy capabilities. |
| 4847 | − * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable aggregation for the TIDs | |
| 4848 | − * specified in %NL80211_TID_CONFIG_ATTR_TIDS. Its type is u8, using | |
| 4849 | − * the values from &nl80211_tid_config. | |
| 4889 | + * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable MPDU aggregation | |
| 4890 | + * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. | |
| 4891 | + * Its type is u8, using the values from &nl80211_tid_config. | |
| 4850 | 4892 | * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs |
| 4851 | 4893 | * specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using |
| 4852 | 4894 | * the values from &nl80211_tid_config. |
| 4895 | + * @NL80211_TID_CONFIG_ATTR_AMSDU_CTRL: Enable/Disable MSDU aggregation | |
| 4896 | + * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. | |
| 4897 | + * Its type is u8, using the values from &nl80211_tid_config. | |
| 4898 | + * @NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE: This attribute will be useful | |
| 4899 | + * to notfiy the driver that what type of txrate should be used | |
| 4900 | + * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. using | |
| 4901 | + * the values form &nl80211_tx_rate_setting. | |
| 4902 | + * @NL80211_TID_CONFIG_ATTR_TX_RATE: Data frame TX rate mask should be applied | |
| 4903 | + * with the parameters passed through %NL80211_ATTR_TX_RATES. | |
| 4904 | + * configuration is applied to the data frame for the tid to that connected | |
| 4905 | + * station. | |
| 4853 | 4906 | */ |
| 4854 | 4907 | enum nl80211_tid_config_attr { |
| 4855 | 4908 | __NL80211_TID_CONFIG_ATTR_INVALID, |
| @@ -4863,6 +4916,9 @@ enum nl80211_tid_config_attr { · 7 unmodified lines | ||
| 4863 | 4916 | NL80211_TID_CONFIG_ATTR_RETRY_LONG, |
| 4864 | 4917 | NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, |
| 4865 | 4918 | NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL, |
| 4919 | + NL80211_TID_CONFIG_ATTR_AMSDU_CTRL, | |
| 4920 | + NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE, | |
| 4921 | + NL80211_TID_CONFIG_ATTR_TX_RATE, | |
| 4866 | 4922 | |
| 4867 | 4923 | /* keep last */ |
| 4868 | 4924 | __NL80211_TID_CONFIG_ATTR_AFTER_LAST, |
| @@ -5340,6 +5396,8 @@ enum plink_actions { · 471 unmodified lines | ||
| 5340 | 5396 | |
| 5341 | 5397 | #define NL80211_KCK_LEN 16 |
| 5342 | 5398 | #define NL80211_KEK_LEN 16 |
| 5399 | +#define NL80211_KCK_EXT_LEN 24 | |
| 5400 | +#define NL80211_KEK_EXT_LEN 32 | |
| 5343 | 5401 | #define NL80211_REPLAY_CTR_LEN 8 |
| 5344 | 5402 | |
| 5345 | 5403 | /** |
| @@ -5348,6 +5406,7 @@ enum plink_actions { · 2 unmodified lines | ||
| 5348 | 5406 | * @NL80211_REKEY_DATA_KEK: key encryption key (binary) |
| 5349 | 5407 | * @NL80211_REKEY_DATA_KCK: key confirmation key (binary) |
| 5350 | 5408 | * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary) |
| 5409 | + * @NL80211_REKEY_DATA_AKM: AKM data (OUI, suite type) | |
| 5351 | 5410 | * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal) |
| 5352 | 5411 | * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal) |
| 5353 | 5412 | */ |
| @@ -5356,6 +5415,7 @@ enum nl80211_rekey_data { · 2 unmodified lines | ||
| 5356 | 5415 | NL80211_REKEY_DATA_KEK, |
| 5357 | 5416 | NL80211_REKEY_DATA_KCK, |
| 5358 | 5417 | NL80211_REKEY_DATA_REPLAY_CTR, |
| 5418 | + NL80211_REKEY_DATA_AKM, | |
| 5359 | 5419 | |
| 5360 | 5420 | /* keep last */ |
| 5361 | 5421 | NUM_NL80211_REKEY_DATA, |
| @@ -5705,6 +5765,14 @@ enum nl80211_feature_flags { · 343 unmodified lines | ||
| 5705 | 5765 | * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations |
| 5706 | 5766 | * are possible for multicast frames and those will be reported properly. |
| 5707 | 5767 | * |
| 5768 | + * @NL80211_EXT_FEATURE_SCAN_FREQ_KHZ: This driver supports receiving and | |
| 5769 | + * reporting scan request with %NL80211_ATTR_SCAN_FREQ_KHZ. In order to | |
| 5770 | + * report %NL80211_ATTR_SCAN_FREQ_KHZ, %NL80211_SCAN_FLAG_FREQ_KHZ must be | |
| 5771 | + * included in the scan request. | |
| 5772 | + * | |
| 5773 | + * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver | |
| 5774 | + * can report tx status for control port over nl80211 tx operations. | |
| 5775 | + * | |
| 5708 | 5776 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5709 | 5777 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 5710 | 5778 | */ |
| @@ -5758,6 +5826,8 @@ enum nl80211_ext_feature_index { · 47 unmodified lines | ||
| 5758 | 5826 | NL80211_EXT_FEATURE_DEL_IBSS_STA, |
| 5759 | 5827 | NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, |
| 5760 | 5828 | NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, |
| 5829 | + NL80211_EXT_FEATURE_SCAN_FREQ_KHZ, | |
| 5830 | + NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS, | |
| 5761 | 5831 | |
| 5762 | 5832 | /* add new features before the definition below */ |
| 5763 | 5833 | NUM_NL80211_EXT_FEATURES, |
| @@ -5869,6 +5939,9 @@ enum nl80211_timeout_reason { · 105 unmodified lines | ||
| 5869 | 5939 | * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to |
| 5870 | 5940 | * only have supported rates and no additional capabilities (unless |
| 5871 | 5941 | * added by userspace explicitly.) |
| 5942 | + * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with | |
| 5943 | + * %NL80211_ATTR_SCAN_FREQ_KHZ. This also means | |
| 5944 | + * %NL80211_ATTR_SCAN_FREQUENCIES will not be included. | |
| 5872 | 5945 | */ |
| 5873 | 5946 | enum nl80211_scan_flags { |
| 5874 | 5947 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| @@ -5884,6 +5957,7 @@ enum nl80211_scan_flags { · 9 unmodified lines | ||
| 5884 | 5957 | NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, |
| 5885 | 5958 | NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, |
| 5886 | 5959 | NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, |
| 5960 | + NL80211_SCAN_FLAG_FREQ_KHZ = 1<<13, | |
| 5887 | 5961 | }; |
| 5888 | 5962 | |
| 5889 | 5963 | /** |
| @@ -74,7 +74,11 @@ · 73 unmodified lines | ||
| 74 | 74 | #include <linux/socket.h> /* for "struct sockaddr" et al */ |
| 75 | 75 | #include <linux/if.h> /* for IFNAMSIZ and co... */ |
| 76 | 76 | |
| 77 | −#include <stddef.h> /* for offsetof */ | |
| 77 | +#ifdef __KERNEL__ | |
| 78 | +# include <linux/stddef.h> /* for offsetof */ | |
| 79 | +#else | |
| 80 | +# include <stddef.h> /* for offsetof */ | |
| 81 | +#endif | |
| 78 | 82 | |
| 79 | 83 | /***************************** VERSION *****************************/ |
| 80 | 84 | /* |