diff options
Diffstat (limited to 'include/linux/nl80211.h')
| -rw-r--r-- | include/linux/nl80211.h | 69 | 
1 files changed, 64 insertions, 5 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index bbfa1093f60..216b1d8a862 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h @@ -410,6 +410,16 @@   *	notification. This event is used to indicate that an unprotected   *	disassociation frame was dropped when MFP is in use.   * + * @NL80211_CMD_NEW_PEER_CANDIDATE: Notification on the reception of a + *      beacon or probe response from a compatible mesh peer.  This is only + *      sent while no station information (sta_info) exists for the new peer + *      candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH is set.  On + *      reception of this notification, userspace may decide to create a new + *      station (@NL80211_CMD_NEW_STATION).  To stop this notification from + *      reoccurring, the userspace authentication daemon may want to create the + *      new station with the AUTHENTICATED flag unset and maybe change it later + *      depending on the authentication result. + *   * @NL80211_CMD_MAX: highest used command number   * @__NL80211_CMD_AFTER_LAST: internal use   */ @@ -522,6 +532,8 @@ enum nl80211_commands {  	NL80211_CMD_UNPROT_DEAUTHENTICATE,  	NL80211_CMD_UNPROT_DISASSOCIATE, +	NL80211_CMD_NEW_PEER_CANDIDATE, +  	/* add new commands above here */  	/* used to define NL80211_CMD_MAX below */ @@ -545,6 +557,7 @@ enum nl80211_commands {  /* source-level API compatibility */  #define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG  #define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG +#define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE  /**   * enum nl80211_attrs - nl80211 netlink attributes @@ -886,6 +899,9 @@ enum nl80211_commands {   *	changed once the mesh is active.   * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute   *	containing attributes from &enum nl80211_meshconf_params. + * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver + *	allows auth frames in a mesh to be passed to userspace for processing via + *	the @NL80211_MESH_SETUP_USERSPACE_AUTH flag.   *   * @NL80211_ATTR_MAX: highest attribute number currently defined   * @__NL80211_ATTR_AFTER_LAST: internal use @@ -1074,6 +1090,8 @@ enum nl80211_attrs {  	NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX,  	NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX, +	NL80211_ATTR_SUPPORT_MESH_AUTH, +  	/* add attributes here, update the policy in nl80211.c */  	__NL80211_ATTR_AFTER_LAST, @@ -1168,6 +1186,7 @@ enum nl80211_iftype {   *	with short barker preamble   * @NL80211_STA_FLAG_WME: station is WME/QoS capable   * @NL80211_STA_FLAG_MFP: station uses management frame protection + * @NL80211_STA_FLAG_AUTHENTICATED: station is authenticated   * @NL80211_STA_FLAG_MAX: highest station flag number currently defined   * @__NL80211_STA_FLAG_AFTER_LAST: internal use   */ @@ -1177,6 +1196,7 @@ enum nl80211_sta_flags {  	NL80211_STA_FLAG_SHORT_PREAMBLE,  	NL80211_STA_FLAG_WME,  	NL80211_STA_FLAG_MFP, +	NL80211_STA_FLAG_AUTHENTICATED,  	/* keep last */  	__NL80211_STA_FLAG_AFTER_LAST, @@ -1222,6 +1242,36 @@ enum nl80211_rate_info {  };  /** + * enum nl80211_sta_bss_param - BSS information collected by STA + * + * These attribute types are used with %NL80211_STA_INFO_BSS_PARAM + * when getting information about the bitrate of a station. + * + * @__NL80211_STA_BSS_PARAM_INVALID: attribute number 0 is reserved + * @NL80211_STA_BSS_PARAM_CTS_PROT: whether CTS protection is enabled (flag) + * @NL80211_STA_BSS_PARAM_SHORT_PREAMBLE:  whether short preamble is enabled + *	(flag) + * @NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME:  whether short slot time is enabled + *	(flag) + * @NL80211_STA_BSS_PARAM_DTIM_PERIOD: DTIM period for beaconing (u8) + * @NL80211_STA_BSS_PARAM_BEACON_INTERVAL: Beacon interval (u16) + * @NL80211_STA_BSS_PARAM_MAX: highest sta_bss_param number currently defined + * @__NL80211_STA_BSS_PARAM_AFTER_LAST: internal use + */ +enum nl80211_sta_bss_param { +	__NL80211_STA_BSS_PARAM_INVALID, +	NL80211_STA_BSS_PARAM_CTS_PROT, +	NL80211_STA_BSS_PARAM_SHORT_PREAMBLE, +	NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME, +	NL80211_STA_BSS_PARAM_DTIM_PERIOD, +	NL80211_STA_BSS_PARAM_BEACON_INTERVAL, + +	/* keep last */ +	__NL80211_STA_BSS_PARAM_AFTER_LAST, +	NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1 +}; + +/**   * enum nl80211_sta_info - station information   *   * These attribute types are used with %NL80211_ATTR_STA_INFO @@ -1233,7 +1283,7 @@ enum nl80211_rate_info {   * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)   * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)   * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute - * 	containing info as possible, see &enum nl80211_sta_info_txrate. + * 	containing info as possible, see &enum nl80211_rate_info   * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)   * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this   *	station) @@ -1245,6 +1295,9 @@ enum nl80211_rate_info {   * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station   * @NL80211_STA_INFO_RX_BITRATE: last unicast data frame rx rate, nested   *	attribute, like NL80211_STA_INFO_TX_BITRATE. + * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute + *     containing info as possible, see &enum nl80211_sta_bss_param + * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected   * @__NL80211_STA_INFO_AFTER_LAST: internal   * @NL80211_STA_INFO_MAX: highest possible station info attribute   */ @@ -1264,6 +1317,8 @@ enum nl80211_sta_info {  	NL80211_STA_INFO_TX_FAILED,  	NL80211_STA_INFO_SIGNAL_AVG,  	NL80211_STA_INFO_RX_BITRATE, +	NL80211_STA_INFO_BSS_PARAM, +	NL80211_STA_INFO_CONNECTED_TIME,  	/* keep last */  	__NL80211_STA_INFO_AFTER_LAST, @@ -1686,9 +1741,12 @@ enum nl80211_meshconf_params {   * vendor specific path metric or disable it to use the default Airtime   * metric.   * - * @NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE: A vendor specific information - * element that vendors will use to identify the path selection methods and - * metrics in use. + * @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a + * robust security network ie, or a vendor specific information element that + * vendors will use to identify the path selection methods and metrics in use. + * + * @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication + * daemon will be authenticating mesh candidates.   *   * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number   * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use @@ -1697,7 +1755,8 @@ enum nl80211_mesh_setup_params {  	__NL80211_MESH_SETUP_INVALID,  	NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL,  	NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC, -	NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE, +	NL80211_MESH_SETUP_IE, +	NL80211_MESH_SETUP_USERSPACE_AUTH,  	/* keep last */  	__NL80211_MESH_SETUP_ATTR_AFTER_LAST,  |