mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 17:59:25 +01:00
ie: Add ie_tlv_extract_wfd_payload
This commit is contained in:
parent
430ccf8714
commit
264ab685ba
17
src/ie.c
17
src/ie.c
@ -200,6 +200,23 @@ void *ie_tlv_extract_p2p_payload(const unsigned char *ies, size_t len,
|
|||||||
ies, len, true, out_len);
|
ies, len, true, out_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Wi-Fi Display Technical Specification v2.1.0, Section 5.1.1:
|
||||||
|
* "More than one WFD IE may be included in a single frame. If multiple WFD
|
||||||
|
* IEs are present, the complete WFD subelement data consists of the
|
||||||
|
* concatenation of the WFD subelement fields of the WFD IEs. The WFD
|
||||||
|
* subelements field of each WFD IE may be any length up to the maximum
|
||||||
|
* (251 octets). The order of the concatenated WFD subelement data shall be
|
||||||
|
* preserved in the ordering of the WFD IEs in the frame. All of the WFD IEs
|
||||||
|
* shall fit within a single frame and shall be adjacent in the frame."
|
||||||
|
*/
|
||||||
|
void *ie_tlv_extract_wfd_payload(const unsigned char *ies, size_t len,
|
||||||
|
ssize_t *out_len)
|
||||||
|
{
|
||||||
|
return ie_tlv_vendor_ie_concat(wifi_alliance_oui, 0x0a,
|
||||||
|
ies, len, true, out_len);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Encapsulate & Fragment data into Vendor IE with a given OUI + type
|
* Encapsulate & Fragment data into Vendor IE with a given OUI + type
|
||||||
*
|
*
|
||||||
|
3
src/ie.h
3
src/ie.h
@ -431,6 +431,9 @@ void *ie_tlv_extract_p2p_payload(const uint8_t *ies, size_t len,
|
|||||||
void *ie_tlv_encapsulate_p2p_payload(const uint8_t *data, size_t len,
|
void *ie_tlv_encapsulate_p2p_payload(const uint8_t *data, size_t len,
|
||||||
size_t *out_len);
|
size_t *out_len);
|
||||||
|
|
||||||
|
void *ie_tlv_extract_wfd_payload(const unsigned char *ies, size_t len,
|
||||||
|
ssize_t *out_len);
|
||||||
|
|
||||||
bool ie_tlv_builder_init(struct ie_tlv_builder *builder, unsigned char *buf,
|
bool ie_tlv_builder_init(struct ie_tlv_builder *builder, unsigned char *buf,
|
||||||
size_t len);
|
size_t len);
|
||||||
bool ie_tlv_builder_set_length(struct ie_tlv_builder *builder,
|
bool ie_tlv_builder_set_length(struct ie_tlv_builder *builder,
|
||||||
|
Loading…
Reference in New Issue
Block a user