> > Although I don't like the idea of predefined limits :) I'll probably
>> Me neither, which is why I used that prominent macro
> MOST_INTERFACES_IMAGINABLE. Can you even imagine a system with 50 (or
> 100?) ethernet interfaces? How about an application that needs more than
> 256K (showing my age with that one... %)?
Yes, you're right, it is changeable, but it's less the number of
interfaces than the value of the indexes. The interface implies that
there will never be an interface with index 0, since if_nametoindex
returns 0 to indicate no such interface, but what's to prevent interface
indexes to be something other than 1, 2, 3, 4? They don't happen to be at
the moment, but if some enterprising kernel guy decides to randomize them
for some cute reason, this approach won't work.
> Well... that's not too thrilling since it doesn't actually fix the
> problem I found.
Yep, that's the other side of the coin: your approach works on all known
systems, whereas mine only works more often than the SIOCGIFCONF approach.
> Maybe we need to drill down into which systems if_nameindex works and
> doesn't work with and have alternate versions of enumerateInterfaces
> based on that. I have a FC4 system and I'll see how it behaves and let
> you know. ... mo
Yeah, maybe so. Portability always sucks, doesn't it?
--Juan
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com