| 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 | /** |
| 97 | |