• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/wpa/src/p2p/

Lines Matching refs:msg

37 			       struct p2p_message *msg)
50 msg->capability = data;
61 msg->device_id = data;
63 MAC2STR(msg->device_id));
71 msg->go_intent = data;
81 msg->status = data;
95 msg->listen_channel = data;
112 msg->operating_channel = data;
124 msg->channel_list = data;
125 msg->channel_list_len = len;
129 msg->channel_list, msg->channel_list_len);
132 msg->group_info = data;
133 msg->group_info_len = len;
142 msg->p2p_device_info = data;
143 msg->p2p_device_info_len = len;
145 msg->p2p_device_addr = pos;
147 msg->config_methods = WPA_GET_BE16(pos);
149 msg->pri_dev_type = pos;
151 msg->num_sec_dev_types = *pos++;
152 if (msg->num_sec_dev_types * 8 > data + len - pos) {
156 pos += msg->num_sec_dev_types * 8;
176 p2p_copy_filter_devname(msg->device_name,
177 sizeof(msg->device_name), pos, nlen);
181 MAC2STR(msg->p2p_device_addr),
182 wps_dev_type_bin2str(msg->pri_dev_type, devtype,
184 msg->device_name, msg->config_methods);
192 msg->config_timeout = data;
202 msg->intended_addr = data;
204 MACSTR, MAC2STR(msg->intended_addr));
212 msg->group_bssid = data;
214 MAC2STR(msg->group_bssid));
222 msg->group_id = data;
223 msg->group_id_len = len;
225 MACSTR, MAC2STR(msg->group_id));
227 msg->group_id + ETH_ALEN,
228 msg->group_id_len - ETH_ALEN);
236 msg->invitation_flags = data;
246 msg->manageability = data;
256 msg->noa = data;
257 msg->noa_len = len;
266 msg->ext_listen_timing = data;
269 WPA_GET_LE16(msg->ext_listen_timing),
270 WPA_GET_LE16(msg->ext_listen_timing + 2));
278 msg->minor_reason_code = data;
280 *msg->minor_reason_code);
288 msg->oob_go_neg_channel = data;
302 msg->service_hash_count = len / P2PS_HASH_LEN;
303 msg->service_hash = data;
307 msg->session_info = data;
308 msg->session_info_len = len;
319 msg->conn_cap = data;
321 *msg->conn_cap);
330 msg->adv_id = data;
331 msg->adv_mac = &data[sizeof(u32)];
342 msg->adv_service_instance = data;
343 msg->adv_service_instance_len = len;
367 msg->session_id = data;
368 msg->session_mac = &data[sizeof(u32)];
370 WPA_GET_LE32(data), MAC2STR(msg->session_mac));
379 msg->feature_cap = data;
380 msg->feature_cap_len = len;
392 msg->persistent_dev = data;
393 msg->persistent_ssid_len = len - ETH_ALEN;
394 msg->persistent_ssid = &data[ETH_ALEN];
396 MAC2STR(msg->persistent_dev),
397 wpa_ssid_txt(msg->persistent_ssid,
398 msg->persistent_ssid_len));
414 * @msg: Buffer for returning parsed attributes
417 * Note: Caller is responsible for clearing the msg data structure before
420 int p2p_parse_p2p_ie(const struct wpabuf *buf, struct p2p_message *msg)
447 if (p2p_parse_attribute(id, pos, attr_len, msg))
456 static int p2p_parse_wps_ie(const struct wpabuf *buf, struct p2p_message *msg)
464 if (attr.dev_name && attr.dev_name_len < sizeof(msg->device_name) &&
465 !msg->device_name[0])
466 os_memcpy(msg->device_name, attr.dev_name, attr.dev_name_len);
468 msg->wps_config_methods =
471 msg->wps_config_methods);
474 msg->dev_password_id = WPA_GET_BE16(attr.dev_password_id);
476 msg->dev_password_id);
477 msg->dev_password_id_present = 1;
481 msg->wps_pri_dev_type = attr.primary_dev_type;
483 wps_dev_type_bin2str(msg->wps_pri_dev_type, devtype,
487 msg->wps_sec_dev_type_list = attr.sec_dev_type_list;
488 msg->wps_sec_dev_type_list_len = attr.sec_dev_type_list_len;
492 msg->wps_vendor_ext[i] = attr.vendor_ext[i];
493 msg->wps_vendor_ext_len[i] = attr.vendor_ext_len[i];
496 msg->manufacturer = attr.manufacturer;
497 msg->manufacturer_len = attr.manufacturer_len;
498 msg->model_name = attr.model_name;
499 msg->model_name_len = attr.model_name_len;
500 msg->model_number = attr.model_number;
501 msg->model_number_len = attr.model_number_len;
502 msg->serial_number = attr.serial_number;
503 msg->serial_number_len = attr.serial_number_len;
505 msg->oob_dev_password = attr.oob_dev_password;
506 msg->oob_dev_password_len = attr.oob_dev_password_len;
516 * @msg: Buffer for returning parsed attributes
519 * Note: Caller is responsible for clearing the msg data structure before
525 int p2p_parse_ies(const u8 *data, size_t len, struct p2p_message *msg)
531 msg->ds_params = elems.ds_params;
533 msg->ssid = elems.ssid - 2;
535 msg->wps_attributes = ieee802_11_vendor_ie_concat(data, len,
537 if (msg->wps_attributes &&
538 p2p_parse_wps_ie(msg->wps_attributes, msg)) {
539 p2p_parse_free(msg);
543 msg->p2p_attributes = ieee802_11_vendor_ie_concat(data, len,
545 if (msg->p2p_attributes &&
546 p2p_parse_p2p_ie(msg->p2p_attributes, msg)) {
548 if (msg->p2p_attributes)
550 msg->p2p_attributes);
551 p2p_parse_free(msg);
557 msg->wfd_subelems = ieee802_11_vendor_ie_concat(
562 msg->pref_freq_list = elems.pref_freq_list;
563 msg->pref_freq_list_len = elems.pref_freq_list_len;
573 * @msg: Buffer for returning parsed attributes
579 int p2p_parse(const u8 *data, size_t len, struct p2p_message *msg)
581 os_memset(msg, 0, sizeof(*msg));
587 msg->dialog_token = data[0];
588 wpa_printf(MSG_DEBUG, "P2P: * Dialog Token: %d", msg->dialog_token);
590 return p2p_parse_ies(data + 1, len - 1, msg);
595 size_t p2p_len, struct p2p_message *msg)
597 os_memset(msg, 0, sizeof(*msg));
599 msg->wps_attributes = wpabuf_alloc_copy(wsc, wsc_len);
600 if (msg->wps_attributes &&
601 p2p_parse_wps_ie(msg->wps_attributes, msg)) {
602 p2p_parse_free(msg);
606 msg->p2p_attributes = wpabuf_alloc_copy(p2p, p2p_len);
607 if (msg->p2p_attributes &&
608 p2p_parse_p2p_ie(msg->p2p_attributes, msg)) {
610 if (msg->p2p_attributes)
612 msg->p2p_attributes);
613 p2p_parse_free(msg);
623 * @msg: Parsed attributes
625 void p2p_parse_free(struct p2p_message *msg)
627 wpabuf_free(msg->p2p_attributes);
628 msg->p2p_attributes = NULL;
629 wpabuf_free(msg->wps_attributes);
630 msg->wps_attributes = NULL;
632 wpabuf_free(msg->wfd_subelems);
633 msg->wfd_subelems = NULL;
785 struct p2p_message msg;
789 os_memset(&msg, 0, sizeof(msg));
790 if (p2p_parse_p2p_ie(data, &msg))
793 if (msg.capability) {
797 msg.capability[0], msg.capability[1]);
803 if (msg.pri_dev_type) {
807 wps_dev_type_bin2str(msg.pri_dev_type,
816 msg.device_name);
821 if (msg.p2p_device_addr) {
824 MAC2STR(msg.p2p_device_addr));
831 msg.config_methods);
836 ret = p2p_group_info_text(msg.group_info, msg.group_info_len,
848 struct p2p_message msg;
850 os_memset(&msg, 0, sizeof(msg));
851 if (p2p_parse_p2p_ie(p2p_ie, &msg))
854 if (!msg.manageability)
857 return !(msg.manageability[0] & P2P_MAN_CROSS_CONNECTION_PERMITTED);
863 struct p2p_message msg;
865 os_memset(&msg, 0, sizeof(msg));
866 if (p2p_parse_p2p_ie(p2p_ie, &msg))
869 if (!msg.capability)
872 return msg.capability[1];
878 struct p2p_message msg;
880 os_memset(&msg, 0, sizeof(msg));
881 if (p2p_parse_p2p_ie(p2p_ie, &msg))
884 if (msg.p2p_device_addr)
885 return msg.p2p_device_addr;
886 if (msg.device_id)
887 return msg.device_id;