8e776643b7bfa439dadd9d1377bc8263e3f24759
[openwrt.git] / package / network / utils / iw / patches / 001-nl80211_h_sync.patch
1 --- a/nl80211.h
2 +++ b/nl80211.h
3 @@ -565,6 +565,14 @@
4   *     %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ with
5   *     %NL80211_ATTR_WIPHY_CHANNEL_TYPE.
6   *
7 + * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by
8 + *     its %NL80211_ATTR_WDEV identifier. It must have been created with
9 + *     %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the
10 + *     P2P Device can be used for P2P operations, e.g. remain-on-channel and
11 + *     public action frame TX.
12 + * @NL80211_CMD_STOP_P2P_DEVICE: Stop the given P2P Device, identified by
13 + *     its %NL80211_ATTR_WDEV identifier.
14 + *
15   * @NL80211_CMD_MAX: highest used command number
16   * @__NL80211_CMD_AFTER_LAST: internal use
17   */
18 @@ -708,6 +716,9 @@ enum nl80211_commands {
19  
20         NL80211_CMD_CH_SWITCH_NOTIFY,
21  
22 +       NL80211_CMD_START_P2P_DEVICE,
23 +       NL80211_CMD_STOP_P2P_DEVICE,
24 +
25         /* add new commands above here */
26  
27         /* used to define NL80211_CMD_MAX below */
28 @@ -1506,6 +1517,8 @@ enum nl80211_attrs {
29  
30         NL80211_ATTR_USER_REG_HINT_TYPE,
31  
32 +       NL80211_ATTR_WIPHY_ANTENNA_GAIN,
33 +
34         /* add attributes here, update the policy in nl80211.c */
35  
36         __NL80211_ATTR_AFTER_LAST,
37 @@ -1575,6 +1588,10 @@ enum nl80211_attrs {
38   * @NL80211_IFTYPE_MESH_POINT: mesh point
39   * @NL80211_IFTYPE_P2P_CLIENT: P2P client
40   * @NL80211_IFTYPE_P2P_GO: P2P group owner
41 + * @NL80211_IFTYPE_P2P_DEVICE: P2P device interface type, this is not a netdev
42 + *     and therefore can't be created in the normal ways, use the
43 + *     %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
44 + *     commands to create and destroy one
45   * @NL80211_IFTYPE_MAX: highest interface type number currently defined
46   * @NUM_NL80211_IFTYPES: number of defined interface types
47   *
48 @@ -1593,6 +1610,7 @@ enum nl80211_iftype {
49         NL80211_IFTYPE_MESH_POINT,
50         NL80211_IFTYPE_P2P_CLIENT,
51         NL80211_IFTYPE_P2P_GO,
52 +       NL80211_IFTYPE_P2P_DEVICE,
53  
54         /* keep last */
55         NUM_NL80211_IFTYPES,
56 @@ -1744,6 +1762,8 @@ enum nl80211_sta_bss_param {
57   * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update.
58   * @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32)
59   * @NL80211_STA_INFO_T_OFFSET: timing offset with respect to this STA (s64)
60 + * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU
61 + * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average
62   * @__NL80211_STA_INFO_AFTER_LAST: internal
63   * @NL80211_STA_INFO_MAX: highest possible station info attribute
64   */
65 @@ -1768,6 +1788,8 @@ enum nl80211_sta_info {
66         NL80211_STA_INFO_STA_FLAGS,
67         NL80211_STA_INFO_BEACON_LOSS,
68         NL80211_STA_INFO_T_OFFSET,
69 +       NL80211_STA_INFO_CHAIN_SIGNAL,
70 +       NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
71  
72         /* keep last */
73         __NL80211_STA_INFO_AFTER_LAST,
74 @@ -2994,12 +3016,18 @@ enum nl80211_ap_sme_features {
75   * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
76   *     to work properly to suppport receiving regulatory hints from
77   *     cellular base stations.
78 + * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: If this is set, an active
79 + *     P2P Device (%NL80211_IFTYPE_P2P_DEVICE) requires its own channel
80 + *     in the interface combinations, even when it's only used for scan
81 + *     and remain-on-channel. This could be due to, for example, the
82 + *     remain-on-channel implementation requiring a channel context.
83   */
84  enum nl80211_feature_flags {
85 -       NL80211_FEATURE_SK_TX_STATUS    = 1 << 0,
86 -       NL80211_FEATURE_HT_IBSS         = 1 << 1,
87 -       NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
88 -       NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3,
89 +       NL80211_FEATURE_SK_TX_STATUS                    = 1 << 0,
90 +       NL80211_FEATURE_HT_IBSS                         = 1 << 1,
91 +       NL80211_FEATURE_INACTIVITY_TIMER                = 1 << 2,
92 +       NL80211_FEATURE_CELL_BASE_REG_HINTS             = 1 << 3,
93 +       NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL        = 1 << 4,
94  };
95  
96  /**