|
@@ -5000,6 +5000,64 @@ int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
|
|
enum ieee80211_p2p_attr_id attr,
|
|
enum ieee80211_p2p_attr_id attr,
|
|
u8 *buf, unsigned int bufsize);
|
|
u8 *buf, unsigned int bufsize);
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * ieee80211_ie_split_ric - split an IE buffer according to ordering (with RIC)
|
|
|
|
+ * @ies: the IE buffer
|
|
|
|
+ * @ielen: the length of the IE buffer
|
|
|
|
+ * @ids: an array with element IDs that are allowed before
|
|
|
|
+ * the split
|
|
|
|
+ * @n_ids: the size of the element ID array
|
|
|
|
+ * @after_ric: array IE types that come after the RIC element
|
|
|
|
+ * @n_after_ric: size of the @after_ric array
|
|
|
|
+ * @offset: offset where to start splitting in the buffer
|
|
|
|
+ *
|
|
|
|
+ * This function splits an IE buffer by updating the @offset
|
|
|
|
+ * variable to point to the location where the buffer should be
|
|
|
|
+ * split.
|
|
|
|
+ *
|
|
|
|
+ * It assumes that the given IE buffer is well-formed, this
|
|
|
|
+ * has to be guaranteed by the caller!
|
|
|
|
+ *
|
|
|
|
+ * It also assumes that the IEs in the buffer are ordered
|
|
|
|
+ * correctly, if not the result of using this function will not
|
|
|
|
+ * be ordered correctly either, i.e. it does no reordering.
|
|
|
|
+ *
|
|
|
|
+ * The function returns the offset where the next part of the
|
|
|
|
+ * buffer starts, which may be @ielen if the entire (remainder)
|
|
|
|
+ * of the buffer should be used.
|
|
|
|
+ */
|
|
|
|
+size_t ieee80211_ie_split_ric(const u8 *ies, size_t ielen,
|
|
|
|
+ const u8 *ids, int n_ids,
|
|
|
|
+ const u8 *after_ric, int n_after_ric,
|
|
|
|
+ size_t offset);
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * ieee80211_ie_split - split an IE buffer according to ordering
|
|
|
|
+ * @ies: the IE buffer
|
|
|
|
+ * @ielen: the length of the IE buffer
|
|
|
|
+ * @ids: an array with element IDs that are allowed before
|
|
|
|
+ * the split
|
|
|
|
+ * @n_ids: the size of the element ID array
|
|
|
|
+ * @offset: offset where to start splitting in the buffer
|
|
|
|
+ *
|
|
|
|
+ * This function splits an IE buffer by updating the @offset
|
|
|
|
+ * variable to point to the location where the buffer should be
|
|
|
|
+ * split.
|
|
|
|
+ *
|
|
|
|
+ * It assumes that the given IE buffer is well-formed, this
|
|
|
|
+ * has to be guaranteed by the caller!
|
|
|
|
+ *
|
|
|
|
+ * It also assumes that the IEs in the buffer are ordered
|
|
|
|
+ * correctly, if not the result of using this function will not
|
|
|
|
+ * be ordered correctly either, i.e. it does no reordering.
|
|
|
|
+ *
|
|
|
|
+ * The function returns the offset where the next part of the
|
|
|
|
+ * buffer starts, which may be @ielen if the entire (remainder)
|
|
|
|
+ * of the buffer should be used.
|
|
|
|
+ */
|
|
|
|
+size_t ieee80211_ie_split(const u8 *ies, size_t ielen,
|
|
|
|
+ const u8 *ids, int n_ids, size_t offset);
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* cfg80211_report_wowlan_wakeup - report wakeup from WoWLAN
|
|
* cfg80211_report_wowlan_wakeup - report wakeup from WoWLAN
|
|
* @wdev: the wireless device reporting the wakeup
|
|
* @wdev: the wireless device reporting the wakeup
|