mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-10-30 10:45:40 +03:00 
			
		
		
		
	1999-10-18 Ulrich Drepper <drepper@cygnus.com> * scripts/config.sub: Update from latest autoconf version. * scripts/config.guess: Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * inet/arpa/inet.h: Remove K&R compatibility. * math/fenv.h: Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/kernel_sigaction.h (struct kernel_sigaction): Remove K&R compatibility. * sysdeps/unix/sysv/linux/net/if.h: Likewise. * sysdeps/unix/sysv/linux/sys/acct.h: Likewise. * sysdeps/unix/sysv/linux/sys/fsuid.h: Likewise. * sysdeps/unix/sysv/linux/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise. * sysdeps/unix/sysv/linux/sys/klog.h: Likewise. * sysdeps/unix/sysv/linux/sys/mount.h: Likewise. * sysdeps/unix/sysv/linux/sys/prctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/sys/quota.h: Likewise. * sysdeps/unix/sysv/linux/sys/sendfile.h: Likewise. * sysdeps/unix/sysv/linux/sys/swap.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. * sysdeps/unix/sysv/linux/sys/timex.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * iconv/iconv_prog.c (process_block): Save errno value from iconv call. Patch by Bruno Haible <haible@ilog.fr> [libc/1402]. 1999-10-18 Ulrich Drepper <drepper@cygnus.com> * po/gl.po: New file. 1999-10-18 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Correct namespace selection. 1999-10-18 Andreas Schwab <schwab@suse.de> * debug/xtrace.sh: Use TERMINAL_PROG instead of TERM to avoid clash with the TERM environment variable. 1999-10-18 Andreas Jaeger <aj@suse.de> * sysdeps/generic/s_cproj.c (__cproj): Fix bug: NaN + i NaN returns now NaN + i NaN. * sysdeps/generic/s_cprojf.c (__cprojf): Likewise * sysdeps/generic/s_cprojl.c (__cprojl): Likewise. 1999-10-18 Andreas Jaeger <aj@suse.de> * include/aio.h: Remove K&R compatiblity. * include/alloca.h: Likewise. * include/db.h: Likewise. * include/dirent.h: Likewise. * include/fcntl.h: Likewise. * include/fpu_control.h: Likewise. * include/glob.h: Likewise. * include/grp.h: Likewise. * sysdeps/unix/sysv/linux/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * include/execinfo.h: Add __THROW. 1999-10-18 Ulrich Drepper <drepper@cygnus.com> * sysdeps/mips/Implies: Remove wordsize-32 reference. * sysdeps/mips/mips3/Implies: Add it here.
		
			
				
	
	
		
			192 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Copyright (C) 1997, 1998, 1999 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
 | |
|    modify it under the terms of the GNU Library General Public License as
 | |
|    published by the Free Software Foundation; either version 2 of the
 | |
|    License, or (at your option) any later version.
 | |
| 
 | |
|    The GNU C Library is distributed in the hope that it will be useful,
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|    Library General Public License for more details.
 | |
| 
 | |
|    You should have received a copy of the GNU Library General Public
 | |
|    License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | |
|    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | |
|    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>
 | |
| 
 | |
| /* Standard interface flags. */
 | |
| enum
 | |
|   {
 | |
|     IFF_UP = 0x1,		/* Interface is up.  */
 | |
| #define IFF_UP	IFF_UP
 | |
|     IFF_BROADCAST = 0x2,	/* Broadcast address valid.  */
 | |
| #define IFF_BROADCAST	IFF_BROADCAST
 | |
|     IFF_DEBUG = 0x4,		/* Turn on debugging.  */
 | |
| #define IFF_DEBUG	IFF_DEBUG
 | |
|     IFF_LOOPBACK = 0x8,		/* Is a loopback net.  */
 | |
| #define IFF_LOOPBACK	IFF_LOOPBACK
 | |
|     IFF_POINTOPOINT = 0x10,	/* Interface is point-to-point link.  */
 | |
| #define IFF_POINTOPOINT	IFF_POINTOPOINT
 | |
|     IFF_NOTRAILERS = 0x20,	/* Avoid use of trailers.  */
 | |
| #define IFF_NOTRAILERS	IFF_NOTRAILERS
 | |
|     IFF_RUNNING = 0x40,		/* Resources allocated.  */
 | |
| #define IFF_RUNNING	IFF_RUNNING
 | |
|     IFF_NOARP = 0x80,		/* No address resolution protocol.  */
 | |
| #define IFF_NOARP	IFF_NOARP
 | |
|     IFF_PROMISC = 0x100,	/* Receive all packets.  */
 | |
| #define IFF_PROMISC	IFF_PROMISC
 | |
| 
 | |
|     /* Not supported */
 | |
|     IFF_ALLMULTI = 0x200,	/* Receive all multicast packets.  */
 | |
| #define IFF_ALLMULTI	IFF_ALLMULTI
 | |
| 
 | |
|     IFF_MASTER = 0x400,		/* Master of a load balancer.  */
 | |
| #define IFF_MASTER	IFF_MASTER
 | |
|     IFF_SLAVE = 0x800,		/* Slave of a load balancer.  */
 | |
| #define IFF_SLAVE	IFF_SLAVE
 | |
| 
 | |
|     IFF_MULTICAST = 0x1000,	/* Supports multicast.  */
 | |
| #define IFF_MULTICAST	IFF_MULTICAST
 | |
| 
 | |
|     IFF_PORTSEL = 0x2000,	/* Can set media type.  */
 | |
| #define IFF_PORTSEL	IFF_PORTSEL
 | |
|     IFF_AUTOMEDIA = 0x4000	/* Auto media select active.  */
 | |
| #define IFF_AUTOMEDIA	IFF_AUTOMEDIA
 | |
|   };
 | |
