about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--sysdeps/gnu/net/if.h110
2 files changed, 60 insertions, 52 deletions
diff --git a/ChangeLog b/ChangeLog
index 92140502d2..4820c018cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2001-01-26  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/gnu/net/if.h: Cleanup namespace.  Define IF_NAMESIZE.
+
 	* inet/netinet/in.h: Make IPPROTO_ constants also macros.
 
 	* conform/conformtest.pl: Implement optional-type.
diff --git a/sysdeps/gnu/net/if.h b/sysdeps/gnu/net/if.h
index 0be2637ea8..45d2937ea7 100644
--- a/sysdeps/gnu/net/if.h
+++ b/sysdeps/gnu/net/if.h
@@ -1,5 +1,5 @@
 /* net/if.h -- declarations for inquiring about network interfaces
-   Copyright (C) 1997,98,99,2000 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2000,2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,51 +18,65 @@
    Boston, MA 02111-1307, USA.  */
 
 #ifndef _NET_IF_H
-
 #define _NET_IF_H	1
+
 #include <features.h>
 
-#include <sys/types.h>
-#include <sys/socket.h>
+#ifdef __USE_MISC
+# include <sys/types.h>
+# include <sys/socket.h>
+#endif
+
+
+/* Length of interface name.  */
+#define IF_NAMESIZE	16
+
+struct if_nameindex
+  {
+    unsigned int if_index;	/* 1, 2, ... */
+    char *if_name;		/* null terminated name: "eth0", ... */
+  };
+
 
+#ifdef __USE_MISC
 /* Standard interface flags. */
 enum
   {
     IFF_UP = 0x1,		/* Interface is up.  */
-#define IFF_UP	IFF_UP
+# define IFF_UP	IFF_UP
     IFF_BROADCAST = 0x2,	/* Broadcast address valid.  */
-#define IFF_BROADCAST	IFF_BROADCAST
+# define IFF_BROADCAST	IFF_BROADCAST
     IFF_DEBUG = 0x4,		/* Turn on debugging.  */
-#define IFF_DEBUG	IFF_DEBUG
+# define IFF_DEBUG	IFF_DEBUG
     IFF_LOOPBACK = 0x8,		/* Is a loopback net.  */
-#define IFF_LOOPBACK	IFF_LOOPBACK
+# define IFF_LOOPBACK	IFF_LOOPBACK
     IFF_POINTOPOINT = 0x10,	/* Interface is point-to-point link.  */
-#define IFF_POINTOPOINT	IFF_POINTOPOINT
+# define IFF_POINTOPOINT IFF_POINTOPOINT
     IFF_NOTRAILERS = 0x20,	/* Avoid use of trailers.  */
-#define IFF_NOTRAILERS	IFF_NOTRAILERS
+# define IFF_NOTRAILERS	IFF_NOTRAILERS
     IFF_RUNNING = 0x40,		/* Resources allocated.  */
-#define IFF_RUNNING	IFF_RUNNING
+# define IFF_RUNNING	IFF_RUNNING
     IFF_NOARP = 0x80,		/* No address resolution protocol.  */
-#define IFF_NOARP	IFF_NOARP
+# define IFF_NOARP	IFF_NOARP
     IFF_PROMISC = 0x100,	/* Receive all packets.  */
-#define IFF_PROMISC	IFF_PROMISC
+# define IFF_PROMISC	IFF_PROMISC
 
     /* Not supported */
     IFF_ALLMULTI = 0x200,	/* Receive all multicast packets.  */
-#define IFF_ALLMULTI	IFF_ALLMULTI
+# define IFF_ALLMULTI	IFF_ALLMULTI
 
     IFF_MASTER = 0x400,		/* Master of a load balancer.  */
-#define IFF_MASTER	IFF_MASTER
+# define IFF_MASTER	IFF_MASTER
     IFF_SLAVE = 0x800,		/* Slave of a load balancer.  */
-#define IFF_SLAVE	IFF_SLAVE
+# define IFF_SLAVE	IFF_SLAVE
 
     IFF_MULTICAST = 0x1000,	/* Supports multicast.  */
-#define IFF_MULTICAST	IFF_MULTICAST
+# define IFF_MULTICAST	IFF_MULTICAST
 
     IFF_PORTSEL = 0x2000,	/* Can set media type.  */
-#define IFF_PORTSEL	IFF_PORTSEL
+# define IFF_PORTSEL	IFF_PORTSEL
     IFF_AUTOMEDIA = 0x4000	/* Auto media select active.  */
-#define IFF_AUTOMEDIA	IFF_AUTOMEDIA
+# define IFF_AUTOMEDIA	IFF_AUTOMEDIA
   };
 
 /* The ifaddr structure contains information about one address of an
@@ -82,8 +96,8 @@ struct ifaddr
     struct ifaddr *ifa_next;	/* Next address for interface.  */
   };
 
