19#define MAXHOSTNAMELEN (MAX_COMPUTERNAME_LENGTH+1)
25#define DNS_SD_ADDRESS_STR_MAX (40)
29#define ENOMEDIUM ENOENT
33#define IIOD_PORT 30431
36struct AvahiSimplePoll;
42struct dns_sd_discovery_data {
43 struct iio_mutex *lock;
44 struct AvahiSimplePoll *poll;
45 struct AvahiAddress *address;
46 uint16_t found, resolved;
47 char addr_str[DNS_SD_ADDRESS_STR_MAX];
50 struct dns_sd_discovery_data *next;
56int create_socket(
const struct addrinfo *addrinfo);
63int dnssd_find_hosts(
struct dns_sd_discovery_data ** ddata);
66void dnssd_free_all_discovery_data(
struct dns_sd_discovery_data *d);
73int dnssd_discover_host(
char *addr_str,
size_t addr_len, uint16_t *port);
76void remove_dup_discovery_data(
struct dns_sd_discovery_data **ddata);
79void port_knock_discovery_data(
struct dns_sd_discovery_data **ddata);
82int dnssd_resolve_host(
const char *hostname,
char *ip_addr,
const int addr_len);