Lines Matching refs:resp

183 static void wpas_sd_add_empty(struct wpabuf *resp, u8 srv_proto,  in wpas_sd_add_empty()  argument
188 if (wpabuf_tailroom(resp) < 5) in wpas_sd_add_empty()
192 len_pos = wpabuf_put(resp, 2); in wpas_sd_add_empty()
193 wpabuf_put_u8(resp, srv_proto); in wpas_sd_add_empty()
194 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_add_empty()
196 wpabuf_put_u8(resp, status); in wpas_sd_add_empty()
198 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - 2); in wpas_sd_add_empty()
202 static void wpas_sd_add_proto_not_avail(struct wpabuf *resp, u8 srv_proto, in wpas_sd_add_proto_not_avail() argument
205 wpas_sd_add_empty(resp, srv_proto, srv_trans_id, in wpas_sd_add_proto_not_avail()
210 static void wpas_sd_add_bad_request(struct wpabuf *resp, u8 srv_proto, in wpas_sd_add_bad_request() argument
213 wpas_sd_add_empty(resp, srv_proto, srv_trans_id, P2P_SD_BAD_REQUEST); in wpas_sd_add_bad_request()
217 static void wpas_sd_add_not_found(struct wpabuf *resp, u8 srv_proto, in wpas_sd_add_not_found() argument
220 wpas_sd_add_empty(resp, srv_proto, srv_trans_id, in wpas_sd_add_not_found()
226 struct wpabuf *resp, u8 srv_trans_id) in wpas_sd_all_bonjour() argument
240 if (wpabuf_tailroom(resp) < in wpas_sd_all_bonjour()
241 5 + wpabuf_len(bsrv->query) + wpabuf_len(bsrv->resp)) in wpas_sd_all_bonjour()
244 len_pos = wpabuf_put(resp, 2); in wpas_sd_all_bonjour()
245 wpabuf_put_u8(resp, P2P_SERV_BONJOUR); in wpas_sd_all_bonjour()
246 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_all_bonjour()
248 wpabuf_put_u8(resp, P2P_SD_SUCCESS); in wpas_sd_all_bonjour()
250 wpabuf_head(bsrv->resp), in wpas_sd_all_bonjour()
251 wpabuf_len(bsrv->resp)); in wpas_sd_all_bonjour()
253 wpabuf_put_buf(resp, bsrv->query); /* Key */ in wpas_sd_all_bonjour()
254 wpabuf_put_buf(resp, bsrv->resp); /* Value */ in wpas_sd_all_bonjour()
255 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - in wpas_sd_all_bonjour()
289 struct wpabuf *resp, u8 srv_trans_id, in wpas_sd_req_bonjour() argument
300 wpas_sd_add_proto_not_avail(resp, P2P_SERV_BONJOUR, in wpas_sd_req_bonjour()
306 wpas_sd_all_bonjour(wpa_s, resp, srv_trans_id); in wpas_sd_req_bonjour()
315 if (wpabuf_tailroom(resp) < in wpas_sd_req_bonjour()
316 5 + query_len + wpabuf_len(bsrv->resp)) in wpas_sd_req_bonjour()
322 len_pos = wpabuf_put(resp, 2); in wpas_sd_req_bonjour()
323 wpabuf_put_u8(resp, P2P_SERV_BONJOUR); in wpas_sd_req_bonjour()
324 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_req_bonjour()
327 wpabuf_put_u8(resp, P2P_SD_SUCCESS); in wpas_sd_req_bonjour()
329 wpabuf_head(bsrv->resp), in wpas_sd_req_bonjour()
330 wpabuf_len(bsrv->resp)); in wpas_sd_req_bonjour()
333 wpabuf_put_data(resp, query, query_len); /* Key */ in wpas_sd_req_bonjour()
334 wpabuf_put_buf(resp, bsrv->resp); /* Value */ in wpas_sd_req_bonjour()
336 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - 2); in wpas_sd_req_bonjour()
342 if (wpabuf_tailroom(resp) < 5) in wpas_sd_req_bonjour()
346 len_pos = wpabuf_put(resp, 2); in wpas_sd_req_bonjour()
347 wpabuf_put_u8(resp, P2P_SERV_BONJOUR); in wpas_sd_req_bonjour()
348 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_req_bonjour()
351 wpabuf_put_u8(resp, P2P_SD_REQUESTED_INFO_NOT_AVAILABLE); in wpas_sd_req_bonjour()
353 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - in wpas_sd_req_bonjour()
360 struct wpabuf *resp, u8 srv_trans_id) in wpas_sd_all_upnp() argument
374 if (wpabuf_tailroom(resp) < 5 + 1 + os_strlen(usrv->service)) in wpas_sd_all_upnp()
378 len_pos = wpabuf_put(resp, 2); in wpas_sd_all_upnp()
379 wpabuf_put_u8(resp, P2P_SERV_UPNP); in wpas_sd_all_upnp()
380 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_all_upnp()
383 wpabuf_put_u8(resp, P2P_SD_SUCCESS); in wpas_sd_all_upnp()
385 wpabuf_put_u8(resp, usrv->version); in wpas_sd_all_upnp()
388 wpabuf_put_str(resp, usrv->service); in wpas_sd_all_upnp()
389 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - in wpas_sd_all_upnp()
396 struct wpabuf *resp, u8 srv_trans_id, in wpas_sd_req_upnp() argument
410 wpas_sd_add_proto_not_avail(resp, P2P_SERV_UPNP, in wpas_sd_req_upnp()
416 wpas_sd_all_upnp(wpa_s, resp, srv_trans_id); in wpas_sd_req_upnp()
420 if (wpabuf_tailroom(resp) < 5) in wpas_sd_req_upnp()
424 len_pos = wpabuf_put(resp, 2); in wpas_sd_req_upnp()
425 wpabuf_put_u8(resp, P2P_SERV_UPNP); in wpas_sd_req_upnp()
426 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_req_upnp()
444 if (wpabuf_tailroom(resp) < 2) in wpas_sd_req_upnp()
448 wpabuf_put_u8(resp, P2P_SD_SUCCESS); in wpas_sd_req_upnp()
450 wpabuf_put_u8(resp, version); in wpas_sd_req_upnp()
452 wpabuf_put_u8(resp, ','); in wpas_sd_req_upnp()
458 if (wpabuf_tailroom(resp) < os_strlen(usrv->service)) in wpas_sd_req_upnp()
460 wpabuf_put_str(resp, usrv->service); in wpas_sd_req_upnp()
468 wpabuf_put_u8(resp, P2P_SD_REQUESTED_INFO_NOT_AVAILABLE); in wpas_sd_req_upnp()
472 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - 2); in wpas_sd_req_upnp()
478 struct wpabuf *resp, u8 srv_trans_id, in wpas_sd_req_wfd() argument
489 wpas_sd_add_proto_not_avail(resp, P2P_SERV_WIFI_DISPLAY, in wpas_sd_req_wfd()
500 if (wpabuf_tailroom(resp) < 5) in wpas_sd_req_wfd()
510 len_pos = wpabuf_put(resp, 2); in wpas_sd_req_wfd()
511 wpabuf_put_u8(resp, P2P_SERV_WIFI_DISPLAY); in wpas_sd_req_wfd()
512 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_req_wfd()
513 wpabuf_put_u8(resp, P2P_SD_SUCCESS); /* Status Code */ in wpas_sd_req_wfd()
518 wpabuf_tailroom(resp) >= in wpas_sd_req_wfd()
522 wpabuf_put_buf(resp, wpa_s->global->wfd_subelem[*pos]); in wpas_sd_req_wfd()
527 WPA_PUT_LE16(len_pos, (u8 *) wpabuf_put(resp, 0) - len_pos - 2); in wpas_sd_req_wfd()
558 struct wpabuf *resp, u8 srv_trans_id, in wpas_sd_req_asp() argument
574 wpas_sd_add_proto_not_avail(resp, P2P_SERV_P2PS, srv_trans_id); in wpas_sd_req_asp()
587 wpas_sd_add_bad_request(resp, P2P_SERV_P2PS, srv_trans_id); in wpas_sd_req_asp()
617 if (wpabuf_tailroom(resp) < in wpas_sd_req_asp()
621 len_pos = wpabuf_put(resp, 2); in wpas_sd_req_asp()
622 wpabuf_put_u8(resp, P2P_SERV_P2PS); in wpas_sd_req_asp()
623 wpabuf_put_u8(resp, srv_trans_id); in wpas_sd_req_asp()
625 wpabuf_put_u8(resp, P2P_SD_SUCCESS); in wpas_sd_req_asp()
626 count_pos = wpabuf_put(resp, 1); in wpas_sd_req_asp()
628 } else if (wpabuf_tailroom(resp) < in wpas_sd_req_asp()
643 wpabuf_put_le32(resp, adv_data->id); in wpas_sd_req_asp()
646 wpabuf_put_be16(resp, adv_data->config_methods); in wpas_sd_req_asp()
649 wpabuf_put_u8(resp, (u8) len); in wpas_sd_req_asp()
650 wpabuf_put_data(resp, adv_data->svc_name, len); in wpas_sd_req_asp()
653 wpabuf_put_u8(resp, adv_data->state); in wpas_sd_req_asp()
656 wpabuf_put_le16(resp, (u16) svc_info_len); in wpas_sd_req_asp()
657 wpabuf_put_data(resp, adv_data->svc_info, svc_info_len); in wpas_sd_req_asp()
662 (u8 *) wpabuf_put(resp, 0) - len_pos - 2); in wpas_sd_req_asp()
669 wpas_sd_add_not_found(resp, P2P_SERV_P2PS, srv_trans_id); in wpas_sd_req_asp()
675 struct wpabuf *resp, u8 srv_trans_id) in wpas_sd_all_asp() argument
685 wpas_sd_req_asp(wpa_s, resp, srv_trans_id, q, sizeof(q)); in wpas_sd_all_asp()
697 struct wpabuf *resp; in wpas_sd_request() local
721 resp = wpabuf_alloc(10000); in wpas_sd_request()
722 if (resp == NULL) in wpas_sd_request()
732 wpabuf_free(resp); in wpas_sd_request()
751 wpas_sd_all_bonjour(wpa_s, resp, srv_trans_id); in wpas_sd_request()
752 wpas_sd_all_upnp(wpa_s, resp, srv_trans_id); in wpas_sd_request()
753 wpas_sd_all_asp(wpa_s, resp, srv_trans_id); in wpas_sd_request()
767 resp, P2P_SERV_ALL_SERVICES, in wpas_sd_request()
771 wpas_sd_all_bonjour(wpa_s, resp, srv_trans_id); in wpas_sd_request()
772 wpas_sd_all_upnp(wpa_s, resp, srv_trans_id); in wpas_sd_request()
773 wpas_sd_all_asp(wpa_s, resp, srv_trans_id); in wpas_sd_request()
776 wpas_sd_req_bonjour(wpa_s, resp, srv_trans_id, in wpas_sd_request()
780 wpas_sd_req_upnp(wpa_s, resp, srv_trans_id, in wpas_sd_request()
785 wpas_sd_req_wfd(wpa_s, resp, srv_trans_id, in wpas_sd_request()
790 wpas_sd_req_asp(wpa_s, resp, srv_trans_id, in wpas_sd_request()
796 wpas_sd_add_proto_not_avail(resp, srv_proto, in wpas_sd_request()
808 wpas_p2p_sd_response(wpa_s, freq, sa, dialog_token, resp); in wpas_sd_request()
810 wpabuf_free(resp); in wpas_sd_request()
1131 wpabuf_free(bsrv->resp); in wpas_p2p_srv_bonjour_free()
1209 struct wpabuf *query, struct wpabuf *resp) in wpas_p2p_service_add_bonjour() argument
1219 bsrv->resp = wpabuf_dup(resp); in wpas_p2p_service_add_bonjour()
1220 if (!bsrv->resp) in wpas_p2p_service_add_bonjour()