26#define DNS_SD_ADDRESS_STR_MAX (40 + IF_NAMESIZE)
31#define ENOMEDIUM ENOENT
35#define IIOD_PORT 30431
38struct AvahiSimplePoll;
44struct dns_sd_discovery_data {
45 struct iio_mutex *lock;
46 struct AvahiSimplePoll *poll;
47 struct AvahiAddress *address;
48 uint16_t found, resolved;
49 char addr_str[DNS_SD_ADDRESS_STR_MAX];
52 struct dns_sd_discovery_data *next;
58int create_socket(
const struct addrinfo *addrinfo);
65int dnssd_find_hosts(
struct dns_sd_discovery_data ** ddata);
68void dnssd_free_all_discovery_data(
struct dns_sd_discovery_data *d);
75int dnssd_discover_host(
char *addr_str,
size_t addr_len, uint16_t *port);
78void remove_dup_discovery_data(
struct dns_sd_discovery_data **ddata);
81void port_knock_discovery_data(
struct dns_sd_discovery_data **ddata);
84int dnssd_resolve_host(
const char *hostname,
char *ip_addr,
const int addr_len);