Showing the changes to include/uapi/linux (1 of 123 files). Show all
Unified · Split
| @@ -693,6 +693,15 @@ · 692 unmodified lines | ||
| 693 | 693 | * other station that transmission must be blocked until the channel |
| 694 | 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 | 705 | * @NL80211_CMD_MAX: highest used command number |
| 697 | 706 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 698 | 707 | */ |
| @@ -860,6 +869,8 @@ enum nl80211_commands { · 161 unmodified lines | ||
| 860 | 869 | |
| 861 | 870 | NL80211_CMD_CHANNEL_SWITCH, |
| 862 | 871 | |
| 872 | + NL80211_CMD_VENDOR, | |
| 873 | + | |
| 863 | 874 | /* add new commands above here */ |
| 864 | 875 | |
| 865 | 876 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1520,6 +1531,16 @@ enum nl80211_commands { · 654 unmodified lines | ||
| 1520 | 1531 | * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports |
| 1521 | 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 | 1544 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1524 | 1545 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1525 | 1546 | */ |
| @@ -1839,6 +1860,12 @@ enum nl80211_attrs { · 313 unmodified lines | ||
| 1839 | 1860 | NL80211_ATTR_SUPPORT_5_MHZ, |
| 1840 | 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 | 1869 | /* add attributes here, update the policy in nl80211.c */ |
| 1843 | 1870 | |
| 1844 | 1871 | __NL80211_ATTR_AFTER_LAST, |
| @@ -3083,21 +3110,35 @@ enum nl80211_key_attributes { · 1238 unmodified lines | ||
| 3083 | 3110 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with |
| 3084 | 3111 | * 1 = 500 kbps) but without the IE length restriction (at most |
| 3085 | 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 | 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 | 3117 | * @__NL80211_TXRATE_AFTER_LAST: internal |
| 3089 | 3118 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
| 3090 | 3119 | */ |
| 3091 | 3120 | enum nl80211_tx_rate_attributes { |
| 3092 | 3121 | __NL80211_TXRATE_INVALID, |
| 3093 | 3122 | NL80211_TXRATE_LEGACY, |
| 3094 | − NL80211_TXRATE_MCS, | |
| 3123 | + NL80211_TXRATE_HT, | |
| 3124 | + NL80211_TXRATE_VHT, | |
| 3095 | 3125 | |
| 3096 | 3126 | /* keep last */ |
| 3097 | 3127 | __NL80211_TXRATE_AFTER_LAST, |
| 3098 | 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 | 3143 | * enum nl80211_band - Frequency band |
| 3103 | 3144 | * @NL80211_BAND_2GHZ: 2.4 GHz ISM band |
| @@ -3959,4 +4000,24 @@ enum nl80211_rxmgmt_flags { · 855 unmodified lines | ||
| 3959 | 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 | 4023 | #endif /* __LINUX_NL80211_H */ |