diff options
| author | John W. Linville <linville@tuxdriver.com> | 2014-01-01 15:39:56 -0500 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2014-01-01 15:39:56 -0500 |
| commit | ad86c55bac643a745f480d26689d153ec0f38b04 (patch) | |
| tree | 8ae3e20d2f3619021393166fe1f50a8ca00c1c33 /include/uapi/linux | |
| parent | 21eb218989523b7bee28900aaec9f9296b70fa27 (diff) | |
| parent | 39731b78b4afebb7501c05b68e2443a1b250b41c (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/nl80211.h | 65 |
1 files changed, 63 insertions, 2 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 129b7b087148..e1307909ecf1 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -693,6 +693,15 @@ | |||
| 693 | * other station that transmission must be blocked until the channel | 693 | * other station that transmission must be blocked until the channel |
| 694 | * switch is complete. | 694 | * switch is complete. |
| 695 | * | 695 | * |
| 696 | * @NL80211_CMD_VENDOR: Vendor-specified command/event. The command is specified | ||
| 697 | * by the %NL80211_ATTR_VENDOR_ID attribute and a sub-command in | ||
| 698 | * %NL80211_ATTR_VENDOR_SUBCMD. Parameter(s) can be transported in | ||
| 699 | * %NL80211_ATTR_VENDOR_DATA. | ||
| 700 | * For feature advertisement, the %NL80211_ATTR_VENDOR_DATA attribute is | ||
| 701 | * used in the wiphy data as a nested attribute containing descriptions | ||
| 702 | * (&struct nl80211_vendor_cmd_info) of the supported vendor commands. | ||
| 703 | * This may also be sent as an event with the same attributes. | ||
| 704 | * | ||
| 696 | * @NL80211_CMD_MAX: highest used command number | 705 | * @NL80211_CMD_MAX: highest used command number |
| 697 | * @__NL80211_CMD_AFTER_LAST: internal use | 706 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 698 | */ | 707 | */ |
| @@ -860,6 +869,8 @@ enum nl80211_commands { | |||
| 860 | 869 | ||
| 861 | NL80211_CMD_CHANNEL_SWITCH, | 870 | NL80211_CMD_CHANNEL_SWITCH, |
| 862 | 871 | ||
| 872 | NL80211_CMD_VENDOR, | ||
| 873 | |||
| 863 | /* add new commands above here */ | 874 | /* add new commands above here */ |
| 864 | 875 | ||
| 865 | /* used to define NL80211_CMD_MAX below */ | 876 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1520,6 +1531,16 @@ enum nl80211_commands { | |||
| 1520 | * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports | 1531 | * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports |
| 1521 | * 10 MHz channel bandwidth. | 1532 | * 10 MHz channel bandwidth. |
| 1522 | * | 1533 | * |
| 1534 | * @NL80211_ATTR_OPMODE_NOTIF: Operating mode field from Operating Mode | ||
| 1535 | * Notification Element based on association request when used with | ||
| 1536 | * %NL80211_CMD_NEW_STATION; u8 attribute. | ||
| 1537 | * | ||
| 1538 | * @NL80211_ATTR_VENDOR_ID: The vendor ID, either a 24-bit OUI or, if | ||
| 1539 | * %NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet) | ||
| 1540 | * @NL80211_ATTR_VENDOR_SUBCMD: vendor sub-command | ||
| 1541 | * @NL80211_ATTR_VENDOR_DATA: data for the vendor command, if any; this | ||
| 1542 | * attribute is also used for vendor command feature advertisement | ||
| 1543 | * | ||
| 1523 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1544 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1524 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1545 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1525 | */ | 1546 | */ |
| @@ -1839,6 +1860,12 @@ enum nl80211_attrs { | |||
| 1839 | NL80211_ATTR_SUPPORT_5_MHZ, | 1860 | NL80211_ATTR_SUPPORT_5_MHZ, |
| 1840 | NL80211_ATTR_SUPPORT_10_MHZ, | 1861 | NL80211_ATTR_SUPPORT_10_MHZ, |
| 1841 | 1862 | ||
| 1863 | NL80211_ATTR_OPMODE_NOTIF, | ||
| 1864 | |||
| 1865 | NL80211_ATTR_VENDOR_ID, | ||
| 1866 | NL80211_ATTR_VENDOR_SUBCMD, | ||
| 1867 | NL80211_ATTR_VENDOR_DATA, | ||
| 1868 | |||
| 1842 | /* add attributes here, update the policy in nl80211.c */ | 1869 | /* add attributes here, update the policy in nl80211.c */ |
| 1843 | 1870 | ||
| 1844 | __NL80211_ATTR_AFTER_LAST, | 1871 | __NL80211_ATTR_AFTER_LAST, |
| @@ -3083,21 +3110,35 @@ enum nl80211_key_attributes { | |||
| 3083 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with | 3110 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with |
| 3084 | * 1 = 500 kbps) but without the IE length restriction (at most | 3111 | * 1 = 500 kbps) but without the IE length restriction (at most |
| 3085 | * %NL80211_MAX_SUPP_RATES in a single array). | 3112 | * %NL80211_MAX_SUPP_RATES in a single array). |
| 3086 | * @NL80211_TXRATE_MCS: HT (MCS) rates allowed for TX rate selection | 3113 | * @NL80211_TXRATE_HT: HT (MCS) rates allowed for TX rate selection |
| 3087 | * in an array of MCS numbers. | 3114 | * in an array of MCS numbers. |
| 3115 | * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, | ||
| 3116 | * see &struct nl80211_txrate_vht | ||
| 3088 | * @__NL80211_TXRATE_AFTER_LAST: internal | 3117 | * @__NL80211_TXRATE_AFTER_LAST: internal |
| 3089 | * @NL80211_TXRATE_MAX: highest TX rate attribute | 3118 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
| 3090 | */ | 3119 | */ |
| 3091 | enum nl80211_tx_rate_attributes { | 3120 | enum nl80211_tx_rate_attributes { |
| 3092 | __NL80211_TXRATE_INVALID, | 3121 | __NL80211_TXRATE_INVALID, |
| 3093 | NL80211_TXRATE_LEGACY, | 3122 | NL80211_TXRATE_LEGACY, |
| 3094 | NL80211_TXRATE_MCS, | 3123 | NL80211_TXRATE_HT, |
| 3124 | NL80211_TXRATE_VHT, | ||
| 3095 | 3125 | ||
| 3096 | /* keep last */ | 3126 | /* keep last */ |
| 3097 | __NL80211_TXRATE_AFTER_LAST, | 3127 | __NL80211_TXRATE_AFTER_LAST, |
| 3098 | NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 | 3128 | NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 |
| 3099 | }; | 3129 | }; |
| 3100 | 3130 | ||
| 3131 | #define NL80211_TXRATE_MCS NL80211_TXRATE_HT | ||
| 3132 | #define NL80211_VHT_NSS_MAX 8 | ||
| 3133 | |||
| 3134 | /** | ||
| 3135 | * struct nl80211_txrate_vht - VHT MCS/NSS txrate bitmap | ||
| 3136 | * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.) | ||
| 3137 | */ | ||
| 3138 | struct nl80211_txrate_vht { | ||
| 3139 | __u16 mcs[NL80211_VHT_NSS_MAX]; | ||
| 3140 | }; | ||
| 3141 | |||
| 3101 | /** | 3142 | /** |
| 3102 | * enum nl80211_band - Frequency band | 3143 | * enum nl80211_band - Frequency band |
| 3103 | * @NL80211_BAND_2GHZ: 2.4 GHz ISM band | 3144 | * @NL80211_BAND_2GHZ: 2.4 GHz ISM band |
| @@ -3959,4 +4000,24 @@ enum nl80211_rxmgmt_flags { | |||
| 3959 | NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, | 4000 | NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, |
| 3960 | }; | 4001 | }; |
| 3961 | 4002 | ||
| 4003 | /* | ||
| 4004 | * If this flag is unset, the lower 24 bits are an OUI, if set | ||
| 4005 | * a Linux nl80211 vendor ID is used (no such IDs are allocated | ||
| 4006 | * yet, so that's not valid so far) | ||
| 4007 | */ | ||
| 4008 | #define NL80211_VENDOR_ID_IS_LINUX 0x80000000 | ||
| 4009 | |||
| 4010 | /** | ||
| 4011 | * struct nl80211_vendor_cmd_info - vendor command data | ||
| 4012 | * @vendor_id: If the %NL80211_VENDOR_ID_IS_LINUX flag is clear, then the | ||
| 4013 | * value is a 24-bit OUI; if it is set then a separately allocated ID | ||
| 4014 | * may be used, but no such IDs are allocated yet. New IDs should be | ||
| 4015 | * added to this file when needed. | ||
| 4016 | * @subcmd: sub-command ID for the command | ||
| 4017 | */ | ||
| 4018 | struct nl80211_vendor_cmd_info { | ||
| 4019 | __u32 vendor_id; | ||
| 4020 | __u32 subcmd; | ||
| 4021 | }; | ||
| 4022 | |||
| 3962 | #endif /* __LINUX_NL80211_H */ | 4023 | #endif /* __LINUX_NL80211_H */ |
