Subject: Re: SIOCGIFCONF wierdness
To: Alex Barclay <alex@tfo-consulting.com>
From: None <itojun@iijlab.net>
List: tech-net
Date: 05/09/2001 08:11:39
>I'm having trouble accessing the list of interfaces on the machine which
>is a NetBSD-current/i386 (Kernel is a 1.5U)
>
>I create a socket of type PF_INET, SOCK_DGRAM
>try to use either SIOCGIFCONF or OSIOCGIFCONF and get very strange
>results. Using SIOCGIFCONF I get a few of the interface names but by no
>means all of them. Using OSIOCGIFCONF I get the interface names but no
>address information.

	your code is assuming that SIOCGIFCONF returns an array of fixed-length
	struct (ifreq), however, the assumption is not correct.  ifreq
	can be bigger when sockaddr in ifreq struct is bigger.
	SIOCGIFCONF is one of the most difficult-to-use ioctl.

	i'd suggest you to use getifaddrs(3).

itojun