-#define	ifa_broadaddr	ifa_ifu.ifu_broadaddr	/* broadcast address	*/
-#define	ifa_dstaddr	ifa_ifu.ifu_dstaddr	/* other end of link	*/
+# define ifa_broadaddr	ifa_ifu.ifu_broadaddr	/* broadcast address	*/
+# define ifa_dstaddr	ifa_ifu.ifu_dstaddr	/* other end of link	*/
 
 /* Device mapping structure. I'd just gone off and designed a
    beautiful scheme using only loadable modules with arguments for
@@ -110,8 +124,8 @@ struct ifmap
 
 struct ifreq
   {
-#define IFHWADDRLEN	6
-#define	IFNAMSIZ	16
+# define IFHWADDRLEN	6
+# define IFNAMSIZ	IF_NAMESIZE
     union
       {
 	char ifrn_name[IFNAMSIZ];	/* Interface name, e.g. "en0".  */
@@ -133,23 +147,23 @@ struct ifreq
 	__caddr_t ifru_data;
       } ifr_ifru;
   };
-#define ifr_name	ifr_ifrn.ifrn_name	/* interface name 	*/
-#define ifr_hwaddr	ifr_ifru.ifru_hwaddr	/* MAC address 		*/
-#define	ifr_addr	ifr_ifru.ifru_addr	/* address		*/
-#define	ifr_dstaddr	ifr_ifru.ifru_dstaddr	/* other end of p-p lnk	*/
-#define	ifr_broadaddr	ifr_ifru.ifru_broadaddr	/* broadcast address	*/
-#define	ifr_netmask	ifr_ifru.ifru_netmask	/* interface net mask	*/
-#define	ifr_flags	ifr_ifru.ifru_flags	/* flags		*/
-#define	ifr_metric	ifr_ifru.ifru_ivalue	/* metric		*/
-#define	ifr_mtu		ifr_ifru.ifru_mtu	/* mtu			*/
-#define ifr_map		ifr_ifru.ifru_map	/* device map		*/
-#define ifr_slave	ifr_ifru.ifru_slave	/* slave device		*/
-#define	ifr_data	ifr_ifru.ifru_data	/* for use by interface	*/
-#define ifr_ifindex	ifr_ifru.ifru_ivalue    /* interface index      */
-#define ifr_bandwidth	ifr_ifru.ifru_ivalue	/* link bandwidth	*/
-#define ifr_qlen	ifr_ifru.ifru_ivalue	/* queue length		*/
-#define ifr_newname	ifr_ifru.ifru_newname	/* New name		*/
-#define _IOT_ifreq	_IOT(_IOTS(struct ifreq),1,0,0,0,0) /* not right */
+# define ifr_name	ifr_ifrn.ifrn_name	/* interface name 	*/
+# define ifr_hwaddr	ifr_ifru.ifru_hwaddr	/* MAC address 		*/
+# define ifr_addr	ifr_ifru.ifru_addr	/* address		*/
+# define ifr_dstaddr	ifr_ifru.ifru_dstaddr	/* other end of p-p lnk	*/
+# define ifr_broadaddr	ifr_ifru.ifru_broadaddr	/* broadcast address	*/
+# define ifr_netmask	ifr_ifru.ifru_netmask	/* interface net mask	*/
+# define ifr_flags	ifr_ifru.ifru_flags	/* flags		*/
+# define ifr_metric	ifr_ifru.ifru_ivalue	/* metric		*/
+# define ifr_mtu	ifr_ifru.ifru_mtu	/* mtu			*/
+# define ifr_map	ifr_ifru.ifru_map	/* device map		*/
+# define ifr_slave	ifr_ifru.ifru_slave	/* slave device		*/
+# define ifr_data	ifr_ifru.ifru_data	/* for use by interface	*/
+# define ifr_ifindex	ifr_ifru.ifru_ivalue    /* interface index      */
+# define ifr_bandwidth	ifr_ifru.ifru_ivalue	/* link bandwidth	*/
+# define ifr_qlen	ifr_ifru.ifru_ivalue	/* queue length		*/
+# define ifr_newname	ifr_ifru.ifru_newname	/* New name		*/
+# define _IOT_ifreq	_IOT(_IOTS(struct ifreq),1,0,0,0,0) /* not right */
 
 
 /* Structure used in SIOCGIFCONF request.  Used to retrieve interface
@@ -165,29 +179,21 @@ struct ifconf
 	struct ifreq *ifcu_req;
       } ifc_ifcu;
   };
-#define	ifc_buf	ifc_ifcu.ifcu_buf	/* Buffer address.  */
-#define	ifc_req	ifc_ifcu.ifcu_req	/* Array of structures.  */
-#define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) /* not right */
+# define ifc_buf	ifc_ifcu.ifcu_buf	/* Buffer address.  */
+# define ifc_req	ifc_ifcu.ifcu_req	/* Array of structures.  */
+# define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) /* not right */
+#endif	/* Misc.  */
 
 __BEGIN_DECLS
 
 /* Convert an interface name to an index, and vice versa.  */
-
 extern unsigned int if_nametoindex (__const char *__ifname) __THROW;
 extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __THROW;
 
 /* Return a list of all interfaces and their indices.  */
-
-struct if_nameindex
-  {
-    unsigned int if_index;	/* 1, 2, ... */
-    char *if_name;		/* null terminated name: "eth0", ... */
-  };
-
 extern struct if_nameindex *if_nameindex (void) __THROW;
 
 /* Free the data returned from if_nameindex.  */
-
 extern void if_freenameindex (struct if_nameindex *__ptr) __THROW;
 
 __END_DECLS