libiio
1.0
Library for interfacing with IIO devices
|
10 #ifndef __IIO_DNS_SD_H
11 #define __IIO_DNS_SD_H
22 #include <sys/param.h>
26 #define DNS_SD_ADDRESS_STR_MAX (40 + IF_NAMESIZE)
30 #define ENOMEDIUM ENOENT
34 #define IIOD_PORT 30431
37 struct AvahiSimplePoll;
39 struct iio_context_params;
45 struct dns_sd_discovery_data {
46 struct iio_mutex *lock;
47 struct AvahiSimplePoll *poll;
48 struct AvahiAddress *address;
49 uint16_t found, resolved;
50 char addr_str[DNS_SD_ADDRESS_STR_MAX];
53 struct dns_sd_discovery_data *next;
56 struct dns_sd_cb_data {
57 struct dns_sd_discovery_data *d;
58 const struct iio_context_params *params;
66 int dnssd_find_hosts(
const struct iio_context_params *params,
67 struct dns_sd_discovery_data **ddata);
70 void dnssd_free_all_discovery_data(
const struct iio_context_params *params,
71 struct dns_sd_discovery_data *d);
78 int dnssd_discover_host(
const struct iio_context_params *params,
79 char *addr_str,
size_t addr_len, uint16_t *port);
82 void remove_dup_discovery_data(
const struct iio_context_params *params,
83 struct dns_sd_discovery_data **ddata);
86 void port_knock_discovery_data(
const struct iio_context_params *params,
87 struct dns_sd_discovery_data **ddata);
90 int dnssd_resolve_host(
const struct iio_context_params *params,
91 const char *hostname,
char *ip_addr,
const int addr_len);
93 int dnssd_context_scan(
const struct iio_context_params *params,
94 struct iio_scan *ctx,
const char *args);
struct iio_scan * iio_create_scan_context(const char *backends, unsigned int flags)
Create a scan context.
Definition: compat.c:527
struct iio_scan_block * iio_create_scan_block(const char *backend, unsigned int flags)
Create a scan block.
Definition: compat.c:652
struct iio_context * iio_create_default_context(void)
Create a context from local or remote IIO devices.
Definition: compat.c:504
const char * iio_context_info_get_description(const struct iio_context_info *info)
Get a description of a discovered context.
Definition: compat.c:621
struct iio_context * iio_create_context_from_uri(const char *uri)
Create a context from a URI description.
Definition: compat.c:383
__api void iio_scan_context_destroy(struct iio_scan_context *ctx)
Destroy the given scan context.
int iio_device_set_kernel_buffers_count(const struct iio_device *dev, unsigned int nb_buffers)
Configure the number of kernel buffers for a device.
Definition: compat.c:1631
struct iio_context_info * iio_scan_block_get_info(struct iio_scan_block *blk, unsigned int index)
Get the iio_context_info for a particular context.
Definition: compat.c:641
struct iio_context * iio_create_local_context(void)
Create a context from local IIO devices (Linux only)
Definition: compat.c:499
double value(Channel ch)
Reads the value of a channel by using "input" or "raw" attribute and applying "scale" and "offset" if...
Definition: iiopp.h:707
struct iio_context * iio_create_network_context(const char *hostname)
Create a context from the network.
Definition: compat.c:494
ssize_t iio_scan_block_scan(struct iio_scan_block *blk)
Enumerate available contexts via scan block.
Definition: compat.c:631
int iio_context_get_version(const struct iio_context *ctx, unsigned int *major, unsigned int *minor, char git_tag[8])
Get the version of the backend in use.
Definition: compat.c:678
struct iio_context * iio_create_xml_context(const char *xml_file)
Create a context from a XML file.
Definition: compat.c:467
void iio_scan_block_destroy(struct iio_scan_block *blk)
Destroy the given scan block.
Definition: compat.c:671
const char * iio_context_info_get_uri(const struct iio_context_info *info)
Get the URI of a discovered context.
Definition: compat.c:626
void iio_library_get_version(unsigned int *major, unsigned int *minor, char git_tag[8])
Get the version of the libiio library.
Definition: compat.c:1983
void iio_context_info_list_free(struct iio_context_info **list)
Free a context info list.
Definition: compat.c:509
__api __check_ret ssize_t iio_scan_context_get_info_list(struct iio_scan_context *ctx, struct iio_context_info ***info)
Enumerate available contexts.