aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-10-29 14:48:40 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-11-06 07:24:52 -0500
commit0ee453552f0b1ea87f6f50a077b0ed9d9ac7d6ac (patch)
treecd0940bf0378b56494a7d41d56d10c8e2209021f /include/net/cfg80211.h
parent37c73b5f323c973c1db6857494a6685260440be1 (diff)
wireless: add utility function to get P2P attribute
Parsing the P2P attributes can be tricky as their contents can be split across multiple (vendor) IEs. Thus, it's not possible to parse them like IEs (by returning a pointer to the data.) Instead, provide a function that copies the attribute data into a caller-provided buffer and returns the size needed (useful in case the buffer was too small.) Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 10c9fc68d1af..81d725038f97 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -3617,6 +3617,25 @@ u32 cfg80211_calculate_bitrate(struct rate_info *rate);
3617 */ 3617 */
3618void cfg80211_unregister_wdev(struct wireless_dev *wdev); 3618void cfg80211_unregister_wdev(struct wireless_dev *wdev);
3619 3619
3620/**
3621 * cfg80211_get_p2p_attr - find and copy a P2P attribute from IE buffer
3622 * @ies: the input IE buffer
3623 * @len: the input length
3624 * @attr: the attribute ID to find
3625 * @buf: output buffer, can be %NULL if the data isn't needed, e.g.
3626 * if the function is only called to get the needed buffer size
3627 * @bufsize: size of the output buffer
3628 *
3629 * The function finds a given P2P attribute in the (vendor) IEs and
3630 * copies its contents to the given buffer.
3631 *
3632 * The return value is a negative error code (-%EILSEQ or -%ENOENT) if
3633 * the data is malformed or the attribute can't be found (respectively),
3634 * or the length of the found attribute (which can be zero).
3635 */
3636unsigned int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
3637 u8 attr, u8 *buf, unsigned int bufsize);
3638
3620/* Logging, debugging and troubleshooting/diagnostic helpers. */ 3639/* Logging, debugging and troubleshooting/diagnostic helpers. */
3621 3640
3622/* wiphy_printk helpers, similar to dev_printk */ 3641/* wiphy_printk helpers, similar to dev_printk */