better config of ifconfig differences
This commit is contained in:
@@ -54,18 +54,16 @@ static char *sccsId = "@(#) $Id$";
|
||||
* Made difficult by the fact that addresses larger than the structure
|
||||
* size may be returned from the kernel.
|
||||
*/
|
||||
static struct ifreq * ifreqNext (struct ifreq *pifreq)
|
||||
static struct ifreq * ifreqNext ( struct ifreq *pifreq )
|
||||
{
|
||||
unsigned int size;
|
||||
size_t size;
|
||||
|
||||
#if ( defined (BSD) && ( BSD >= 44 ) ) || defined ( SOCKADDR_HAS_LEN )
|
||||
size = pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name);
|
||||
if (size < sizeof(*pifreq))
|
||||
size = sizeof(*pifreq);
|
||||
#else
|
||||
size = sizeof(*pifreq);
|
||||
#endif
|
||||
return (struct ifreq *)(size + (char *)pifreq);
|
||||
size = ifreq_size ( pifreq );
|
||||
if ( size < sizeof ( *pifreq ) ) {
|
||||
size = sizeof ( *pifreq );
|
||||
}
|
||||
|
||||
return ( struct ifreq * )( size + ( char * ) pifreq );
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -68,5 +68,7 @@ typedef socklen_t osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -45,3 +45,7 @@ typedef int osiSocklen_t;
|
||||
* fd can be used with FD_SET(), FD_CLR(), and FD_ISSET().
|
||||
*/
|
||||
#define FD_IN_FDSET(FD) (1)
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
|
||||
|
||||
@@ -62,5 +62,7 @@ typedef int osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -80,5 +80,7 @@ typedef int osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -64,5 +64,7 @@ typedef int osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -61,5 +61,7 @@ typedef int osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -72,5 +72,7 @@ typedef int osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -128,5 +128,7 @@ typedef int osiSocklen_t;
|
||||
#define SOCK_EINTR EINTR
|
||||
#define SOCK_EPIPE EPIPE
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -158,5 +158,7 @@ typedef int osiSocklen_t;
|
||||
# define FD_IN_FDSET(FD) ((FD)<FD_SETSIZE&&(FD)>=0)
|
||||
#endif
|
||||
|
||||
#define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
@@ -58,6 +58,12 @@ typedef int osiSocklen_t;
|
||||
#define INADDR_LOOPBACK 0x7F000001
|
||||
#endif
|
||||
|
||||
#if ( defined (BSD) && ( BSD >= 44 ) )
|
||||
# define ifreq_size(pifreq) (pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name))
|
||||
#else
|
||||
# define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
#endif
|
||||
|
||||
#endif /*osiSockH*/
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user