summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-08-15 22:39:49 +0300
committerJohannes Berg <johannes.berg@intel.com>2015-09-22 15:21:22 +0200
commit7bdbe400d1b2aac116513f90b75969ad2365fba6 (patch)
treeeccc79938135d9f5eb7fdad2ca3f20c3c62679ec /include/net
parentdd55ab59b6234c73522dc533757e89e6a77c2c38 (diff)
downloadop-kernel-dev-7bdbe400d1b2aac116513f90b75969ad2365fba6.zip
op-kernel-dev-7bdbe400d1b2aac116513f90b75969ad2365fba6.tar.gz
nl80211: support vendor dumpit commands
In order to transfer many items in vendor commands, support the dumpit netlink method for them. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/cfg80211.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index f0889a2..0f54c9e 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2971,12 +2971,21 @@ enum wiphy_vendor_command_flags {
* @doit: callback for the operation, note that wdev is %NULL if the
* flags didn't ask for a wdev and non-%NULL otherwise; the data
* pointer may be %NULL if userspace provided no data at all
+ * @dumpit: dump callback, for transferring bigger/multiple items. The
+ * @storage points to cb->args[5], ie. is preserved over the multiple
+ * dumpit calls.
+ * It's recommended to not have the same sub command with both @doit and
+ * @dumpit, so that userspace can assume certain ones are get and others
+ * are used with dump requests.
*/
struct wiphy_vendor_command {
struct nl80211_vendor_cmd_info info;
u32 flags;
int (*doit)(struct wiphy *wiphy, struct wireless_dev *wdev,
const void *data, int data_len);
+ int (*dumpit)(struct wiphy *wiphy, struct wireless_dev *wdev,
+ struct sk_buff *skb, const void *data, int data_len,
+ unsigned long *storage);
};
/**
OpenPOWER on IntegriCloud