In article <[EMAIL PROTECTED]> (at Wed, 19 Jan 2000 20:02:57 +0900), JINMEI 
(BTatuya / [EMAIL PROTECTED]@C#:H(B <[EMAIL PROTECTED]> says:
(B
(B> > SIOCGIFCONF is no good for this on Linux.  The sockaddr_in6 structure is 
(B> > too 
(B> > big to fit inside struct ifreq.
(B
(B> Sockaddr_in6 does not fit in ifreq{} in BSDs, either. But it doesn't
(B> matter for us if we carefully parse the result of the ioctl.
(B
(BI remember that application increments its pointer manually by 
(Bsizeof(struct sockaddr_in6) - sizeof(struct sockaddr) bytes, 
(Bbut it is not good for Linux because we don't know the actual size of 
(Bsockaddr_in6 structure returned from kernel (and would vary if kernel 
(Bsupports sin6_scope_id) --- please remember, we don't have sa_len 
(Bmember in sockaddr{}.  If you have any idea on this, please tell us.
(B
(BFYI:
(B sin6_scope_id patch (done by me) is now available,
(B but I don't know when it goes into the main source tree...
(B After that, we could have IPv6 support for SIOCGIFCONF (because old 
(B kernels won't return sockaddr_in6 and applications would not be 
(B confused by difference of sizes).
(B
(B-- 
(BHideaki YOSHIFUJI <[EMAIL PROTECTED]>
(BWeb Page: http://www.ecei.tohoku.ac.jp/%7Eyoshfuji/
(BPGP5i FP: F731 6599 5EB2 BBA7 1515  1323 1806 A96F 5700 6B25 

Reply via email to