@@ -3786,7 +3786,7 @@ static void _mdns_search_free(mdns_search_once_t * search)
3786
3786
/**
3787
3787
* @brief Allocate new search structure
3788
3788
*/
3789
- static mdns_search_once_t * _mdns_search_init (const char * name , const char * service , const char * proto , uint16_t type ,
3789
+ static mdns_search_once_t * _mdns_search_init (const char * name , const char * service , const char * proto , uint16_t type , bool unicast ,
3790
3790
uint32_t timeout , uint8_t max_results , mdns_query_notify_t notifier )
3791
3791
{
3792
3792
mdns_search_once_t * search = (mdns_search_once_t * )malloc (sizeof (mdns_search_once_t ));
@@ -3827,6 +3827,7 @@ static mdns_search_once_t *_mdns_search_init(const char *name, const char *servi
3827
3827
}
3828
3828
3829
3829
search -> type = type ;
3830
+ search -> unicast = unicast ;
3830
3831
search -> timeout = timeout ;
3831
3832
search -> num_results = 0 ;
3832
3833
search -> max_results = max_results ;
@@ -4207,7 +4208,7 @@ static mdns_tx_packet_t * _mdns_create_search_packet(mdns_search_once_t * search
4207
4208
return NULL ;
4208
4209
}
4209
4210
q -> next = NULL ;
4210
- q -> unicast = search -> type != MDNS_TYPE_PTR ;
4211
+ q -> unicast = search -> unicast ;
4211
4212
q -> type = search -> type ;
4212
4213
q -> host = search -> instance ;
4213
4214
q -> service = search -> service ;
@@ -5610,7 +5611,7 @@ mdns_search_once_t *mdns_query_async_new(const char *name, const char *service,
5610
5611
return NULL ;
5611
5612
}
5612
5613
5613
- search = _mdns_search_init (name , service , proto , type , timeout , max_results , notifier );
5614
+ search = _mdns_search_init (name , service , proto , type , type != MDNS_TYPE_PTR , timeout , max_results , notifier );
5614
5615
if (!search ) {
5615
5616
return NULL ;
5616
5617
}
@@ -5623,7 +5624,7 @@ mdns_search_once_t *mdns_query_async_new(const char *name, const char *service,
5623
5624
return search ;
5624
5625
}
5625
5626
5626
- esp_err_t mdns_query (const char * name , const char * service , const char * proto , uint16_t type , uint32_t timeout , size_t max_results , mdns_result_t * * results )
5627
+ esp_err_t mdns_query_generic (const char * name , const char * service , const char * proto , uint16_t type , bool unicast , uint32_t timeout , size_t max_results , mdns_result_t * * results )
5627
5628
{
5628
5629
mdns_search_once_t * search = NULL ;
5629
5630
@@ -5637,7 +5638,7 @@ esp_err_t mdns_query(const char * name, const char * service, const char * proto
5637
5638
return ESP_ERR_INVALID_ARG ;
5638
5639
}
5639
5640
5640
- search = _mdns_search_init (name , service , proto , type , timeout , max_results , NULL );
5641
+ search = _mdns_search_init (name , service , proto , type , unicast , timeout , max_results , NULL );
5641
5642
if (!search ) {
5642
5643
return ESP_ERR_NO_MEM ;
5643
5644
}
@@ -5654,6 +5655,11 @@ esp_err_t mdns_query(const char * name, const char * service, const char * proto
5654
5655
return ESP_OK ;
5655
5656
}
5656
5657
5658
+ esp_err_t mdns_query (const char * name , const char * service_type , const char * proto , uint16_t type , uint32_t timeout , size_t max_results , mdns_result_t * * results )
5659
+ {
5660
+ return mdns_query_generic (name , service_type , proto , type , type != MDNS_TYPE_PTR , timeout , max_results , results );
5661
+ }
5662
+
5657
5663
esp_err_t mdns_query_ptr (const char * service , const char * proto , uint32_t timeout , size_t max_results , mdns_result_t * * results )
5658
5664
{
5659
5665
if (_str_null_or_empty (service ) || _str_null_or_empty (proto )) {
0 commit comments