- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
-@@ -321,14 +322,24 @@
- * @NL80211_CMD_GET_SCAN: get scan results
- * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
- * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
-- * probe requests at CCK rate or not.
-+ * probe requests at CCK rate or not. %NL80211_ATTR_MAC can be used to
-+ * specify a BSSID to scan for; if not included, the wildcard BSSID will
-+ * be used.
- * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
- * NL80211_CMD_GET_SCAN and on the "scan" multicast group)
- * @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
- * partial scan results may be available
- *
- * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain
-- * intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL.
-+ * intervals and certain number of cycles, as specified by
-+ * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is
-+ * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified,
-+ * scheduled scan will run in an infinite loop with the specified interval.
-+ * These attributes are mutually exculsive,
-+ * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if
-+ * NL80211_ATTR_SCHED_SCAN_PLANS is defined.
-+ * If for some reason scheduled scan is aborted by the driver, all scan
-+ * plans are canceled (including scan plans that did not start yet).
- * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
- * are passed, they are used in the probe requests. For
- * broadcast, a broadcast SSID must be passed (ie. an empty
-@@ -418,7 +429,11 @@
- * @NL80211_CMD_ASSOCIATE: association request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Association and Reassociation
- * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request,
-- * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives).
-+ * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives). The
-+ * %NL80211_ATTR_PREV_BSSID attribute is used to specify whether the
-+ * request is for the initial association to an ESS (that attribute not
-+ * included) or for reassociation within the ESS (that attribute is
-+ * included).
- * @NL80211_CMD_DEAUTHENTICATE: deauthentication request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to
- * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication
-@@ -468,6 +483,9 @@
- * set of BSSID,frequency parameters is used (i.e., either the enforcing
- * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict
- * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT).
-+ * %NL80211_ATTR_PREV_BSSID can be used to request a reassociation within
-+ * the ESS in case the device is already associated and an association with
-+ * a different BSS is desired.
- * Background scan period can optionally be
- * specified in %NL80211_ATTR_BG_SCAN_PERIOD,
- * if not specified default background scan configuration
-@@ -811,6 +829,10 @@
- * as an event to indicate changes for devices with wiphy-specific regdom
- * management.
- *
-+ * @NL80211_CMD_ABORT_SCAN: Stop an ongoing scan. Returns -ENOENT if a scan is
-+ * not running. The driver indicates the status of the scan through
-+ * cfg80211_scan_done().
-+ *
- * @NL80211_CMD_MAX: highest used command number
- * @__NL80211_CMD_AFTER_LAST: internal use
- */
-@@ -997,6 +1019,8 @@ enum nl80211_commands {
-
- NL80211_CMD_WIPHY_REG_CHANGE,
-
-+ NL80211_CMD_ABORT_SCAN,
-+
- /* add new commands above here */
-
- /* used to define NL80211_CMD_MAX below */
-@@ -1270,8 +1294,11 @@ enum nl80211_commands {
- * @NL80211_ATTR_RESP_IE: (Re)association response information elements as
- * sent by peer, for ROAM and successful CONNECT events.
- *
-- * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used by in ASSOCIATE
-- * commands to specify using a reassociate frame
-+ * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used in ASSOCIATE and CONNECT
-+ * commands to specify a request to reassociate within an ESS, i.e., to use
-+ * Reassociate Request frame (with the value of this attribute in the
-+ * Current AP address field) instead of Association Request frame which is
-+ * used for the initial association to an ESS.
- *
- * @NL80211_ATTR_KEY: key information in a nested attribute with
- * %NL80211_KEY_* sub-attributes
-@@ -1712,6 +1739,8 @@ enum nl80211_commands {
- * underlying device supports these minimal RRM features:
- * %NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES,
- * %NL80211_FEATURE_QUIET,
-+ * Or, if global RRM is supported, see:
-+ * %NL80211_EXT_FEATURE_RRM
- * If this flag is used, driver must add the Power Capabilities IE to the
- * association request. In addition, it must also set the RRM capability
- * flag in the association request's Capability Info field.
-@@ -1755,12 +1784,44 @@ enum nl80211_commands {
- * over all channels.
- *
- * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
-- * scheduled scan (or a WoWLAN net-detect scan) is started, u32
-- * in seconds.
-+ * scheduled scan is started. Or the delay before a WoWLAN
-+ * net-detect scan is started, counting from the moment the
-+ * system is suspended. This value is a u32, in seconds.
-
- * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
- * is operating in an indoor environment.
- *
-+ * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for
-+ * scheduled scan supported by the device (u32), a wiphy attribute.
-+ * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for
-+ * a scan plan (u32), a wiphy attribute.
-+ * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in
-+ * a scan plan (u32), a wiphy attribute.
-+ * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan.
-+ * Each scan plan defines the number of scan iterations and the interval
-+ * between scans. The last scan plan will always run infinitely,
-+ * thus it must not specify the number of iterations, only the interval
-+ * between scans. The scan plans are executed sequentially.
-+ * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan.
-+ * @NL80211_ATTR_PBSS: flag attribute. If set it means operate
-+ * in a PBSS. Specified in %NL80211_CMD_CONNECT to request
-+ * connecting to a PCP, and in %NL80211_CMD_START_AP to start
-+ * a PCP instead of AP. Relevant for DMG networks only.
-+ * @NL80211_ATTR_BSS_SELECT: nested attribute for driver supporting the
-+ * BSS selection feature. When used with %NL80211_CMD_GET_WIPHY it contains
-+ * attributes according &enum nl80211_bss_select_attr to indicate what
-+ * BSS selection behaviours are supported. When used with %NL80211_CMD_CONNECT
-+ * it contains the behaviour-specific attribute containing the parameters for
-+ * BSS selection to be done by driver and/or firmware.
-+ *
-+ * @NL80211_ATTR_STA_SUPPORT_P2P_PS: whether P2P PS mechanism supported
-+ * or not. u8, one of the values of &enum nl80211_sta_p2p_ps_status
-+ *