22#define DNS_SD_ADDRESS_STR_MAX (40)
27#define ENOMEDIUM ENOENT
31#define IIOD_PORT 30431
34struct AvahiSimplePoll;
40struct dns_sd_discovery_data {
41 struct iio_mutex *lock;
42 struct AvahiSimplePoll *poll;
43 struct AvahiAddress *address;
44 uint16_t found, resolved;
45 char addr_str[DNS_SD_ADDRESS_STR_MAX];
48 struct dns_sd_discovery_data *next;
54int create_socket(
const struct addrinfo *addrinfo);
61int dnssd_find_hosts(
struct dns_sd_discovery_data ** ddata);
64void dnssd_free_all_discovery_data(
struct dns_sd_discovery_data *d);
71int dnssd_discover_host(
char *addr_str,
size_t addr_len, uint16_t *port);
74void remove_dup_discovery_data(
struct dns_sd_discovery_data **ddata);
77void port_knock_discovery_data(
struct dns_sd_discovery_data **ddata);
80int dnssd_resolve_host(
const char *hostname,
char *ip_addr,
const int addr_len);