David S. Miller wrote: > From: "BALBIR SINGH" > Date: Tue, 09 Oct 2001 18:53:47 +0530 > > To make the API orthogonal, I have included a patch for SIOCGIFCOUNT, > which currently returns -EINVAL. The only reason I am providing this patch > is to make the API complete and make it easier to port applications from > other UNIX like OS'es. > >There is no need for this change, and _EVEN_ if we put this >change in today every APP out there would _STILL_ need to deal with >all existing kernels which do not have SIOCGIFCOUNT implemented. > >Furthermore, SIOCGIFCOUNT also gives no new functionality that does >not exist already. SIOCGIFCONF with a zero size with give the >behavior necessary to get the same answer as a SIOCGIFCOUNT would >provide. As far as I am aware, every system providing BSD sockets >provides this SIOCGIFCONF "feature". > >Therefore, it is already quite easy to make applications portable >between Linux and other BSD socket based systems. Simply use the >SIOCGIFCONF method throughout. > I had mentioned even earlier, the same functionality can be obtained otherwise. I was talking about porting from SUN, HP-UX, AIX, etc. I have had people coming to me and telling me that SIOCGIFNUM (equivalent to SIOCGIFCOUNT) does not exist and I have had to ask them to use SIOCGIFCONF, if ifc.ifc_len and ifc.ifc_buf set to '0', to obtain the total size. Again, it is not a must it should be around. But since the ioctl is there, it might be good to have it work the way some one reading a man page would expect it to work, or if somebody wanted to port some application from Sun, HP-UX or AIX would just do #define SIOCGIFNUM SIOCGIFCOUNT and get his application to compile without changing the code Regards, Balbir > >Franks a lot, >David S. Miller >davem@redhat.com > >