int rtw_get_wfd_ie_from_scan_queue(u8 *in_ie, int in_len, u8 *wfd_ie, uint *wfd_ielen, u8 frame_type)
{
	int match;

	match=_FALSE;

	DBG_871X( "[%s] frame_type = %d\n", __FUNCTION__, frame_type );
	switch( frame_type )
	{
		case 1:
		case 3:
		{	//	Beacon or Probe Response
			match = rtw_get_wfd_ie(in_ie + _PROBERSP_IE_OFFSET_, in_len - _PROBERSP_IE_OFFSET_, wfd_ie, wfd_ielen);
			break;
		}
		case 2:
		{	//	Probe Request
			match = rtw_get_wfd_ie(in_ie + _PROBEREQ_IE_OFFSET_ , in_len - _PROBEREQ_IE_OFFSET_ , wfd_ie, wfd_ielen);
			break;
		}
	}
	return match;
}
Exemple #2
0
void dump_wfd_ie(u8 *ie, u32 ie_len)
{
	u8* pos = (u8*)ie;
	u8 id;
	u16 len;

	u8 *wfd_ie;
	uint wfd_ielen;

	if(!rtw_get_wfd_ie(ie, ie_len, NULL, &wfd_ielen))
		return;

	pos+=6;
	while(pos-ie < ie_len){
		id = *pos;
		len = RTW_RB16(pos+1);

		DBG_871X("%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);

		pos+=(3+len);
	}
}