| 
 | |
| /* The ifaddr structure contains information about one address of an
 | |
|    interface.  They are maintained by the different address families,
 | |
|    are allocated and attached when an address is set, and are linked
 | |
|    together so all addresses for an interface can be located.  */
 | |
| 
 | |
| struct ifaddr
 | |
|   {
 | |
|     struct sockaddr ifa_addr;	/* Address of interface.  */
 | |
|     union
 | |
|       {
 | |
| 	struct sockaddr	ifu_broadaddr;
 | |
| 	struct sockaddr	ifu_dstaddr;
 | |
|       } ifa_ifu;
 | |
|     struct iface *ifa_ifp;	/* Back-pointer to interface.  */
 | |
|     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	*/
 | |
| 
 | |
| /* Device mapping structure. I'd just gone off and designed a
 | |
|    beautiful scheme using only loadable modules with arguments for
 | |
|    driver options and along come the PCMCIA people 8)
 | |
| 
 | |
|    Ah well. The get() side of this is good for WDSETUP, and it'll be
 | |
|    handy for debugging things. The set side is fine for now and being
 | |
|    very small might be worth keeping for clean configuration.  */
 | |
| 
 | |
| struct ifmap
 | |
|   {
 | |
|     unsigned long int mem_start;
 | |
|     unsigned long int mem_end;
 | |
|     unsigned short int base_addr;
 | |
|     unsigned char irq;
 | |
|     unsigned char dma;
 | |
|     unsigned char port;
 | |
|     /* 3 bytes spare */
 | |
|   };
 | |
| 
 | |
| /* Interface request structure used for socket ioctl's.  All interface
 | |
|    ioctl's must have parameter definitions which begin with ifr_name.
 | |
|    The remainder may be interface specific.  */
 | |
| 
 | |
| struct ifreq
 | |
|   {
 | |
| #define IFHWADDRLEN	6
 | |
| #define	IFNAMSIZ	16
 | |
|     union
 | |
|       {
 | |
| 	char ifrn_name[IFNAMSIZ];	/* Interface name, e.g. "en0".  */
 | |
|       } ifr_ifrn;
 | |
| 
 | |
|     union
 | |
|       {
 | |
| 	struct sockaddr ifru_addr;
 | |
| 	struct sockaddr ifru_dstaddr;
 | |
| 	struct sockaddr ifru_broadaddr;
 | |
| 	struct sockaddr ifru_netmask;
 | |
| 	struct sockaddr ifru_hwaddr;
 | |
| 	short int ifru_flags;
 | |
| 	int ifru_ivalue;
 | |
| 	int ifru_mtu;
 | |
| 	struct ifmap ifru_map;
 | |
| 	char ifru_slave[IFNAMSIZ];	/* Just fits the size */
 | |
| 	__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		*/
 | |
| 
 | |
| 
 | |
| /* Structure used in SIOCGIFCONF request.  Used to retrieve interface
 | |
|    configuration for machine (useful for programs which must know all
 | |
|    networks accessible).  */
 | |
| 
 | |
| struct ifconf
 | |
|   {
 | |
|     int	ifc_len;			/* Size of buffer.  */
 | |
|     union
 | |
|       {
 | |
| 	__caddr_t ifcu_buf;
 | |
| 	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.  */
 | |
| 
 | |
| __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
 | |
| 
 | |
| #endif /* net/if.h */
 |