[avahi] Advertizing a service only on the local machine
jbagg
jbagg at lenbrook.com
Wed Dec 14 20:23:42 UTC 2016
On 2016-12-13 05:34 PM, Till Kamppeter wrote:
> On 12/13/2016 08:22 PM, jbagg wrote:
>> I suspect you need to pass the ID of the local loopback network
>> interface instead of AVAHI_IF_UNSPEC. From the avahi api
>> doc..."interface: The interface this service shall be announced on. We
>> recommend to pass AVAHI_IF_UNSPEC here, to announce on all interfaces."
>>
>
> And what is the ID of the local loopback network interface? This
> parameter must be given as an integer number.
>
> Till
Good question. I would experiment with *getifaddrs()*. Maybe if "lo"
is the 2nd in the list, you pass integer 1, I don't know.
http://man7.org/linux/man-pages/man3/getifaddrs.3.html
uint32_t n = 0;
getifaddrs(&ifaddr);
for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next)
{
if (!(strcmp(ifa->ifa_name, "lo")))
break;
n++;
}
freeifaddrs(ifaddr);
--
Jonathan Bagg
Embedded Systems Developer
NAD Electronics | Lenbrook Industries Limited
633 Granite Court, Pickering, Ontario, Canada L1W 3K1 | 905-831-0799 ext 4478 | http://www.nadelectronics.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/avahi/attachments/20161214/feb82c84/attachment.html>
More information about the avahi
mailing list