Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
lxi_discover(3)		      C	Library	Functions	       lxi_discover(3)

NAME
       lxi_discover - search for LXI devices on	network

SYNOPSIS
       #include	<lxi.h>

       int lxi_discover(lxi_info_t *info, int timeout, lxi_discover_t type);

DESCRIPTION
       The lxi_discover() function searches for	LXI devices or services	on the
       local  network using VXI-11 or mDNS/DNS-SD respectively.	Which discover
       type is used is defined as follows:

       typedef enum
       {
	   DISCOVER_VXI11,
	   DISCOVER_MDNS
       } lxi_discover_t;

       During the discover operation events and	results	are returned by	 call-
       backs registered	via the	info structure,	defined	as follows:

       typedef struct
       {
	   void	(*broadcast)(char *address, char *interface);
	   void	(*device)(char *address, char *id);
	   void	(*service)(char	*address, char *id, char *service, int port);
       } lxi_info_t;

       The  broadcast  callback	 is called whenever a new network interface is
       searched	(DISCOVER_VXI11	only).

       The device callback is called whenever a	new LXI	device is found	 (DIS-
       COVER_VXI11 only).

       The  service  callback  is  called  whenever a new LXI service is found
       (DISCOVER_MDNS only).

       The timeout is in milliseconds.

RETURN VALUE
       Upon successful completion lxi_discover() returns LXI_OK	, or LXI_ERROR
       if an error occurred.

EXAMPLE
       The following example searches for LXI devices using VXI-11 and	prints
       the ID and IP addresses of found	devices:

       #include	<stdio.h>
       #include	<lxi.h>

       void broadcast(char *address, char *interface)
       {
	   printf("Broadcasting	on interface %s\n", interface);
       }

       void device(char	*address, char *id)
       {
	   printf(" Found %s on	address	%s\n", id, address);
       }

       int main()
       {
	   lxi_info_t info;

	   // Initialize LXI library
	   lxi_init();

	   // Set up search information	callbacks
	   info.broadcast = &broadcast;
	   info.device = &device;

	   printf("Searching for LXI devices - please wait...\n");

	   // Search for LXI devices, 1	second timeout
	   lxi_discover(&info, 1000, DISCOVER_VXI11);

	   return 0;
       }

SEE ALSO
       lxi_discover_if(3)   lxi_init(3)	  lxi_open(3),	 lxi_close(3)  lxi_re-
       ceive(3), lxi_disconnect(3),

liblxi 1.18			  2022-09-28		       lxi_discover(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lxi_discover&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help