Skip to content

Commit f9e0171

Browse files
rgetzpcercuei
authored andcommitted
dns_sd_windows: update calling functions for library
updated function needs a query ID which SHOULD be set to 0 for multicast queries Make it so. Update callback prototype Signed-off-by: Robin Getz <[email protected]>
1 parent 2333c3a commit f9e0171

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

dns_sd_windows.c

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,11 @@ static int open_client_sockets(int *sockets, unsigned int max_sockets)
6767
return -ENOMEM;
6868

6969
ret = GetAdaptersAddresses(AF_UNSPEC,
70-
GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_ANYCAST, 0,
70+
GAA_FLAG_SKIP_MULTICAST
71+
#ifndef HAVE_IPV6
72+
| GAA_FLAG_SKIP_ANYCAST
73+
#endif
74+
, 0,
7175
adapter_address, &address_size);
7276
if (ret != ERROR_BUFFER_OVERFLOW)
7377
break;
@@ -126,12 +130,12 @@ static int open_client_sockets(int *sockets, unsigned int max_sockets)
126130
return num_sockets;
127131
}
128132

129-
130133
static int query_callback(int sock, const struct sockaddr *from, size_t addrlen,
131-
mdns_entry_type_t entry, uint16_t transaction_id,
134+
mdns_entry_type_t entry, uint16_t query_id,
132135
uint16_t rtype, uint16_t rclass, uint32_t ttl,
133-
const void *data, size_t size, size_t offset,
134-
size_t length,
136+
const void *data, size_t size, size_t name_offset,
137+
size_t name_length,
138+
size_t record_offset, size_t record_length,
135139
void *user_data)
136140
{
137141
struct dns_sd_discovery_data *dd = user_data;
@@ -151,7 +155,7 @@ static int query_callback(int sock, const struct sockaddr *from, size_t addrlen,
151155
getnameinfo(from, (socklen_t)addrlen, addrbuffer, NI_MAXHOST,
152156
servicebuffer, NI_MAXSERV, NI_NUMERICSERV | NI_NUMERICHOST);
153157

154-
srv = mdns_record_parse_srv(data, size, offset, length,
158+
srv = mdns_record_parse_srv(data, size, name_offset, name_length,
155159
namebuffer, sizeof(namebuffer));
156160
IIO_DEBUG("%s : SRV %.*s priority %d weight %d port %d\n", addrbuffer,
157161
MDNS_STRING_FORMAT(srv.name), srv.priority, srv.weight, srv.port);
@@ -232,10 +236,11 @@ int dnssd_find_hosts(struct dns_sd_discovery_data **ddata)
232236

233237
IIO_DEBUG("Sending mDNS query: %s\n", service);
234238

239+
/* Walk through all the open interfaces/sockets, and send a query */
235240
for (isock = 0; isock < num_sockets; isock++) {
236241
ret = mdns_query_send(sockets[isock], MDNS_RECORDTYPE_PTR,
237242
service, sizeof(service)-1, buffer,
238-
capacity);
243+
capacity, 0);
239244
if (ret <= 0)
240245
IIO_ERROR("Failed to send mDNS query: errno %d\n", errno);
241246

0 commit comments

Comments
 (0)