| .. | .. |
|---|
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 2 | +/* |
|---|
| 3 | + * Portions of this file |
|---|
| 4 | + * Copyright (C) 2018 Intel Corporation |
|---|
| 5 | + */ |
|---|
| 2 | 6 | #ifndef __NET_WIRELESS_NL80211_H |
|---|
| 3 | 7 | #define __NET_WIRELESS_NL80211_H |
|---|
| 4 | 8 | |
|---|
| .. | .. |
|---|
| 6 | 10 | |
|---|
| 7 | 11 | int nl80211_init(void); |
|---|
| 8 | 12 | void nl80211_exit(void); |
|---|
| 13 | + |
|---|
| 14 | +void *nl80211hdr_put(struct sk_buff *skb, u32 portid, u32 seq, |
|---|
| 15 | + int flags, u8 cmd); |
|---|
| 16 | +bool nl80211_put_sta_rate(struct sk_buff *msg, struct rate_info *info, |
|---|
| 17 | + int attr); |
|---|
| 18 | + |
|---|
| 19 | +static inline u64 wdev_id(struct wireless_dev *wdev) |
|---|
| 20 | +{ |
|---|
| 21 | + return (u64)wdev->identifier | |
|---|
| 22 | + ((u64)wiphy_to_rdev(wdev->wiphy)->wiphy_idx << 32); |
|---|
| 23 | +} |
|---|
| 24 | + |
|---|
| 25 | +int nl80211_prepare_wdev_dump(struct netlink_callback *cb, |
|---|
| 26 | + struct cfg80211_registered_device **rdev, |
|---|
| 27 | + struct wireless_dev **wdev); |
|---|
| 28 | + |
|---|
| 29 | +int nl80211_parse_chandef(struct cfg80211_registered_device *rdev, |
|---|
| 30 | + struct genl_info *info, |
|---|
| 31 | + struct cfg80211_chan_def *chandef); |
|---|
| 32 | +int nl80211_parse_random_mac(struct nlattr **attrs, |
|---|
| 33 | + u8 *mac_addr, u8 *mac_addr_mask); |
|---|
| 34 | + |
|---|
| 9 | 35 | void nl80211_notify_wiphy(struct cfg80211_registered_device *rdev, |
|---|
| 10 | 36 | enum nl80211_commands cmd); |
|---|
| 11 | 37 | void nl80211_notify_iface(struct cfg80211_registered_device *rdev, |
|---|
| .. | .. |
|---|
| 39 | 65 | void nl80211_send_rx_assoc(struct cfg80211_registered_device *rdev, |
|---|
| 40 | 66 | struct net_device *netdev, |
|---|
| 41 | 67 | const u8 *buf, size_t len, gfp_t gfp, |
|---|
| 42 | | - int uapsd_queues); |
|---|
| 68 | + int uapsd_queues, |
|---|
| 69 | + const u8 *req_ies, size_t req_ies_len); |
|---|
| 43 | 70 | void nl80211_send_deauth(struct cfg80211_registered_device *rdev, |
|---|
| 44 | 71 | struct net_device *netdev, |
|---|
| 45 | 72 | const u8 *buf, size_t len, gfp_t gfp); |
|---|
| .. | .. |
|---|
| 95 | 122 | |
|---|
| 96 | 123 | void cfg80211_rdev_free_coalesce(struct cfg80211_registered_device *rdev); |
|---|
| 97 | 124 | |
|---|
| 125 | +/* peer measurement */ |
|---|
| 126 | +int nl80211_pmsr_start(struct sk_buff *skb, struct genl_info *info); |
|---|
| 127 | +int nl80211_pmsr_dump_results(struct sk_buff *skb, struct netlink_callback *cb); |
|---|
| 128 | + |
|---|
| 98 | 129 | #endif /* __NET_WIRELESS_NL80211_H */ |
|---|