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 | * to get a list of all present wiphys. | 296 | * to get a list of all present wiphys. |
| 297 | * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or | 297 | * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or |
| 298 | * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, | 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 | 299 | * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, |
| 300 | * attributes determining the channel width; this is used for setting | 300 | * %NL80211_ATTR_WIPHY_FREQ_OFFSET (and the attributes determining the |
| 301 | * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, | 301 | * channel width; this is used for setting monitor mode channel), |
| 302 | * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, | 302 | * %NL80211_ATTR_WIPHY_RETRY_SHORT, %NL80211_ATTR_WIPHY_RETRY_LONG, |
| 303 | * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. | 303 | * %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, and/or |
| 304 | * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL | 304 | * %NL80211_ATTR_WIPHY_RTS_THRESHOLD. However, for setting the channel, |
| 305 | * instead, the support here is for backward compatibility only. | 305 | * see %NL80211_CMD_SET_CHANNEL instead, the support here is for backward |
| 306 | * compatibility only. | ||
| 306 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request | 307 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request |
| 307 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and | 308 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and |
| 308 | * %NL80211_ATTR_WIPHY_NAME. | 309 | * %NL80211_ATTR_WIPHY_NAME. |
| @@ -351,7 +352,8 @@ · 42 unmodified lines | |||
| 351 | * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, | 352 | * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, |
| 352 | * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. | 353 | * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. |
| 353 | * The channel to use can be set on the interface or be given using the | 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 | * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP | 357 | * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP |
| 356 | * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface | 358 | * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface |
| 357 | * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP | 359 | * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP |
| @@ -536,11 +538,12 @@ · 178 unmodified lines | |||
| 536 | * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and | 538 | * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and |
| 537 | * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify | 539 | * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify |
| 538 | * the SSID (mainly for association, but is included in authentication | 540 | * the SSID (mainly for association, but is included in authentication |
| 539 | * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used | 541 | * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ + |
| 540 | * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE | 542 | * %NL80211_ATTR_WIPHY_FREQ_OFFSET is used to specify the frequence of the |
| 541 | * is used to specify the authentication type. %NL80211_ATTR_IE is used to | 543 | * channel in MHz. %NL80211_ATTR_AUTH_TYPE is used to specify the |
| 542 | * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) | 544 | * authentication type. %NL80211_ATTR_IE is used to define IEs |
| 543 | * to be added to the frame. | 545 | * (VendorSpecificInfo, but also including RSN IE and FT IEs) to be added |
| 546 | * to the frame. | ||
| 544 | * When used as an event, this reports reception of an Authentication | 547 | * When used as an event, this reports reception of an Authentication |
| 545 | * frame in station and IBSS modes when the local MLME processed the | 548 | * frame in station and IBSS modes when the local MLME processed the |
| 546 | * frame, i.e., it was for the local STA and was received in correct | 549 | * frame, i.e., it was for the local STA and was received in correct |
| @@ -595,8 +598,9 @@ · 48 unmodified lines | |||
| 595 | * requests to connect to a specified network but without separating | 598 | * requests to connect to a specified network but without separating |
| 596 | * auth and assoc steps. For this, you need to specify the SSID in a | 599 | * auth and assoc steps. For this, you need to specify the SSID in a |
| 597 | * %NL80211_ATTR_SSID attribute, and can optionally specify the association | 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, | 601 | * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, |
| 599 | * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, | 602 | * %NL80211_ATTR_USE_MFP, %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, |
| 603 | * %NL80211_ATTR_WIPHY_FREQ_OFFSET, %NL80211_ATTR_CONTROL_PORT, | ||
| 600 | * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, | 604 | * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, |
| 601 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, | 605 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, |
| 602 | * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and | 606 | * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and |
| @@ -1160,6 +1164,12 @@ · 557 unmodified lines | |||
| 1160 | * dropped because it did not include a valid MME MIC while beacon | 1164 | * dropped because it did not include a valid MME MIC while beacon |
| 1161 | * protection was enabled (BIGTK configured in station mode). | 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 | * @NL80211_CMD_MAX: highest used command number | 1173 | * @NL80211_CMD_MAX: highest used command number |
| 1164 | * @__NL80211_CMD_AFTER_LAST: internal use | 1174 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 1165 | */ | 1175 | */ |
| @@ -1388,6 +1398,8 @@ enum nl80211_commands { · 222 unmodified lines | |||
| 1388 | 1398 | ||
| 1389 | NL80211_CMD_UNPROT_BEACON, | 1399 | NL80211_CMD_UNPROT_BEACON, |
| 1390 | 1400 | ||
| 1401 | NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, | ||
| 1402 | |||
| 1391 | /* add new commands above here */ | 1403 | /* add new commands above here */ |
| 1392 | 1404 | ||
| 1393 | /* used to define NL80211_CMD_MAX below */ | 1405 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1433,7 +1445,8 @@ enum nl80211_commands { · 39 unmodified lines | |||
| 1433 | * of &enum nl80211_chan_width, describing the channel width. See the | 1445 | * of &enum nl80211_chan_width, describing the channel width. See the |
| 1434 | * documentation of the enum for more information. | 1446 | * documentation of the enum for more information. |
| 1435 | * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the | 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 | * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the | 1450 | * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the |
| 1438 | * channel, used only for 80+80 MHz bandwidth | 1451 | * channel, used only for 80+80 MHz bandwidth |
| 1439 | * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ | 1452 | * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ |
| @@ -2480,9 +2493,17 @@ enum nl80211_commands { · 1040 unmodified lines | |||
| 2480 | * entry without having to force a disconnection after the PMK timeout. If | 2493 | * entry without having to force a disconnection after the PMK timeout. If |
| 2481 | * no roaming occurs between the reauth threshold and PMK expiration, | 2494 | * no roaming occurs between the reauth threshold and PMK expiration, |
| 2482 | * disassociation is still forced. | 2495 | * disassociation is still forced. |
| 2483 | * | ||
| 2484 | * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the | 2496 | * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the |
| 2485 | * %NL80211_CMD_REGISTER_FRAME command, see the description there. | 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 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 2508 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2488 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2509 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -2960,6 +2981,11 @@ enum nl80211_attrs { · 471 unmodified lines | |||
| 2960 | NL80211_ATTR_PMK_REAUTH_THRESHOLD, | 2981 | NL80211_ATTR_PMK_REAUTH_THRESHOLD, |
| 2961 | 2982 | ||
| 2962 | NL80211_ATTR_RECEIVE_MULTICAST, | 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 | /* add attributes here, update the policy in nl80211.c */ | 2990 | /* add attributes here, update the policy in nl80211.c */ |
| 2965 | 2991 | ||
| @@ -3539,6 +3565,8 @@ enum nl80211_mpath_info { · 573 unmodified lines | |||
| 3539 | * defined in HE capabilities IE | 3565 | * defined in HE capabilities IE |
| 3540 | * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently | 3566 | * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently |
| 3541 | * defined | 3567 | * defined |
| 3568 | * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16), | ||
| 3569 | * given for all 6 GHz band channels | ||
| 3542 | * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use | 3570 | * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use |
| 3543 | */ | 3571 | */ |
| 3544 | enum nl80211_band_iftype_attr { | 3572 | enum nl80211_band_iftype_attr { |
| @@ -3549,6 +3577,7 @@ enum nl80211_band_iftype_attr { · 4 unmodified lines | |||
| 3549 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, | 3577 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, |
| 3550 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, | 3578 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, |
| 3551 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, | 3579 | NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, |
| 3580 | NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, | ||
| 3552 | 3581 | ||
| 3553 | /* keep last */ | 3582 | /* keep last */ |
| 3554 | __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, | 3583 | __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, |
| @@ -3682,6 +3711,7 @@ enum nl80211_wmm_rule { · 127 unmodified lines | |||
| 3682 | * (see &enum nl80211_wmm_rule) | 3711 | * (see &enum nl80211_wmm_rule) |
| 3683 | * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel | 3712 | * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel |
| 3684 | * in current regulatory domain. | 3713 | * in current regulatory domain. |
| 3714 | * @NL80211_FREQUENCY_ATTR_OFFSET: frequency offset in KHz | ||
| 3685 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number | 3715 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 3686 | * currently defined | 3716 | * currently defined |
| 3687 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use | 3717 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -3712,6 +3742,7 @@ enum nl80211_frequency_attr { · 24 unmodified lines | |||
| 3712 | NL80211_FREQUENCY_ATTR_NO_10MHZ, | 3742 | NL80211_FREQUENCY_ATTR_NO_10MHZ, |
| 3713 | NL80211_FREQUENCY_ATTR_WMM, | 3743 | NL80211_FREQUENCY_ATTR_WMM, |
| 3714 | NL80211_FREQUENCY_ATTR_NO_HE, | 3744 | NL80211_FREQUENCY_ATTR_NO_HE, |
| 3745 | NL80211_FREQUENCY_ATTR_OFFSET, | ||
| 3715 | 3746 | ||
| 3716 | /* keep last */ | 3747 | /* keep last */ |
| 3717 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, | 3748 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -4482,6 +4513,7 @@ enum nl80211_bss_scan_width { · 764 unmodified lines | |||
| 4482 | * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update. | 4513 | * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update. |
| 4483 | * Contains a nested array of signal strength attributes (u8, dBm), | 4514 | * Contains a nested array of signal strength attributes (u8, dBm), |
| 4484 | * using the nesting index as the antenna number. | 4515 | * using the nesting index as the antenna number. |
| 4516 | * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz | ||
| 4485 | * @__NL80211_BSS_AFTER_LAST: internal | 4517 | * @__NL80211_BSS_AFTER_LAST: internal |
| 4486 | * @NL80211_BSS_MAX: highest BSS attribute | 4518 | * @NL80211_BSS_MAX: highest BSS attribute |
| 4487 | */ | 4519 | */ |
| @@ -4506,6 +4538,7 @@ enum nl80211_bss { · 18 unmodified lines | |||
| 4506 | NL80211_BSS_PARENT_TSF, | 4538 | NL80211_BSS_PARENT_TSF, |
| 4507 | NL80211_BSS_PARENT_BSSID, | 4539 | NL80211_BSS_PARENT_BSSID, |
| 4508 | NL80211_BSS_CHAIN_SIGNAL, | 4540 | NL80211_BSS_CHAIN_SIGNAL, |
| 4541 | NL80211_BSS_FREQUENCY_OFFSET, | ||
| 4509 | 4542 | ||
| 4510 | /* keep last */ | 4543 | /* keep last */ |
| 4511 | __NL80211_BSS_AFTER_LAST, | 4544 | __NL80211_BSS_AFTER_LAST, |
| @@ -4816,6 +4849,17 @@ enum nl80211_tid_config { · 304 unmodified lines | |||
| 4816 | NL80211_TID_CONFIG_DISABLE, | 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 | /* enum nl80211_tid_config_attr - TID specific configuration. | 4863 | /* enum nl80211_tid_config_attr - TID specific configuration. |
| 4820 | * @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values | 4864 | * @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values |
| 4821 | * @NL80211_TID_CONFIG_ATTR_VIF_SUPP: a bitmap (u64) of attributes supported | 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 | * (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE). | 4867 | * (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE). |
| 4824 | * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but | 4868 | * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but |
| 4825 | * per peer instead. | 4869 | * per peer instead. |
| 4826 | * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if no peer | 4870 | * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if set indicates |
| 4827 | * is selected, if set indicates that the new configuration overrides | 4871 | * that the new configuration overrides all previous peer |
| 4828 | * all previous peer configurations, otherwise previous peer specific | 4872 | * configurations, otherwise previous peer specific configurations |
| 4829 | * configurations should be left untouched. If peer is selected then | 4873 | * should be left untouched. |
| 4830 | * it will reset particular TID configuration of that peer and it will | ||
| 4831 | * not accept other TID config attributes along with peer. | ||
| 4832 | * @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7) | 4874 | * @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7) |
| 4833 | * Its type is u16. | 4875 | * Its type is u16. |
| 4834 | * @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID. | 4876 | * @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID. |
| @@ -4844,12 +4886,23 @@ enum nl80211_tid_config { · 9 unmodified lines | |||
| 4844 | * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and | 4886 | * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and |
| 4845 | * the max value is advertised by the driver in this attribute on | 4887 | * the max value is advertised by the driver in this attribute on |
| 4846 | * output in wiphy capabilities. | 4888 | * output in wiphy capabilities. |
| 4847 | * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable aggregation for the TIDs | 4889 | * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable MPDU aggregation |
| 4848 | * specified in %NL80211_TID_CONFIG_ATTR_TIDS. Its type is u8, using | 4890 | * for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. |
| 4849 | * the values from &nl80211_tid_config. | 4891 | * Its type is u8, using the values from &nl80211_tid_config. |
| 4850 | * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs | 4892 | * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs |
| 4851 | * specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using | 4893 | * specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using |
| 4852 | * the values from &nl80211_tid_config. | 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 | enum nl80211_tid_config_attr { | 4907 | enum nl80211_tid_config_attr { |
| 4855 | __NL80211_TID_CONFIG_ATTR_INVALID, | 4908 | __NL80211_TID_CONFIG_ATTR_INVALID, |
| @@ -4863,6 +4916,9 @@ enum nl80211_tid_config_attr { · 7 unmodified lines | |||
| 4863 | NL80211_TID_CONFIG_ATTR_RETRY_LONG, | 4916 | NL80211_TID_CONFIG_ATTR_RETRY_LONG, |
| 4864 | NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, | 4917 | NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, |
| 4865 | NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL, | 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 | /* keep last */ | 4923 | /* keep last */ |
| 4868 | __NL80211_TID_CONFIG_ATTR_AFTER_LAST, | 4924 | __NL80211_TID_CONFIG_ATTR_AFTER_LAST, |
| @@ -5340,6 +5396,8 @@ enum plink_actions { · 471 unmodified lines | |||
| 5340 | 5396 | ||
| 5341 | #define NL80211_KCK_LEN 16 | 5397 | #define NL80211_KCK_LEN 16 |
| 5342 | #define NL80211_KEK_LEN 16 | 5398 | #define NL80211_KEK_LEN 16 |
| 5399 | #define NL80211_KCK_EXT_LEN 24 | ||
| 5400 | #define NL80211_KEK_EXT_LEN 32 | ||
| 5343 | #define NL80211_REPLAY_CTR_LEN 8 | 5401 | #define NL80211_REPLAY_CTR_LEN 8 |
| 5344 | 5402 | ||
| 5345 | /** | 5403 | /** |
| @@ -5348,6 +5406,7 @@ enum plink_actions { · 2 unmodified lines | |||
| 5348 | * @NL80211_REKEY_DATA_KEK: key encryption key (binary) | 5406 | * @NL80211_REKEY_DATA_KEK: key encryption key (binary) |
| 5349 | * @NL80211_REKEY_DATA_KCK: key confirmation key (binary) | 5407 | * @NL80211_REKEY_DATA_KCK: key confirmation key (binary) |
| 5350 | * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary) | 5408 | * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary) |
| 5409 | * @NL80211_REKEY_DATA_AKM: AKM data (OUI, suite type) | ||
| 5351 | * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal) | 5410 | * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal) |
| 5352 | * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal) | 5411 | * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal) |
| 5353 | */ | 5412 | */ |
| @@ -5356,6 +5415,7 @@ enum nl80211_rekey_data { · 2 unmodified lines | |||
| 5356 | NL80211_REKEY_DATA_KEK, | 5415 | NL80211_REKEY_DATA_KEK, |
| 5357 | NL80211_REKEY_DATA_KCK, | 5416 | NL80211_REKEY_DATA_KCK, |
| 5358 | NL80211_REKEY_DATA_REPLAY_CTR, | 5417 | NL80211_REKEY_DATA_REPLAY_CTR, |
| 5418 | NL80211_REKEY_DATA_AKM, | ||
| 5359 | 5419 | ||
| 5360 | /* keep last */ | 5420 | /* keep last */ |
| 5361 | NUM_NL80211_REKEY_DATA, | 5421 | NUM_NL80211_REKEY_DATA, |
| @@ -5705,6 +5765,14 @@ enum nl80211_feature_flags { · 343 unmodified lines | |||
| 5705 | * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations | 5765 | * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations |
| 5706 | * are possible for multicast frames and those will be reported properly. | 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 | * @NUM_NL80211_EXT_FEATURES: number of extended features. | 5776 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5709 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | 5777 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 5710 | */ | 5778 | */ |
| @@ -5758,6 +5826,8 @@ enum nl80211_ext_feature_index { · 47 unmodified lines | |||
| 5758 | NL80211_EXT_FEATURE_DEL_IBSS_STA, | 5826 | NL80211_EXT_FEATURE_DEL_IBSS_STA, |
| 5759 | NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, | 5827 | NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, |
| 5760 | NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, | 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 | /* add new features before the definition below */ | 5832 | /* add new features before the definition below */ |
| 5763 | NUM_NL80211_EXT_FEATURES, | 5833 | NUM_NL80211_EXT_FEATURES, |
| @@ -5869,6 +5939,9 @@ enum nl80211_timeout_reason { · 105 unmodified lines | |||
| 5869 | * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to | 5939 | * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to |
| 5870 | * only have supported rates and no additional capabilities (unless | 5940 | * only have supported rates and no additional capabilities (unless |
| 5871 | * added by userspace explicitly.) | 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 | enum nl80211_scan_flags { | 5946 | enum nl80211_scan_flags { |
| 5874 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, | 5947 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| @@ -5884,6 +5957,7 @@ enum nl80211_scan_flags { · 9 unmodified lines | |||
| 5884 | NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, | 5957 | NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, |
| 5885 | NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, | 5958 | NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, |
| 5886 | NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, | 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 | #include <linux/socket.h> /* for "struct sockaddr" et al */ | 74 | #include <linux/socket.h> /* for "struct sockaddr" et al */ |
| 75 | #include <linux/if.h> /* for IFNAMSIZ and co... */ | 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 | /***************************** VERSION *****************************/ | 83 | /***************************** VERSION *****************************/ |
| 80 | /* | 84 | /* |