History

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem

John W. Linville committed 12 years ago

Commit ad86c552 parents 21eb218 39731b7123 files · +5206 −3982Browse files

Showing the changes to include/uapi/linux (1 of 123 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+63−2
@@ -693,6 +693,15 @@ · 692 unmodified lines
693693 * other station that transmission must be blocked until the channel
694694 * switch is complete.
695695 *
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+ *
696705 * @NL80211_CMD_MAX: highest used command number
697706 * @__NL80211_CMD_AFTER_LAST: internal use
698707 */
@@ -860,6 +869,8 @@ enum nl80211_commands { · 161 unmodified lines
860869
861870 NL80211_CMD_CHANNEL_SWITCH,
862871
872+ NL80211_CMD_VENDOR,
873+
863874 /* add new commands above here */
864875
865876 /* used to define NL80211_CMD_MAX below */
@@ -1520,6 +1531,16 @@ enum nl80211_commands { · 654 unmodified lines
15201531 * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports
15211532 * 10 MHz channel bandwidth.
15221533 *
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+ *
15231544 * @NL80211_ATTR_MAX: highest attribute number currently defined
15241545 * @__NL80211_ATTR_AFTER_LAST: internal use
15251546 */
@@ -1839,6 +1860,12 @@ enum nl80211_attrs { · 313 unmodified lines
18391860 NL80211_ATTR_SUPPORT_5_MHZ,
18401861 NL80211_ATTR_SUPPORT_10_MHZ,
18411862
1863+ NL80211_ATTR_OPMODE_NOTIF,
1864+
1865+ NL80211_ATTR_VENDOR_ID,
1866+ NL80211_ATTR_VENDOR_SUBCMD,
1867+ NL80211_ATTR_VENDOR_DATA,
1868+
18421869 /* add attributes here, update the policy in nl80211.c */
18431870
18441871 __NL80211_ATTR_AFTER_LAST,
@@ -3083,21 +3110,35 @@ enum nl80211_key_attributes { · 1238 unmodified lines
30833110 * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with
30843111 * 1 = 500 kbps) but without the IE length restriction (at most
30853112 * %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
30873114 * in an array of MCS numbers.
3115+ * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection,
3116+ * see &struct nl80211_txrate_vht
30883117 * @__NL80211_TXRATE_AFTER_LAST: internal
30893118 * @NL80211_TXRATE_MAX: highest TX rate attribute
30903119 */
30913120 enum nl80211_tx_rate_attributes {
30923121 __NL80211_TXRATE_INVALID,
30933122 NL80211_TXRATE_LEGACY,
3094− NL80211_TXRATE_MCS,
3123+ NL80211_TXRATE_HT,
3124+ NL80211_TXRATE_VHT,
30953125
30963126 /* keep last */
30973127 __NL80211_TXRATE_AFTER_LAST,
30983128 NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1
30993129 };
31003130
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+
31013142 /**
31023143 * enum nl80211_band - Frequency band
31033144 * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
@@ -3959,4 +4000,24 @@ enum nl80211_rxmgmt_flags { · 855 unmodified lines
39594000 NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
39604001 };
39614002
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+
39624023 #endif /* __LINUX_NL80211_H */