rpcd: iwinfo plugin fixes
[openwrt.git] / package / network / utils / iw / patches / 001-nl80211_h_sync.patch
1 --- a/nl80211.h
2 +++ b/nl80211.h
3 @@ -10,6 +10,7 @@
4   * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
5   * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
6   * Copyright 2008 Colin McCabe <colin@cozybit.com>
7 + * Copyright 2015      Intel Deutschland GmbH
8   *
9   * Permission to use, copy, modify, and/or distribute this software for any
10   * purpose with or without fee is hereby granted, provided that the above
11 @@ -328,7 +329,15 @@
12   *     partial scan results may be available
13   *
14   * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain
15 - *     intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL.
16 + *     intervals and certain number of cycles, as specified by
17 + *     %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is
18 + *     not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified,
19 + *     scheduled scan will run in an infinite loop with the specified interval.
20 + *     These attributes are mutually exculsive,
21 + *     i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if
22 + *     NL80211_ATTR_SCHED_SCAN_PLANS is defined.
23 + *     If for some reason scheduled scan is aborted by the driver, all scan
24 + *     plans are canceled (including scan plans that did not start yet).
25   *     Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
26   *     are passed, they are used in the probe requests.  For
27   *     broadcast, a broadcast SSID must be passed (ie. an empty
28 @@ -1761,6 +1770,22 @@ enum nl80211_commands {
29   * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
30   *      is operating in an indoor environment.
31   *
32 + * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for
33 + *     scheduled scan supported by the device (u32), a wiphy attribute.
34 + * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for
35 + *     a scan plan (u32), a wiphy attribute.
36 + * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in
37 + *     a scan plan (u32), a wiphy attribute.
38 + * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan.
39 + *     Each scan plan defines the number of scan iterations and the interval
40 + *     between scans. The last scan plan will always run infinitely,
41 + *     thus it must not specify the number of iterations, only the interval
42 + *     between scans. The scan plans are executed sequentially.
43 + *     Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan.
44 + *
45 + * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
46 + *     transmit power to stay within regulatory limits. u32, dBi.
47 + *
48   * @NUM_NL80211_ATTR: total number of nl80211_attrs available
49   * @NL80211_ATTR_MAX: highest attribute number currently defined
50   * @__NL80211_ATTR_AFTER_LAST: internal use
51 @@ -2130,6 +2155,13 @@ enum nl80211_attrs {
52  
53         NL80211_ATTR_REG_INDOOR,
54  
55 +       NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS,
56 +       NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL,
57 +       NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS,
58 +       NL80211_ATTR_SCHED_SCAN_PLANS,
59 +
60 +       NL80211_ATTR_WIPHY_ANTENNA_GAIN,
61 +
62         /* add attributes here, update the policy in nl80211.c */
63  
64         __NL80211_ATTR_AFTER_LAST,
65 @@ -3364,6 +3396,9 @@ enum nl80211_bss_scan_width {
66   *     (not present if no beacon frame has been received yet)
67   * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
68   *     @NL80211_BSS_TSF is known to be from a probe response (flag attribute)
69 + * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry
70 + *     was last updated by a received frame. The value is expected to be
71 + *     accurate to about 10ms. (u64, nanoseconds)
72   * @__NL80211_BSS_AFTER_LAST: internal
73   * @NL80211_BSS_MAX: highest BSS attribute
74   */
75 @@ -3383,6 +3418,7 @@ enum nl80211_bss {
76         NL80211_BSS_CHAN_WIDTH,
77         NL80211_BSS_BEACON_TSF,
78         NL80211_BSS_PRESP_DATA,
79 +       NL80211_BSS_LAST_SEEN_BOOTTIME,
80  
81         /* keep last */
82         __NL80211_BSS_AFTER_LAST,
83 @@ -4589,4 +4625,28 @@ enum nl80211_tdls_peer_capability {
84         NL80211_TDLS_PEER_WMM = 1<<2,
85  };
86  
87 +/**
88 + * enum nl80211_sched_scan_plan - scanning plan for scheduled scan
89 + * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved
90 + * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In
91 + *     seconds (u32).
92 + * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this
93 + *     scan plan (u32). The last scan plan must not specify this attribute
94 + *     because it will run infinitely. A value of zero is invalid as it will
95 + *     make the scan plan meaningless.
96 + * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number
97 + *     currently defined
98 + * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use
99 + */
100 +enum nl80211_sched_scan_plan {
101 +       __NL80211_SCHED_SCAN_PLAN_INVALID,
102 +       NL80211_SCHED_SCAN_PLAN_INTERVAL,
103 +       NL80211_SCHED_SCAN_PLAN_ITERATIONS,
104 +
105 +       /* keep last */
106 +       __NL80211_SCHED_SCAN_PLAN_AFTER_LAST,
107 +       NL80211_SCHED_SCAN_PLAN_MAX =
108 +               __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1
109 +};
110 +
111  #endif /* __LINUX_NL80211_H */