[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r4114 - in glibc-package/branches/eglibc-2.11/debian/patches: . hurd-i386



Author: sthibault
Date: 2010-01-30 18:45:06 +0000 (Sat, 30 Jan 2010)
New Revision: 4114

Added:
   glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-getcwd.diff
   glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-setsid.diff
   glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/submitted-net.diff
Modified:
   glibc-package/branches/eglibc-2.11/debian/patches/series
Log:
Add missing patches/hurd-i386/{cvs-getcwd.diff,cvs-setsid.diff,submitted-net.diff}

Copied: glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-getcwd.diff (from rev 4108, glibc-package/trunk/debian/patches/hurd-i386/cvs-getcwd.diff)
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-getcwd.diff	                        (rev 0)
+++ glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-getcwd.diff	2010-01-30 18:45:06 UTC (rev 4114)
@@ -0,0 +1,19 @@
+The patch below fixes a spurious call to mach_port_deallocate: rootdevid
+is already deallocated as soon as it is fetched through __io_identity.
+
+---
+ getcwd.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/sysdeps/mach/hurd/getcwd.c b/sysdeps/mach/hurd/getcwd.c
+index 7e07e6b..f833f3d 100644
+--- a/sysdeps/mach/hurd/getcwd.c
++++ b/sysdeps/mach/hurd/getcwd.c
+@@ -60,7 +60,6 @@ _hurd_canonicalize_directory_name_internal (file_t thisdir,
+       __mach_port_deallocate (__mach_task_self (), thisid);
+       __mach_port_deallocate (__mach_task_self (), thisdevid);
+       __mach_port_deallocate (__mach_task_self (), rootid);
+-      __mach_port_deallocate (__mach_task_self (), rootdevid);
+ 
+       if (dirbuf != NULL)
+ 	__vm_deallocate (__mach_task_self (),

Copied: glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-setsid.diff (from rev 4108, glibc-package/trunk/debian/patches/hurd-i386/cvs-setsid.diff)
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-setsid.diff	                        (rev 0)
+++ glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/cvs-setsid.diff	2010-01-30 18:45:06 UTC (rev 4114)
@@ -0,0 +1,17 @@
+Fix bogus port deallocation due to uninitialized variable
+
+---
+ hurdioctl.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- eglibc-2.10.2-orig/hurd/hurdioctl.c	2006-08-17 02:18:26.000000000 +0100
++++ eglibc-2.10.2/hurd/hurdioctl.c	2009-12-22 03:13:05.000000000 +0000
+@@ -169,7 +169,7 @@
+   for (i = 0; i < _hurd_dtablesize; ++i)
+     {
+       struct hurd_fd *const d = _hurd_dtable[i];
+-      mach_port_t newctty;
++      mach_port_t newctty = MACH_PORT_NULL;
+ 
+       if (d == NULL)
+ 	/* Nothing to do for an unused descriptor cell.  */

Copied: glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/submitted-net.diff (from rev 4108, glibc-package/trunk/debian/patches/hurd-i386/submitted-net.diff)
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/submitted-net.diff	                        (rev 0)
+++ glibc-package/branches/eglibc-2.11/debian/patches/hurd-i386/submitted-net.diff	2010-01-30 18:45:06 UTC (rev 4114)
@@ -0,0 +1,2330 @@
+commit b4da06a7e200d0cf8d132a83852e473b7795f691
+Author: Samuel Thibault <sthibault@dalton.bordeaux.inria.fr>
+Date:   Sun Jan 10 23:55:28 2010 +0100
+
+    Factorize ethernet,if_arp,if_ether,if_ppp,route.h
+    
+    2010-01-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+    
+    	* sysdeps/mach/hurd/Makefile (sysdep_headers) [subdir=socket]:
+    	Remove net/ethernet.h net/if_arp.h net/if_ether.h net/if_ppp.h
+    	net/route.h.
+    	* sysdeps/gnu/Makefile (sysdep_headers) [subdir=socket]:
+    	Add net/ethernet.h net/if_arp.h net/if_ether.h net/if_ppp.h
+    	net/route.h.
+    	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers)
+    	[subdir=socket]: Remove net/ethernet.h net/if_arp.h net/if_ppp.h
+    	net/route.h
+    
+    	* sysdeps/mach/hurd/net/ethernet.h: Remove file.
+    	* sysdeps/unix/sysv/linux/net/ethernet.h: Move file to...
+    	* sysdeps/gnu/net/ethernet.h: ... this, and include
+    	<net/if_ether.h> instead of <linux/if_ether.h>.
+    
+    	* sysdeps/mach/hurd/net/if_ether.h: Move file to...
+    	* sysdeps/gnu/net/if_ether.h: ... this.
+    	(ETH_FCS_LEN,ETH_P_PUPAT,ETH_P_IEEEPUP,ETH_P_IEEEPUPAT,
+    	ETH_P_8021Q,ETH_P_PAUSE,ETH_P_SLOW,ETH_P_WCCP,ETH_P_PPP_DISC,
+    	ETH_P_PPP_SES,ETH_P_MPLS_UC,ETH_P_MPLS_MC,ETH_P_ATMMPOA,
+    	ETH_P_ATMFATE,ETH_P_PAE,ETH_P_AOE,ETH_P_TIPC,ETH_P_FCOE,
+    	ETH_P_EDSA,ETH_P_CAN,ETH_P_MOBITEX,ETH_P_CONTROL,ETH_P_IRDA,
+    	ETH_P_ECONET,ETH_P_HDLC,ETH_P_ARCNET,ETH_P_DSA,ETH_P_TRAILER,
+    	ETH_P_PHONET): New macros.
+    	(ETH_P_ECHO): Remove macro.
+    	(ETH_P_PUP): Change value from 0x0400 to 0x0200.
+    	(struct ethhdr): Add packed attribute.
+    	* sysdeps/unix/sysv/linux/net/if_ether.h: New file, includes
+    	<linux/if_ether.h>.
+    
+    	* sysdeps/unix/sysv/linux/net/if_arp.h: Move file to...
+    	* sysdeps/gnu/net/if_arp.h: ... this.
+    	* sysdeps/mach/hurd/net/if_arp.h: Remove file.
+    
+    	* sysdeps/unix/sysv/linux/net/if_ppp.h: Move file to...
+    	* sysdeps/gnu/net/if_ppp.h: ... this.
+    	* sysdeps/mach/hurd/net/if_ppp.h: Remove file.
+    
+    	* sysdeps/unix/sysv/linux/net/route.h: Move file to...
+    	* sysdeps/gnu/net/route.h: ... this.
+    	* sysdeps/mach/hurd/net/route.h: Remove file.
+
+---
+ b/sysdeps/gnu/Makefile                     |    5 
+ b/sysdeps/gnu/net/ethernet.h               |   84 +++++++++++++
+ b/sysdeps/gnu/net/if_arp.h                 |  184 +++++++++++++++++++++++++++++
+ b/sysdeps/gnu/net/if_ether.h               |  116 ++++++++++++++++++
+ b/sysdeps/gnu/net/if_ppp.h                 |  169 ++++++++++++++++++++++++++
+ b/sysdeps/gnu/net/route.h                  |  145 ++++++++++++++++++++++
+ b/sysdeps/gnu/netinet/if_ether.h           |  104 ++++++++++++++++
+ b/sysdeps/mach/hurd/Makefile               |    5 
+ b/sysdeps/unix/sysv/linux/Makefile         |    3 
+ b/sysdeps/unix/sysv/linux/net/if_ether.h   |    7 +
+ sysdeps/mach/hurd/net/ethernet.h           |   76 -----------
+ sysdeps/mach/hurd/net/if_arp.h             |  145 ----------------------
+ sysdeps/mach/hurd/net/if_ether.h           |   85 -------------
+ sysdeps/mach/hurd/net/if_ppp.h             |  169 --------------------------
+ sysdeps/mach/hurd/net/route.h              |  141 ----------------------
+ sysdeps/unix/sysv/linux/net/ethernet.h     |   84 -------------
+ sysdeps/unix/sysv/linux/net/if_arp.h       |  184 -----------------------------
+ sysdeps/unix/sysv/linux/net/if_ppp.h       |  169 --------------------------
+ sysdeps/unix/sysv/linux/net/route.h        |  145 ----------------------
+ sysdeps/unix/sysv/linux/netinet/if_ether.h |  105 ----------------
+ 20 files changed, 815 insertions(+), 1310 deletions(-)
+
+diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile
+index 5b9a0a5..b8ded38 100644
+--- a/sysdeps/gnu/Makefile
++++ b/sysdeps/gnu/Makefile
+@@ -77,3 +77,8 @@ endif
+ ifeq ($(subdir),misc)
+ sysdep_headers += sys/mtio.h
+ endif
++
++ifeq ($(subdir),socket)
++sysdep_headers += net/ethernet.h net/if_arp.h net/if_ether.h net/if_ppp.h \
++		  net/route.h
++endif
+diff --git a/sysdeps/gnu/net/ethernet.h b/sysdeps/gnu/net/ethernet.h
+new file mode 100644
+index 0000000..450d519
+--- /dev/null
++++ b/sysdeps/gnu/net/ethernet.h
+@@ -0,0 +1,84 @@
++/* Copyright (C) 1997, 1999, 2001, 2008, 2010 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 Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++/* Based on the FreeBSD version of this file. Curiously, that file
++   lacks a copyright in the header. */
++
++#ifndef __NET_ETHERNET_H
++#define __NET_ETHERNET_H 1
++
++#include <sys/cdefs.h>
++#include <sys/types.h>
++#include <net/if_ether.h>     /* IEEE 802.3 Ethernet constants */
++
++__BEGIN_DECLS
++
++/* This is a name for the 48 bit ethernet address available on many
++   systems.  */
++struct ether_addr
++{
++  u_int8_t ether_addr_octet[ETH_ALEN];
++} __attribute__ ((__packed__));
++
++/* 10Mb/s ethernet header */
++struct ether_header
++{
++  u_int8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
++  u_int8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
++  u_int16_t ether_type;		        /* packet type ID field	*/
++} __attribute__ ((__packed__));
++
++/* Ethernet protocol ID's */
++#define	ETHERTYPE_PUP		0x0200          /* Xerox PUP */
++#define ETHERTYPE_SPRITE	0x0500		/* Sprite */
++#define	ETHERTYPE_IP		0x0800		/* IP */
++#define	ETHERTYPE_ARP		0x0806		/* Address resolution */
++#define	ETHERTYPE_REVARP	0x8035		/* Reverse ARP */
++#define ETHERTYPE_AT		0x809B		/* AppleTalk protocol */
++#define ETHERTYPE_AARP		0x80F3		/* AppleTalk ARP */
++#define	ETHERTYPE_VLAN		0x8100		/* IEEE 802.1Q VLAN tagging */
++#define ETHERTYPE_IPX		0x8137		/* IPX */
++#define	ETHERTYPE_IPV6		0x86dd		/* IP protocol version 6 */
++#define ETHERTYPE_LOOPBACK	0x9000		/* used to test interfaces */
++
++
++#define	ETHER_ADDR_LEN	ETH_ALEN                 /* size of ethernet addr */
++#define	ETHER_TYPE_LEN	2                        /* bytes in type field */
++#define	ETHER_CRC_LEN	4                        /* bytes in CRC field */
++#define	ETHER_HDR_LEN	ETH_HLEN                 /* total octets in header */
++#define	ETHER_MIN_LEN	(ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */
++#define	ETHER_MAX_LEN	(ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */
++
++/* make sure ethenet length is valid */
++#define	ETHER_IS_VALID_LEN(foo)	\
++	((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
++
++/*
++ * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
++ * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
++ * by an ETHER type (as given above) and then the (variable-length) header.
++ */
++#define	ETHERTYPE_TRAIL		0x1000		/* Trailer packet */
++#define	ETHERTYPE_NTRAILER	16
++
++#define	ETHERMTU	ETH_DATA_LEN
++#define	ETHERMIN	(ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
++
++__END_DECLS
++
++#endif	/* net/ethernet.h */
+diff --git a/sysdeps/gnu/net/if_arp.h b/sysdeps/gnu/net/if_arp.h
+new file mode 100644
+index 0000000..97cb61f
+--- /dev/null
++++ b/sysdeps/gnu/net/if_arp.h
+@@ -0,0 +1,184 @@
++/* Definitions for Address Resolution Protocol.
++   Copyright (C) 1997,1999,2001,2006,2009 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++/* Based on the 4.4BSD and Linux version of this file.  */
++
++#ifndef _NET_IF_ARP_H
++
++#define _NET_IF_ARP_H 1
++#include <sys/cdefs.h>
++
++#include <sys/types.h>
++#include <sys/socket.h>
++
++__BEGIN_DECLS
++
++/* Some internals from deep down in the kernel.  */
++#define MAX_ADDR_LEN	7
++
++
++/* This structure defines an ethernet arp header.  */
++
++/* ARP protocol opcodes. */
++#define	ARPOP_REQUEST	1		/* ARP request.  */
++#define	ARPOP_REPLY	2		/* ARP reply.  */
++#define	ARPOP_RREQUEST	3		/* RARP request.  */
++#define	ARPOP_RREPLY	4		/* RARP reply.  */
++#define	ARPOP_InREQUEST	8		/* InARP request.  */
++#define	ARPOP_InREPLY	9		/* InARP reply.  */
++#define	ARPOP_NAK	10		/* (ATM)ARP NAK.  */
++
++/* See RFC 826 for protocol description.  ARP packets are variable
++   in size; the arphdr structure defines the fixed-length portion.
++   Protocol type values are the same as those for 10 Mb/s Ethernet.
++   It is followed by the variable-sized fields ar_sha, arp_spa,
++   arp_tha and arp_tpa in that order, according to the lengths
++   specified.  Field names used correspond to RFC 826.  */
++
++struct arphdr
++  {
++    unsigned short int ar_hrd;		/* Format of hardware address.  */
++    unsigned short int ar_pro;		/* Format of protocol address.  */
++    unsigned char ar_hln;		/* Length of hardware address.  */
++    unsigned char ar_pln;		/* Length of protocol address.  */
++    unsigned short int ar_op;		/* ARP opcode (command).  */
++#if 0
++    /* Ethernet looks like this : This bit is variable sized
++       however...  */
++    unsigned char __ar_sha[ETH_ALEN];	/* Sender hardware address.  */
++    unsigned char __ar_sip[4];		/* Sender IP address.  */
++    unsigned char __ar_tha[ETH_ALEN];	/* Target hardware address.  */
++    unsigned char __ar_tip[4];		/* Target IP address.  */
++#endif
++  };
++
++
++/* ARP protocol HARDWARE identifiers. */
++#define ARPHRD_NETROM	0		/* From KA9Q: NET/ROM pseudo. */
++#define ARPHRD_ETHER 	1		/* Ethernet 10/100Mbps.  */
++#define	ARPHRD_EETHER	2		/* Experimental Ethernet.  */
++#define	ARPHRD_AX25	3		/* AX.25 Level 2.  */
++#define	ARPHRD_PRONET	4		/* PROnet token ring.  */
++#define	ARPHRD_CHAOS	5		/* Chaosnet.  */
++#define	ARPHRD_IEEE802	6		/* IEEE 802.2 Ethernet/TR/TB.  */
++#define	ARPHRD_ARCNET	7		/* ARCnet.  */
++#define	ARPHRD_APPLETLK	8		/* APPLEtalk.  */
++#define	ARPHRD_DLCI	15		/* Frame Relay DLCI.  */
++#define	ARPHRD_ATM	19		/* ATM.  */
++#define	ARPHRD_METRICOM	23		/* Metricom STRIP (new IANA id).  */
++#define ARPHRD_IEEE1394	24		/* IEEE 1394 IPv4 - RFC 2734.  */
++#define ARPHRD_EUI64		27		/* EUI-64.  */
++#define ARPHRD_INFINIBAND	32		/* InfiniBand.  */
++
++/* Dummy types for non ARP hardware */
++#define ARPHRD_SLIP	256
++#define ARPHRD_CSLIP	257
++#define ARPHRD_SLIP6	258
++#define ARPHRD_CSLIP6	259
++#define ARPHRD_RSRVD	260		/* Notional KISS type.  */
++#define ARPHRD_ADAPT	264
++#define ARPHRD_ROSE	270
++#define ARPHRD_X25	271		/* CCITT X.25.  */
++#define ARPHRD_HWX25	272		/* Boards with X.25 in firmware.  */
++#define ARPHRD_PPP	512
++#define ARPHRD_CISCO	513		/* Cisco HDLC.  */
++#define ARPHRD_HDLC	ARPHRD_CISCO
++#define ARPHRD_LAPB	516		/* LAPB.  */
++#define ARPHRD_DDCMP	517		/* Digital's DDCMP.  */
++#define	ARPHRD_RAWHDLC	518		/* Raw HDLC.  */
++
++#define ARPHRD_TUNNEL	768		/* IPIP tunnel.  */
++#define ARPHRD_TUNNEL6	769		/* IPIP6 tunnel.  */
++#define ARPHRD_FRAD	770             /* Frame Relay Access Device.  */
++#define ARPHRD_SKIP	771		/* SKIP vif.  */
++#define ARPHRD_LOOPBACK	772		/* Loopback device.  */
++#define ARPHRD_LOCALTLK 773		/* Localtalk device.  */
++#define ARPHRD_FDDI	774		/* Fiber Distributed Data Interface. */
++#define ARPHRD_BIF	775             /* AP1000 BIF.  */
++#define ARPHRD_SIT	776		/* sit0 device - IPv6-in-IPv4.  */
++#define ARPHRD_IPDDP	777		/* IP-in-DDP tunnel.  */
++#define ARPHRD_IPGRE	778		/* GRE over IP.  */
++#define ARPHRD_PIMREG	779		/* PIMSM register interface.  */
++#define ARPHRD_HIPPI	780		/* High Performance Parallel I'face. */
++#define ARPHRD_ASH	781		/* (Nexus Electronics) Ash.  */
++#define ARPHRD_ECONET	782		/* Acorn Econet.  */
++#define ARPHRD_IRDA	783		/* Linux-IrDA.  */
++#define ARPHRD_FCPP	784		/* Point to point fibrechanel.  */
++#define ARPHRD_FCAL	785		/* Fibrechanel arbitrated loop.  */
++#define ARPHRD_FCPL	786		/* Fibrechanel public loop.  */
++#define ARPHRD_FCFABRIC 787		/* Fibrechanel fabric.  */
++#define ARPHRD_IEEE802_TR 800		/* Magic type ident for TR.  */
++#define ARPHRD_IEEE80211 801		/* IEEE 802.11.  */
++#define ARPHRD_IEEE80211_PRISM 802	/* IEEE 802.11 + Prism2 header.  */
++#define ARPHRD_IEEE80211_RADIOTAP 803	/* IEEE 802.11 + radiotap header.  */
++#define ARPHRD_IEEE802154 804		/* IEEE 802.15.4 header.  */
++#define ARPHRD_IEEE802154_PHY 805	/* IEEE 802.15.4 PHY header.  */
++
++#define ARPHRD_VOID	  0xFFFF	/* Void type, nothing is known.  */
++#define ARPHRD_NONE	  0xFFFE	/* Zero header length.  */
++
++
++/* ARP ioctl request.  */
++struct arpreq
++  {
++    struct sockaddr arp_pa;		/* Protocol address.  */
++    struct sockaddr arp_ha;		/* Hardware address.  */
++    int arp_flags;			/* Flags.  */
++    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
++    char arp_dev[16];
++  };
++
++struct arpreq_old
++  {
++    struct sockaddr arp_pa;		/* Protocol address.  */
++    struct sockaddr arp_ha;		/* Hardware address.  */
++    int arp_flags;			/* Flags.  */
++    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
++  };
++
++/* ARP Flag values.  */
++#define ATF_COM		0x02		/* Completed entry (ha valid).  */
++#define	ATF_PERM	0x04		/* Permanent entry.  */
++#define	ATF_PUBL	0x08		/* Publish entry.  */
++#define	ATF_USETRAILERS	0x10		/* Has requested trailers.  */
++#define ATF_NETMASK     0x20            /* Want to use a netmask (only
++					   for proxy entries).  */
++#define ATF_DONTPUB	0x40		/* Don't answer this addresses.  */
++#define ATF_MAGIC	0x80		/* Automatically added entry.  */
++
++
++/* Support for the user space arp daemon, arpd.  */
++#define ARPD_UPDATE	0x01
++#define ARPD_LOOKUP	0x02
++#define ARPD_FLUSH	0x03
++
++struct arpd_request
++  {
++    unsigned short int req;		/* Request type.  */
++    u_int32_t ip;			/* IP address of entry.  */
++    unsigned long int dev;		/* Device entry is tied to.  */
++    unsigned long int stamp;
++    unsigned long int updated;
++    unsigned char ha[MAX_ADDR_LEN];	/* Hardware address.  */
++  };
++
++__END_DECLS
++
++#endif	/* net/if_arp.h */
+diff --git a/sysdeps/gnu/net/if_ether.h b/sysdeps/gnu/net/if_ether.h
+new file mode 100644
+index 0000000..4f33f3f
+--- /dev/null
++++ b/sysdeps/gnu/net/if_ether.h
+@@ -0,0 +1,116 @@
++/* Copyright (C) 1997,2010 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 Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#ifndef _NET_IF_ETHER_H
++#define _NET_IF_ETHER_H	1
++
++/*
++ *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
++ *	and FCS/CRC (frame check sequence).
++ */
++
++#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
++#define ETH_HLEN	14		/* Total octets in header.	 */
++#define ETH_ZLEN	60		/* Min. octets in frame sans FCS */
++#define ETH_DATA_LEN	1500		/* Max. octets in payload	 */
++#define ETH_FRAME_LEN	1514		/* Max. octets in frame sans FCS */
++#define ETH_FCS_LEN	4		/* Octets in the FCS		 */
++
++/*
++ *	These are the defined Ethernet Protocol ID's.
++ */
++
++#define ETH_P_LOOP	0x0060		/* Ethernet Loopback packet	*/
++#define ETH_P_PUP	0x0200		/* Xerox PUP packet		*/
++#define ETH_P_PUPAT	0x0201		/* Xerox PUP Addr Trans packet	*/
++#define ETH_P_IP	0x0800		/* Internet Protocol packet	*/
++#define ETH_P_X25	0x0805		/* CCITT X.25			*/
++#define ETH_P_ARP	0x0806		/* Address Resolution packet	*/
++#define	ETH_P_BPQ	0x08FF		/* G8BPQ AX.25 Ethernet Packet	[ NOT AN OFFICIALLY REGISTERED ID ] */
++#define ETH_P_IEEEPUP	0x0a00		/* Xerox IEEE802.3 PUP packet */
++#define ETH_P_IEEEPUPAT	0x0a01		/* Xerox IEEE802.3 PUP Addr Trans packet */
++#define ETH_P_DEC       0x6000          /* DEC Assigned proto           */
++#define ETH_P_DNA_DL    0x6001          /* DEC DNA Dump/Load            */
++#define ETH_P_DNA_RC    0x6002          /* DEC DNA Remote Console       */
++#define ETH_P_DNA_RT    0x6003          /* DEC DNA Routing              */
++#define ETH_P_LAT       0x6004          /* DEC LAT                      */
++#define ETH_P_DIAG      0x6005          /* DEC Diagnostics              */
++#define ETH_P_CUST      0x6006          /* DEC Customer use             */
++#define ETH_P_SCA       0x6007          /* DEC Systems Comms Arch       */
++#define ETH_P_RARP      0x8035		/* Reverse Addr Res packet	*/
++#define ETH_P_ATALK	0x809B		/* Appletalk DDP		*/
++#define ETH_P_AARP	0x80F3		/* Appletalk AARP		*/
++#define ETH_P_8021Q	0x8100          /* 802.1Q VLAN Extended Header  */
++#define ETH_P_IPX	0x8137		/* IPX over DIX			*/
++#define ETH_P_IPV6	0x86DD		/* IPv6 over bluebook		*/
++#define ETH_P_PAUSE	0x8808		/* IEEE Pause frames. See 802.3 31B */
++#define ETH_P_SLOW	0x8809		/* Slow Protocol. See 802.3ad 43B */
++#define ETH_P_WCCP	0x883E		/* Web-cache coordination protocol
++					 * defined in draft-wilson-wrec-wccp-v2-00.txt */
++#define ETH_P_PPP_DISC	0x8863		/* PPPoE discovery messages     */
++#define ETH_P_PPP_SES	0x8864		/* PPPoE session messages	*/
++#define ETH_P_MPLS_UC	0x8847		/* MPLS Unicast traffic		*/
++#define ETH_P_MPLS_MC	0x8848		/* MPLS Multicast traffic	*/
++#define ETH_P_ATMMPOA	0x884c		/* MultiProtocol Over ATM	*/
++#define ETH_P_ATMFATE	0x8884		/* Frame-based ATM Transport
++					 * over Ethernet
++					 */
++#define ETH_P_PAE	0x888E		/* Port Access Entity (IEEE 802.1X) */
++#define ETH_P_AOE	0x88A2		/* ATA over Ethernet		*/
++#define ETH_P_TIPC	0x88CA		/* TIPC 			*/
++#define ETH_P_FCOE	0x8906		/* Fibre Channel over Ethernet  */
++#define ETH_P_EDSA	0xDADA		/* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
++
++/*
++ *	Non DIX types. Won't clash for 1500 types.
++ */
++
++#define ETH_P_802_3	0x0001		/* Dummy type for 802.3 frames  */
++#define ETH_P_AX25	0x0002		/* Dummy protocol id for AX.25  */
++#define ETH_P_ALL	0x0003		/* Every packet (be careful!!!) */
++#define ETH_P_802_2	0x0004		/* 802.2 frames 		*/
++#define ETH_P_SNAP	0x0005		/* Internal only		*/
++#define ETH_P_DDCMP     0x0006          /* DEC DDCMP: Internal only     */
++#define ETH_P_WAN_PPP   0x0007          /* Dummy type for WAN PPP frames*/
++#define ETH_P_PPP_MP    0x0008          /* Dummy type for PPP MP frames */
++#define ETH_P_LOCALTALK 0x0009		/* Localtalk pseudo type 	*/
++#define ETH_P_CAN	0x000C		/* Controller Area Network      */
++#define ETH_P_PPPTALK	0x0010		/* Dummy type for Atalk over PPP*/
++#define ETH_P_TR_802_2	0x0011		/* 802.2 frames 		*/
++#define ETH_P_MOBITEX	0x0015		/* Mobitex (kaz@cafe.net)	*/
++#define ETH_P_CONTROL	0x0016		/* Card specific control frames */
++#define ETH_P_IRDA	0x0017		/* Linux-IrDA			*/
++#define ETH_P_ECONET	0x0018		/* Acorn Econet			*/
++#define ETH_P_HDLC	0x0019		/* HDLC frames			*/
++#define ETH_P_ARCNET	0x001A		/* 1A for ArcNet :-)            */
++#define ETH_P_DSA	0x001B		/* Distributed Switch Arch.	*/
++#define ETH_P_TRAILER	0x001C		/* Trailer switch tagging	*/
++#define ETH_P_PHONET	0x00F5		/* Nokia Phonet frames          */
++
++/*
++ *	This is an Ethernet frame header.
++ */
++
++struct ethhdr
++{
++  unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/
++  unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/
++  unsigned short int h_proto;		/* packet type ID field	*/
++} __attribute__((packed));
++
++#endif	/* net/if_ether.h */
+diff --git a/sysdeps/gnu/net/if_ppp.h b/sysdeps/gnu/net/if_ppp.h
+new file mode 100644
+index 0000000..bf5ec83
+--- /dev/null
++++ b/sysdeps/gnu/net/if_ppp.h
+@@ -0,0 +1,169 @@
++/*	From: if_ppp.h,v 1.3 1995/06/12 11:36:50 paulus Exp */
++
++/*
++ * if_ppp.h - Point-to-Point Protocol definitions.
++ *
++ * Copyright (c) 1989 Carnegie Mellon University. 
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. Neither the name of the University nor the names of its contributors
++ *    may be used to endorse or promote products derived from this software
++ *    without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY AND
++ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
++ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY
++ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
++ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
++ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
++ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
++ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++/*
++ *  ==FILEVERSION 960926==
++ *
++ *  NOTE TO MAINTAINERS:
++ *     If you modify this file at all, please set the above date.
++ *     if_ppp.h is shipped with a PPP distribution as well as with the kernel;
++ *     if everyone increases the FILEVERSION number above, then scripts
++ *     can do the right thing when deciding whether to install a new if_ppp.h
++ *     file.  Don't change the format of that line otherwise, so the
++ *     installation script can recognize it.
++ */
++
++
++#ifndef __NET_IF_PPP_H
++#define __NET_IF_PPP_H 1
++
++#include <sys/types.h>
++#include <sys/cdefs.h>
++
++#include <net/if.h>
++#include <sys/ioctl.h>
++#include <net/ppp_defs.h>
++
++__BEGIN_DECLS
++
++/*
++ * Packet sizes
++ */
++
++#define	PPP_MTU		1500	/* Default MTU (size of Info field) */
++#define PPP_MAXMRU	65000	/* Largest MRU we allow */
++#define PPP_VERSION	"2.2.0"
++#define PPP_MAGIC	0x5002	/* Magic value for the ppp structure */
++#define PROTO_IPX	0x002b	/* protocol numbers */
++#define PROTO_DNA_RT    0x0027  /* DNA Routing */
++
++
++/*
++ * Bit definitions for flags.
++ */
++
++#define SC_COMP_PROT	0x00000001	/* protocol compression (output) */
++#define SC_COMP_AC	0x00000002	/* header compression (output) */
++#define	SC_COMP_TCP	0x00000004	/* TCP (VJ) compression (output) */
++#define SC_NO_TCP_CCID	0x00000008	/* disable VJ connection-id comp. */
++#define SC_REJ_COMP_AC	0x00000010	/* reject adrs/ctrl comp. on input */
++#define SC_REJ_COMP_TCP	0x00000020	/* reject TCP (VJ) comp. on input */
++#define SC_CCP_OPEN	0x00000040	/* Look at CCP packets */
++#define SC_CCP_UP	0x00000080	/* May send/recv compressed packets */
++#define SC_ENABLE_IP	0x00000100	/* IP packets may be exchanged */
++#define SC_COMP_RUN	0x00001000	/* compressor has been inited */
++#define SC_DECOMP_RUN	0x00002000	/* decompressor has been inited */
++#define SC_DEBUG	0x00010000	/* enable debug messages */
++#define SC_LOG_INPKT	0x00020000	/* log contents of good pkts recvd */
++#define SC_LOG_OUTPKT	0x00040000	/* log contents of pkts sent */
++#define SC_LOG_RAWIN	0x00080000	/* log all chars received */
++#define SC_LOG_FLUSH	0x00100000	/* log all chars flushed */
++#define	SC_MASK		0x0fE0ffff	/* bits that user can change */
++
++/* state bits */
++#define	SC_ESCAPED	0x80000000	/* saw a PPP_ESCAPE */
++#define	SC_FLUSH	0x40000000	/* flush input until next PPP_FLAG */
++#define SC_VJ_RESET	0x20000000	/* Need to reset the VJ decompressor */
++#define SC_XMIT_BUSY	0x10000000	/* ppp_write_wakeup is active */
++#define SC_RCV_ODDP	0x08000000	/* have rcvd char with odd parity */
++#define SC_RCV_EVNP	0x04000000	/* have rcvd char with even parity */
++#define SC_RCV_B7_1	0x02000000	/* have rcvd char with bit 7 = 1 */
++#define SC_RCV_B7_0	0x01000000	/* have rcvd char with bit 7 = 0 */
++#define SC_DC_FERROR	0x00800000	/* fatal decomp error detected */
++#define SC_DC_ERROR	0x00400000	/* non-fatal decomp error detected */
++
++/*
++ * Ioctl definitions.
++ */
++
++struct npioctl {
++    int		protocol;	/* PPP protocol, e.g. PPP_IP */
++    enum NPmode	mode;
++};
++
++/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
++struct ppp_option_data {
++	u_int8_t  *ptr;
++	u_int32_t length;
++	int	  transmit;
++};
++
++struct ifpppstatsreq {
++  struct ifreq	   b;
++  struct ppp_stats stats;			/* statistic information */
++};
++
++struct ifpppcstatsreq {
++  struct ifreq		b;
++  struct ppp_comp_stats stats;
++};
++
++#define ifr__name       b.ifr_ifrn.ifrn_name
++#define stats_ptr       b.ifr_ifru.ifru_data
++
++/*
++ * Ioctl definitions.
++ */
++
++#define	PPPIOCGFLAGS	_IOR('t', 90, int)	/* get configuration flags */
++#define	PPPIOCSFLAGS	_IOW('t', 89, int)	/* set configuration flags */
++#define	PPPIOCGASYNCMAP	_IOR('t', 88, int)	/* get async map */
++#define	PPPIOCSASYNCMAP	_IOW('t', 87, int)	/* set async map */
++#define	PPPIOCGUNIT	_IOR('t', 86, int)	/* get ppp unit number */
++#define	PPPIOCGRASYNCMAP _IOR('t', 85, int)	/* get receive async map */
++#define	PPPIOCSRASYNCMAP _IOW('t', 84, int)	/* set receive async map */
++#define	PPPIOCGMRU	_IOR('t', 83, int)	/* get max receive unit */
++#define	PPPIOCSMRU	_IOW('t', 82, int)	/* set max receive unit */
++#define	PPPIOCSMAXCID	_IOW('t', 81, int)	/* set VJ max slot ID */
++#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
++#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
++#define PPPIOCXFERUNIT	_IO('t', 78)		/* transfer PPP unit */
++#define PPPIOCSCOMPRESS	_IOW('t', 77, struct ppp_option_data)
++#define PPPIOCGNPMODE	_IOWR('t', 76, struct npioctl) /* get NP mode */
++#define PPPIOCSNPMODE	_IOW('t', 75, struct npioctl)  /* set NP mode */
++#define PPPIOCGDEBUG	_IOR('t', 65, int)	/* Read debug level */
++#define PPPIOCSDEBUG	_IOW('t', 64, int)	/* Set debug level */
++#define PPPIOCGIDLE	_IOR('t', 63, struct ppp_idle) /* get idle time */
++
++#define SIOCGPPPSTATS   (SIOCDEVPRIVATE + 0)
++#define SIOCGPPPVER     (SIOCDEVPRIVATE + 1)  /* NEVER change this!! */
++#define SIOCGPPPCSTATS  (SIOCDEVPRIVATE + 2)
++
++#if !defined(ifr_mtu)
++#define ifr_mtu	ifr_ifru.ifru_metric
++#endif
++
++__END_DECLS
++
++#endif /* net/if_ppp.h */
+diff --git a/sysdeps/gnu/net/route.h b/sysdeps/gnu/net/route.h
+new file mode 100644
+index 0000000..da5c810
+--- /dev/null
++++ b/sysdeps/gnu/net/route.h
+@@ -0,0 +1,145 @@
++/* Copyright (C) 1997, 2002 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 Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++/* Based on the 4.4BSD and Linux version of this file.  */
++
++#ifndef _NET_ROUTE_H
++#define _NET_ROUTE_H	1
++
++#include <features.h>
++#include <sys/socket.h>
++#include <sys/types.h>
++#include <netinet/in.h>
++#include <bits/wordsize.h>
++
++
++/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
++struct rtentry
++  {
++    unsigned long int rt_pad1;
++    struct sockaddr rt_dst;		/* Target address.  */
++    struct sockaddr rt_gateway;		/* Gateway addr (RTF_GATEWAY).  */
++    struct sockaddr rt_genmask;		/* Target network mask (IP).  */
++    unsigned short int rt_flags;
++    short int rt_pad2;
++    unsigned long int rt_pad3;
++    unsigned char rt_tos;
++    unsigned char rt_class;
++#if __WORDSIZE == 64
++    short int rt_pad4[3];
++#else
++    short int rt_pad4;
++#endif
++    short int rt_metric;		/* +1 for binary compatibility!  */
++    char *rt_dev;			/* Forcing the device at add.  */
++    unsigned long int rt_mtu;		/* Per route MTU/Window.  */
++    unsigned long int rt_window;	/* Window clamping.  */
++    unsigned short int rt_irtt;		/* Initial RTT.  */
++  };
++/* Compatibility hack.  */
++#define rt_mss	rt_mtu
++
++
++struct in6_rtmsg
++  {
++    struct in6_addr rtmsg_dst;
++    struct in6_addr rtmsg_src;
++    struct in6_addr rtmsg_gateway;
++    u_int32_t rtmsg_type;
++    u_int16_t rtmsg_dst_len;
++    u_int16_t rtmsg_src_len;
++    u_int32_t rtmsg_metric;
++    unsigned long int rtmsg_info;
++    u_int32_t rtmsg_flags;
++    int rtmsg_ifindex;
++  };
++
++
++#define	RTF_UP		0x0001		/* Route usable.  */
++#define	RTF_GATEWAY	0x0002		/* Destination is a gateway.  */
++
++#define	RTF_HOST	0x0004		/* Host entry (net otherwise).  */
++#define RTF_REINSTATE	0x0008		/* Reinstate route after timeout.  */
++#define	RTF_DYNAMIC	0x0010		/* Created dyn. (by redirect).  */
++#define	RTF_MODIFIED	0x0020		/* Modified dyn. (by redirect).  */
++#define RTF_MTU		0x0040		/* Specific MTU for this route.  */
++#define RTF_MSS		RTF_MTU		/* Compatibility.  */
++#define RTF_WINDOW	0x0080		/* Per route window clamping.  */
++#define RTF_IRTT	0x0100		/* Initial round trip time.  */
++#define RTF_REJECT	0x0200		/* Reject route.  */
++#define	RTF_STATIC	0x0400		/* Manually injected route.  */
++#define	RTF_XRESOLVE	0x0800		/* External resolver.  */
++#define RTF_NOFORWARD   0x1000		/* Forwarding inhibited.  */
++#define RTF_THROW	0x2000		/* Go to next class.  */
++#define RTF_NOPMTUDISC  0x4000		/* Do not send packets with DF.  */
++
++/* for IPv6 */
++#define RTF_DEFAULT	0x00010000	/* default - learned via ND	*/
++#define RTF_ALLONLINK	0x00020000	/* fallback, no routers on link	*/
++#define RTF_ADDRCONF	0x00040000	/* addrconf route - RA		*/
++
++#define RTF_LINKRT	0x00100000	/* link specific - device match	*/
++#define RTF_NONEXTHOP	0x00200000	/* route with no nexthop	*/
++
++#define RTF_CACHE	0x01000000	/* cache entry			*/
++#define RTF_FLOW	0x02000000	/* flow significant route	*/
++#define RTF_POLICY	0x04000000	/* policy route			*/
++
++#define RTCF_VALVE	0x00200000
++#define RTCF_MASQ	0x00400000
++#define RTCF_NAT	0x00800000
++#define RTCF_DOREDIRECT 0x01000000
++#define RTCF_LOG	0x02000000
++#define RTCF_DIRECTSRC	0x04000000
++
++#define RTF_LOCAL	0x80000000
++#define RTF_INTERFACE	0x40000000
++#define RTF_MULTICAST	0x20000000
++#define RTF_BROADCAST	0x10000000
++#define RTF_NAT		0x08000000
++
++#define RTF_ADDRCLASSMASK	0xF8000000
++#define RT_ADDRCLASS(flags)	((__u_int32_t) flags >> 23)
++
++#define RT_TOS(tos)		((tos) & IPTOS_TOS_MASK)
++
++#define RT_LOCALADDR(flags)	((flags & RTF_ADDRCLASSMASK) \
++				 == (RTF_LOCAL|RTF_INTERFACE))
++
++#define RT_CLASS_UNSPEC		0
++#define RT_CLASS_DEFAULT	253
++
++#define RT_CLASS_MAIN		254
++#define RT_CLASS_LOCAL		255
++#define RT_CLASS_MAX		255
++
++
++#define RTMSG_ACK		NLMSG_ACK
++#define RTMSG_OVERRUN		NLMSG_OVERRUN
++
++#define RTMSG_NEWDEVICE		0x11
++#define RTMSG_DELDEVICE		0x12
++#define RTMSG_NEWROUTE		0x21
++#define RTMSG_DELROUTE		0x22
++#define RTMSG_NEWRULE		0x31
++#define RTMSG_DELRULE		0x32
++#define RTMSG_CONTROL		0x40
++
++#define RTMSG_AR_FAILED		0x51	/* Address Resolution failed.  */
++
++#endif /* net/route.h */
+diff --git a/sysdeps/gnu/netinet/if_ether.h b/sysdeps/gnu/netinet/if_ether.h
+new file mode 100644
+index 0000000..47278a3
+--- /dev/null
++++ b/sysdeps/gnu/netinet/if_ether.h
+@@ -0,0 +1,104 @@
++/* Copyright (C) 1996, 1997, 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 Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#ifndef __NETINET_IF_ETHER_H
++
++#define __NETINET_IF_ETHER_H	1
++#include <features.h>
++#include <sys/types.h>
++
++#include <net/if_ether.h>
++
++#ifdef __USE_BSD
++/*
++ * Copyright (c) 1982, 1986, 1993
++ *	The Regents of the University of California.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 4. Neither the name of the University nor the names of its contributors
++ *    may be used to endorse or promote products derived from this software
++ *    without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ *	@(#)if_ether.h	8.3 (Berkeley) 5/2/95
++ *	$FreeBSD$
++ */
++
++#include <net/ethernet.h>
++#include <net/if_arp.h>
++
++__BEGIN_DECLS
++/*
++ * Ethernet Address Resolution Protocol.
++ *
++ * See RFC 826 for protocol description.  Structure below is adapted
++ * to resolving internet addresses.  Field names used correspond to
++ * RFC 826.
++ */
++struct	ether_arp {
++	struct	arphdr ea_hdr;		/* fixed-size header */
++	u_int8_t arp_sha[ETH_ALEN];	/* sender hardware address */
++	u_int8_t arp_spa[4];		/* sender protocol address */
++	u_int8_t arp_tha[ETH_ALEN];	/* target hardware address */
++	u_int8_t arp_tpa[4];		/* target protocol address */
++};
++#define	arp_hrd	ea_hdr.ar_hrd
++#define	arp_pro	ea_hdr.ar_pro
++#define	arp_hln	ea_hdr.ar_hln
++#define	arp_pln	ea_hdr.ar_pln
++#define	arp_op	ea_hdr.ar_op
++
++/*
++ * Macro to map an IP multicast address to an Ethernet multicast address.
++ * The high-order 25 bits of the Ethernet address are statically assigned,
++ * and the low-order 23 bits are taken from the low end of the IP address.
++ */
++#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \
++	/* struct in_addr *ipaddr; */ \
++	/* u_char enaddr[ETH_ALEN];	   */ \
++{ \
++	(enaddr)[0] = 0x01; \
++	(enaddr)[1] = 0x00; \
++	(enaddr)[2] = 0x5e; \
++	(enaddr)[3] = ((u_int8_t *)ipaddr)[1] & 0x7f; \
++	(enaddr)[4] = ((u_int8_t *)ipaddr)[2]; \
++	(enaddr)[5] = ((u_int8_t *)ipaddr)[3]; \
++}
++
++__END_DECLS
++#endif /* __USE_BSD */
++
++#endif /* netinet/if_ether.h */
+diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
+index 95d7ba3..7e6e86a 100644
+--- a/sysdeps/mach/hurd/Makefile
++++ b/sysdeps/mach/hurd/Makefile
+@@ -206,11 +206,6 @@ ifeq ($(subdir),sunrpc)
+ sysdep_headers += nfs/nfs.h
+ endif
+ 
+-ifeq ($(subdir),socket)
+-sysdep_headers += net/ethernet.h net/if_arp.h net/if_ether.h net/if_ppp.h \
+-		  net/route.h
+-endif
+-
+ ifeq ($(subdir),csu)
+ routines += unwind-resume
+ shared-only-routines += unwind-resume
+diff --git a/sysdeps/mach/hurd/net/ethernet.h b/sysdeps/mach/hurd/net/ethernet.h
+deleted file mode 100644
+index 2c524dc..0000000
+--- a/sysdeps/mach/hurd/net/ethernet.h
++++ /dev/null
+@@ -1,76 +0,0 @@
+-/* Copyright (C) 1997 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 Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-/* Based on the FreeBSD version of this file. Curiously, that file
+-   lacks a copyright in the header. */
+-
+-#ifndef __NET_ETHERNET_H
+-#define __NET_ETHERNET_H 1
+-
+-#include <sys/cdefs.h>
+-#include <sys/types.h>
+-#include <net/if_ether.h>     /* IEEE 802.3 Ethernet constants */
+-
+-__BEGIN_DECLS
+-
+-/* This is a name for the 48 bit ethernet address available on many
+-   systems.  */
+-struct ether_addr
+-{
+-  u_int8_t ether_addr_octet[ETH_ALEN];
+-};
+-
+-/* 10Mb/s ethernet header */
+-struct ether_header
+-{
+-  u_int8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
+-  u_int8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
+-  u_int16_t ether_type;		        /* packet type ID field	*/
+-};
+-
+-/* Ethernet protocol ID's */
+-#define	ETHERTYPE_PUP		0x0200          /* Xerox PUP */
+-#define	ETHERTYPE_IP		0x0800		/* IP */
+-#define	ETHERTYPE_ARP		0x0806		/* Address resolution */
+-#define	ETHERTYPE_REVARP	0x8035		/* Reverse ARP */
+-
+-#define	ETHER_ADDR_LEN	ETH_ALEN                 /* size of ethernet addr */
+-#define	ETHER_TYPE_LEN	2                        /* bytes in type field */
+-#define	ETHER_CRC_LEN	4                        /* bytes in CRC field */
+-#define	ETHER_HDR_LEN	ETH_HLEN                 /* total octets in header */
+-#define	ETHER_MIN_LEN	(ETH_ZLEN + ETH_CRC_LEN) /* min packet length */
+-#define	ETHER_MAX_LEN	(ETH_FRAME_LEN + ETH_CRC_LEN) /* max packet length */
+-
+-/* make sure ethenet length is valid */
+-#define	ETHER_IS_VALID_LEN(foo)	\
+-	((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
+-
+-/*
+- * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
+- * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
+- * by an ETHER type (as given above) and then the (variable-length) header.
+- */
+-#define	ETHERTYPE_TRAIL		0x1000		/* Trailer packet */
+-#define	ETHERTYPE_NTRAILER	16
+-
+-#define	ETHERMTU	ETH_DATA_LEN
+-#define	ETHERMIN	(ETHER_MIN_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN)
+-
+-__END_DECLS
+-
+-#endif /* net/ethernet.h */
+diff --git a/sysdeps/mach/hurd/net/if_arp.h b/sysdeps/mach/hurd/net/if_arp.h
+deleted file mode 100644
+index c0153c9..0000000
+--- a/sysdeps/mach/hurd/net/if_arp.h
++++ /dev/null
+@@ -1,145 +0,0 @@
+-/* Definitions for Address Resolution Protocol.
+-   Copyright (C) 1997 Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+-
+-   The GNU C Library is free software; you can redistribute it and/or
+-   modify it under the terms of the GNU Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-/* Based on the 4.4BSD and Linux version of this file.  */
+-
+-#ifndef _NET_IF_ARP_H
+-
+-#define _NET_IF_ARP_H 1
+-#include <sys/cdefs.h>
+-
+-#include <sys/types.h>
+-#include <sys/socket.h>
+-
+-__BEGIN_DECLS
+-
+-/* Some internals from deep down in the kernel.  */
+-#define MAX_ADDR_LEN	7
+-
+-
+-/* This structure defines an ethernet arp header.  */
+-
+-/* ARP protocol opcodes. */
+-#define	ARPOP_REQUEST	1		/* ARP request.  */
+-#define	ARPOP_REPLY	2		/* ARP reply.  */
+-#define	ARPOP_RREQUEST	3		/* RARP request.  */
+-#define	ARPOP_RREPLY	4		/* RARP reply.  */
+-
+-/* See RFC 826 for protocol description.  ARP packets are variable
+-   in size; the arphdr structure defines the fixed-length portion.
+-   Protocol type values are the same as those for 10 Mb/s Ethernet.
+-   It is followed by the variable-sized fields ar_sha, arp_spa,
+-   arp_tha and arp_tpa in that order, according to the lengths
+-   specified.  Field names used correspond to RFC 826.  */
+-
+-struct arphdr
+-  {
+-    unsigned short int ar_hrd;		/* Format of hardware address.  */
+-    unsigned short int ar_pro;		/* Format of protocol address.  */
+-    unsigned char ar_hln;		/* Length of hardware address.  */
+-    unsigned char ar_pln;		/* Length of protocol address.  */
+-    unsigned short int ar_op;		/* ARP opcode (command).  */
+-#if 0
+-    /* Ethernet looks like this : This bit is variable sized
+-       however...  */
+-    unsigned char __ar_sha[ETH_ALEN];	/* Sender hardware address.  */
+-    unsigned char __ar_sip[4];		/* Sender IP address.  */
+-    unsigned char __ar_tha[ETH_ALEN];	/* Target hardware address.  */
+-    unsigned char __ar_tip[4];		/* Target IP address.  */
+-#endif
+-  };
+-
+-
+-/* ARP protocol HARDWARE identifiers. */
+-#define ARPHRD_NETROM	0		/* From KA9Q: NET/ROM pseudo. */
+-#define ARPHRD_ETHER 	1		/* Ethernet 10Mbps.  */
+-#define	ARPHRD_EETHER	2		/* Experimental Ethernet.  */
+-#define	ARPHRD_AX25	3		/* AX.25 Level 2.  */
+-#define	ARPHRD_PRONET	4		/* PROnet token ring.  */
+-#define	ARPHRD_CHAOS	5		/* Chaosnet.  */
+-#define	ARPHRD_IEEE802	6		/* IEEE 802.2 Ethernet/TR/TB.  */
+-#define	ARPHRD_ARCNET	7		/* ARCnet.  */
+-#define	ARPHRD_APPLETLK	8		/* APPLEtalk.  */
+-#define ARPHRD_DLCI	15		/* Frame Relay DLCI.  */
+-#define ARPHRD_METRICOM	23		/* Metricom STRIP (new IANA id).  */
+-
+-/* Dummy types for non ARP hardware */
+-#define ARPHRD_SLIP	256
+-#define ARPHRD_CSLIP	257
+-#define ARPHRD_SLIP6	258
+-#define ARPHRD_CSLIP6	259
+-#define ARPHRD_RSRVD	260		/* Notional KISS type.  */
+-#define ARPHRD_ADAPT	264
+-#define ARPHRD_ROSE	270
+-#define ARPHRD_X25	271		/* CCITT X.25.  */
+-#define ARPHRD_PPP	512
+-#define ARPHRD_HDLC	513		/* (Cisco) HDLC.  */
+-#define ARPHRD_LAPB	516		/* LAPB.  */
+-
+-#define ARPHRD_TUNNEL	768		/* IPIP tunnel.  */
+-#define ARPHRD_TUNNEL6	769		/* IPIP6 tunnel.  */
+-#define ARPHRD_FRAD	770             /* Frame Relay Access Device.  */
+-#define ARPHRD_SKIP	771		/* SKIP vif.  */
+-#define ARPHRD_LOOPBACK	772		/* Loopback device.  */
+-#define ARPHRD_LOCALTLK 773		/* Localtalk device.  */
+-#define ARPHRD_FDDI	774		/* Fiber Distributed Data Interface. */
+-#define ARPHRD_BIF      775             /* AP1000 BIF.  */
+-#define ARPHRD_SIT	776		/* sit0 device - IPv6-in-IPv4.  */
+-
+-
+-/* ARP ioctl request.  */
+-struct arpreq
+-  {
+-    struct sockaddr arp_pa;		/* Protocol address.  */
+-    struct sockaddr arp_ha;		/* Hardware address.  */
+-    int arp_flags;			/* Flags.  */
+-    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
+-    char arp_dev[16];
+-  };
+-
+-/* ARP Flag values.  */
+-#define ATF_COM		0x02		/* Completed entry (ha valid).  */
+-#define	ATF_PERM	0x04		/* Permanent entry.  */
+-#define	ATF_PUBL	0x08		/* Publish entry.  */
+-#define	ATF_USETRAILERS	0x10		/* Has requested trailers.  */
+-#define ATF_NETMASK     0x20            /* Want to use a netmask (only
+-					   for proxy entries).  */
+-#define ATF_DONTPUB	0x40		/* Don't answer this addresses.  */
+-#define ATF_MAGIC	0x80		/* Automatically added entry.  */
+-
+-
+-/* Support for the user space arp daemon, arpd.  */
+-#define ARPD_UPDATE	0x01
+-#define ARPD_LOOKUP	0x02
+-#define ARPD_FLUSH	0x03
+-
+-struct arpd_request
+-  {
+-    unsigned short int req;		/* Request type.  */
+-    u_int32_t ip;			/* IP address of entry.  */
+-    unsigned long int dev;		/* Device entry is tied to.  */
+-    unsigned long int stamp;
+-    unsigned long int updated;
+-    unsigned char ha[MAX_ADDR_LEN];	/* Hardware address.  */
+-  };
+-
+-__END_DECLS
+-
+-#endif	/* net/if_arp.h */
+diff --git a/sysdeps/mach/hurd/net/if_ether.h b/sysdeps/mach/hurd/net/if_ether.h
+deleted file mode 100644
+index 36300cb..0000000
+--- a/sysdeps/mach/hurd/net/if_ether.h
++++ /dev/null
+@@ -1,85 +0,0 @@
+-/* Copyright (C) 1997 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 Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-#ifndef _NET_IF_ETHER_H
+-#define _NET_IF_ETHER_H	1
+-
+-/*
+- *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
+- *	and FCS/CRC (frame check sequence).
+- */
+-
+-#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
+-#define ETH_HLEN	14		/* Total octets in header.	 */
+-#define ETH_ZLEN	60		/* Min. octets in frame sans FCS */
+-#define ETH_DATA_LEN	1500		/* Max. octets in payload	 */
+-#define ETH_FRAME_LEN	1514		/* Max. octets in frame sans FCS */
+-
+-/*
+- *	These are the defined Ethernet Protocol ID's.
+- */
+-
+-#define ETH_P_LOOP	0x0060		/* Ethernet Loopback packet	*/
+-#define ETH_P_ECHO	0x0200		/* Ethernet Echo packet		*/
+-#define ETH_P_PUP	0x0400		/* Xerox PUP packet		*/
+-#define ETH_P_IP	0x0800		/* Internet Protocol packet	*/
+-#define ETH_P_X25	0x0805		/* CCITT X.25			*/
+-#define ETH_P_ARP	0x0806		/* Address Resolution packet	*/
+-#define	ETH_P_BPQ	0x08FF		/* G8BPQ AX.25 Ethernet Packet	[ NOT AN OFFICIALLY REGISTERED ID ] */
+-#define ETH_P_DEC       0x6000          /* DEC Assigned proto           */
+-#define ETH_P_DNA_DL    0x6001          /* DEC DNA Dump/Load            */
+-#define ETH_P_DNA_RC    0x6002          /* DEC DNA Remote Console       */
+-#define ETH_P_DNA_RT    0x6003          /* DEC DNA Routing              */
+-#define ETH_P_LAT       0x6004          /* DEC LAT                      */
+-#define ETH_P_DIAG      0x6005          /* DEC Diagnostics              */
+-#define ETH_P_CUST      0x6006          /* DEC Customer use             */
+-#define ETH_P_SCA       0x6007          /* DEC Systems Comms Arch       */
+-#define ETH_P_RARP      0x8035		/* Reverse Addr Res packet	*/
+-#define ETH_P_ATALK	0x809B		/* Appletalk DDP		*/
+-#define ETH_P_AARP	0x80F3		/* Appletalk AARP		*/
+-#define ETH_P_IPX	0x8137		/* IPX over DIX			*/
+-#define ETH_P_IPV6	0x86DD		/* IPv6 over bluebook		*/
+-
+-/*
+- *	Non DIX types. Won't clash for 1500 types.
+- */
+-
+-#define ETH_P_802_3	0x0001		/* Dummy type for 802.3 frames  */
+-#define ETH_P_AX25	0x0002		/* Dummy protocol id for AX.25  */
+-#define ETH_P_ALL	0x0003		/* Every packet (be careful!!!) */
+-#define ETH_P_802_2	0x0004		/* 802.2 frames 		*/
+-#define ETH_P_SNAP	0x0005		/* Internal only		*/
+-#define ETH_P_DDCMP     0x0006          /* DEC DDCMP: Internal only     */
+-#define ETH_P_WAN_PPP   0x0007          /* Dummy type for WAN PPP frames*/
+-#define ETH_P_PPP_MP    0x0008          /* Dummy type for PPP MP frames */
+-#define ETH_P_LOCALTALK 0x0009		/* Localtalk pseudo type 	*/
+-#define ETH_P_PPPTALK	0x0010		/* Dummy type for Atalk over PPP*/
+-#define ETH_P_TR_802_2	0x0011		/* 802.2 frames 		*/
+-
+-/*
+- *	This is an Ethernet frame header.
+- */
+-
+-struct ethhdr
+-{
+-  unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/
+-  unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/
+-  unsigned short int h_proto;		/* packet type ID field	*/
+-};
+-
+-#endif	/* net/if_ether.h */
+diff --git a/sysdeps/mach/hurd/net/if_ppp.h b/sysdeps/mach/hurd/net/if_ppp.h
+deleted file mode 100644
+index bf5ec83..0000000
+--- a/sysdeps/mach/hurd/net/if_ppp.h
++++ /dev/null
+@@ -1,169 +0,0 @@
+-/*	From: if_ppp.h,v 1.3 1995/06/12 11:36:50 paulus Exp */
+-
+-/*
+- * if_ppp.h - Point-to-Point Protocol definitions.
+- *
+- * Copyright (c) 1989 Carnegie Mellon University. 
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions
+- * are met:
+- * 1. Redistributions of source code must retain the above copyright
+- *    notice, this list of conditions and the following disclaimer.
+- * 2. Redistributions in binary form must reproduce the above copyright
+- *    notice, this list of conditions and the following disclaimer in the
+- *    documentation and/or other materials provided with the distribution.
+- * 3. Neither the name of the University nor the names of its contributors
+- *    may be used to endorse or promote products derived from this software
+- *    without specific prior written permission.
+- *
+- * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY AND
+- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+- * IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY
+- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+- * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+- *
+- */
+-
+-/*
+- *  ==FILEVERSION 960926==
+- *
+- *  NOTE TO MAINTAINERS:
+- *     If you modify this file at all, please set the above date.
+- *     if_ppp.h is shipped with a PPP distribution as well as with the kernel;
+- *     if everyone increases the FILEVERSION number above, then scripts
+- *     can do the right thing when deciding whether to install a new if_ppp.h
+- *     file.  Don't change the format of that line otherwise, so the
+- *     installation script can recognize it.
+- */
+-
+-
+-#ifndef __NET_IF_PPP_H
+-#define __NET_IF_PPP_H 1
+-
+-#include <sys/types.h>
+-#include <sys/cdefs.h>
+-
+-#include <net/if.h>
+-#include <sys/ioctl.h>
+-#include <net/ppp_defs.h>
+-
+-__BEGIN_DECLS
+-
+-/*
+- * Packet sizes
+- */
+-
+-#define	PPP_MTU		1500	/* Default MTU (size of Info field) */
+-#define PPP_MAXMRU	65000	/* Largest MRU we allow */
+-#define PPP_VERSION	"2.2.0"
+-#define PPP_MAGIC	0x5002	/* Magic value for the ppp structure */
+-#define PROTO_IPX	0x002b	/* protocol numbers */
+-#define PROTO_DNA_RT    0x0027  /* DNA Routing */
+-
+-
+-/*
+- * Bit definitions for flags.
+- */
+-
+-#define SC_COMP_PROT	0x00000001	/* protocol compression (output) */
+-#define SC_COMP_AC	0x00000002	/* header compression (output) */
+-#define	SC_COMP_TCP	0x00000004	/* TCP (VJ) compression (output) */
+-#define SC_NO_TCP_CCID	0x00000008	/* disable VJ connection-id comp. */
+-#define SC_REJ_COMP_AC	0x00000010	/* reject adrs/ctrl comp. on input */
+-#define SC_REJ_COMP_TCP	0x00000020	/* reject TCP (VJ) comp. on input */
+-#define SC_CCP_OPEN	0x00000040	/* Look at CCP packets */
+-#define SC_CCP_UP	0x00000080	/* May send/recv compressed packets */
+-#define SC_ENABLE_IP	0x00000100	/* IP packets may be exchanged */
+-#define SC_COMP_RUN	0x00001000	/* compressor has been inited */
+-#define SC_DECOMP_RUN	0x00002000	/* decompressor has been inited */
+-#define SC_DEBUG	0x00010000	/* enable debug messages */
+-#define SC_LOG_INPKT	0x00020000	/* log contents of good pkts recvd */
+-#define SC_LOG_OUTPKT	0x00040000	/* log contents of pkts sent */
+-#define SC_LOG_RAWIN	0x00080000	/* log all chars received */
+-#define SC_LOG_FLUSH	0x00100000	/* log all chars flushed */
+-#define	SC_MASK		0x0fE0ffff	/* bits that user can change */
+-
+-/* state bits */
+-#define	SC_ESCAPED	0x80000000	/* saw a PPP_ESCAPE */
+-#define	SC_FLUSH	0x40000000	/* flush input until next PPP_FLAG */
+-#define SC_VJ_RESET	0x20000000	/* Need to reset the VJ decompressor */
+-#define SC_XMIT_BUSY	0x10000000	/* ppp_write_wakeup is active */
+-#define SC_RCV_ODDP	0x08000000	/* have rcvd char with odd parity */
+-#define SC_RCV_EVNP	0x04000000	/* have rcvd char with even parity */
+-#define SC_RCV_B7_1	0x02000000	/* have rcvd char with bit 7 = 1 */
+-#define SC_RCV_B7_0	0x01000000	/* have rcvd char with bit 7 = 0 */
+-#define SC_DC_FERROR	0x00800000	/* fatal decomp error detected */
+-#define SC_DC_ERROR	0x00400000	/* non-fatal decomp error detected */
+-
+-/*
+- * Ioctl definitions.
+- */
+-
+-struct npioctl {
+-    int		protocol;	/* PPP protocol, e.g. PPP_IP */
+-    enum NPmode	mode;
+-};
+-
+-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
+-struct ppp_option_data {
+-	u_int8_t  *ptr;
+-	u_int32_t length;
+-	int	  transmit;
+-};
+-
+-struct ifpppstatsreq {
+-  struct ifreq	   b;
+-  struct ppp_stats stats;			/* statistic information */
+-};
+-
+-struct ifpppcstatsreq {
+-  struct ifreq		b;
+-  struct ppp_comp_stats stats;
+-};
+-
+-#define ifr__name       b.ifr_ifrn.ifrn_name
+-#define stats_ptr       b.ifr_ifru.ifru_data
+-
+-/*
+- * Ioctl definitions.
+- */
+-
+-#define	PPPIOCGFLAGS	_IOR('t', 90, int)	/* get configuration flags */
+-#define	PPPIOCSFLAGS	_IOW('t', 89, int)	/* set configuration flags */
+-#define	PPPIOCGASYNCMAP	_IOR('t', 88, int)	/* get async map */
+-#define	PPPIOCSASYNCMAP	_IOW('t', 87, int)	/* set async map */
+-#define	PPPIOCGUNIT	_IOR('t', 86, int)	/* get ppp unit number */
+-#define	PPPIOCGRASYNCMAP _IOR('t', 85, int)	/* get receive async map */
+-#define	PPPIOCSRASYNCMAP _IOW('t', 84, int)	/* set receive async map */
+-#define	PPPIOCGMRU	_IOR('t', 83, int)	/* get max receive unit */
+-#define	PPPIOCSMRU	_IOW('t', 82, int)	/* set max receive unit */
+-#define	PPPIOCSMAXCID	_IOW('t', 81, int)	/* set VJ max slot ID */
+-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
+-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
+-#define PPPIOCXFERUNIT	_IO('t', 78)		/* transfer PPP unit */
+-#define PPPIOCSCOMPRESS	_IOW('t', 77, struct ppp_option_data)
+-#define PPPIOCGNPMODE	_IOWR('t', 76, struct npioctl) /* get NP mode */
+-#define PPPIOCSNPMODE	_IOW('t', 75, struct npioctl)  /* set NP mode */
+-#define PPPIOCGDEBUG	_IOR('t', 65, int)	/* Read debug level */
+-#define PPPIOCSDEBUG	_IOW('t', 64, int)	/* Set debug level */
+-#define PPPIOCGIDLE	_IOR('t', 63, struct ppp_idle) /* get idle time */
+-
+-#define SIOCGPPPSTATS   (SIOCDEVPRIVATE + 0)
+-#define SIOCGPPPVER     (SIOCDEVPRIVATE + 1)  /* NEVER change this!! */
+-#define SIOCGPPPCSTATS  (SIOCDEVPRIVATE + 2)
+-
+-#if !defined(ifr_mtu)
+-#define ifr_mtu	ifr_ifru.ifru_metric
+-#endif
+-
+-__END_DECLS
+-
+-#endif /* net/if_ppp.h */
+diff --git a/sysdeps/mach/hurd/net/route.h b/sysdeps/mach/hurd/net/route.h
+deleted file mode 100644
+index 7b67461..0000000
+--- a/sysdeps/mach/hurd/net/route.h
++++ /dev/null
+@@ -1,141 +0,0 @@
+-/* Copyright (C) 1997 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 Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-/* Based on the 4.4BSD and Linux version of this file.  */
+-
+-#ifndef _NET_ROUTE_H
+-
+-#define _NET_ROUTE_H	1
+-#include <features.h>
+-
+-#include <sys/socket.h>
+-#include <sys/types.h>
+-#include <netinet/in.h>
+-
+-
+-/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
+-struct rtentry
+-  {
+-    unsigned long int rt_pad1;
+-    struct sockaddr rt_dst;		/* Target address.  */
+-    struct sockaddr rt_gateway;		/* Gateway addr (RTF_GATEWAY).  */
+-    struct sockaddr rt_genmask;		/* Target network mask (IP).  */
+-    unsigned short int rt_flags;
+-    short int rt_pad2;
+-    unsigned long int rt_pad3;
+-    unsigned char rt_tos;
+-    unsigned char rt_class;
+-    short int rt_pad4;
+-    short int rt_metric;		/* +1 for binary compatibility!  */
+-    char *rt_dev;			/* Forcing the device at add.  */
+-    unsigned long int rt_mtu;		/* Per route MTU/Window.  */
+-    unsigned long int rt_window;	/* Window clamping.  */
+-    unsigned short int rt_irtt;		/* Initial RTT.  */
+-  };
+-/* Compatibility hack.  */
+-#define rt_mss	rt_mtu
+-
+-
+-struct in6_rtmsg
+-  {
+-    struct in6_addr rtmsg_dst;
+-    struct in6_addr rtmsg_src;
+-    struct in6_addr rtmsg_gateway;
+-    u_int32_t rtmsg_type;
+-    u_int16_t rtmsg_dst_len;
+-    u_int16_t rtmsg_src_len;
+-    u_int32_t rtmsg_metric;
+-    unsigned long int rtmsg_info;
+-    u_int32_t rtmsg_flags;
+-    int rtmsg_ifindex;
+-  };
+-
+-
+-#define	RTF_UP		0x0001		/* Route usable.  */
+-#define	RTF_GATEWAY	0x0002		/* Destination is a gateway.  */
+-
+-#define	RTF_HOST	0x0004		/* Host entry (net otherwise).  */
+-#define RTF_REINSTATE	0x0008		/* Reinstate route after timeout.  */
+-#define	RTF_DYNAMIC	0x0010		/* Created dyn. (by redirect).  */
+-#define	RTF_MODIFIED	0x0020		/* Modified dyn. (by redirect).  */
+-#define RTF_MTU		0x0040		/* Specific MTU for this route.  */
+-#define RTF_MSS		RTF_MTU		/* Compatibility.  */
+-#define RTF_WINDOW	0x0080		/* Per route window clamping.  */
+-#define RTF_IRTT	0x0100		/* Initial round trip time.  */
+-#define RTF_REJECT	0x0200		/* Reject route.  */
+-#define	RTF_STATIC	0x0400		/* Manually injected route.  */
+-#define	RTF_XRESOLVE	0x0800		/* External resolver.  */
+-#define RTF_NOFORWARD   0x1000		/* Forwarding inhibited.  */
+-#define RTF_THROW	0x2000		/* Go to next class.  */
+-#define RTF_NOPMTUDISC  0x4000		/* Do not send packets with DF.  */
+-
+-/* for IPv6 */
+-#define RTF_DEFAULT	0x00010000	/* default - learned via ND	*/
+-#define RTF_ALLONLINK	0x00020000	/* fallback, no routers on link	*/
+-#define RTF_ADDRCONF	0x00040000	/* addrconf route - RA		*/
+-
+-#define RTF_LINKRT	0x00100000	/* link specific - device match	*/
+-#define RTF_NONEXTHOP	0x00200000	/* route with no nexthop	*/
+-
+-#define RTF_CACHE	0x01000000	/* cache entry			*/
+-#define RTF_FLOW	0x02000000	/* flow significant route	*/
+-#define RTF_POLICY	0x04000000	/* policy route			*/
+-
+-#define RTCF_VALVE	0x00200000
+-#define RTCF_MASQ	0x00400000
+-#define RTCF_NAT	0x00800000
+-#define RTCF_DOREDIRECT 0x01000000
+-#define RTCF_LOG	0x02000000
+-#define RTCF_DIRECTSRC	0x04000000
+-
+-#define RTF_LOCAL	0x80000000
+-#define RTF_INTERFACE	0x40000000
+-#define RTF_MULTICAST	0x20000000
+-#define RTF_BROADCAST	0x10000000
+-#define RTF_NAT		0x08000000
+-
+-#define RTF_ADDRCLASSMASK	0xF8000000
+-#define RT_ADDRCLASS(flags)	((__u_int32_t) flags >> 23)
+-
+-#define RT_TOS(tos)		((tos) & IPTOS_TOS_MASK)
+-
+-#define RT_LOCALADDR(flags)	((flags & RTF_ADDRCLASSMASK) \
+-				 == (RTF_LOCAL|RTF_INTERFACE))
+-
+-#define RT_CLASS_UNSPEC		0
+-#define RT_CLASS_DEFAULT	253
+-
+-#define RT_CLASS_MAIN		254
+-#define RT_CLASS_LOCAL		255
+-#define RT_CLASS_MAX		255
+-
+-
+-#define RTMSG_ACK		NLMSG_ACK
+-#define RTMSG_OVERRUN		NLMSG_OVERRUN
+-
+-#define RTMSG_NEWDEVICE		0x11
+-#define RTMSG_DELDEVICE		0x12
+-#define RTMSG_NEWROUTE		0x21
+-#define RTMSG_DELROUTE		0x22
+-#define RTMSG_NEWRULE		0x31
+-#define RTMSG_DELRULE		0x32
+-#define RTMSG_CONTROL		0x40
+-
+-#define RTMSG_AR_FAILED		0x51	/* Address Resolution failed.  */
+-
+-#endif /* net/route.h */
+diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
+index 91c123b..01ee1f8 100644
+--- a/sysdeps/unix/sysv/linux/Makefile
++++ b/sysdeps/unix/sysv/linux/Makefile
+@@ -101,8 +101,7 @@ sysdep_routines += ntp_gettime ntp_gettimex
+ endif
+ 
+ ifeq ($(subdir),socket)
+-sysdep_headers += net/if_ppp.h net/ppp-comp.h \
+-		  net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h \
++sysdep_headers += net/ppp-comp.h net/ppp_defs.h \
+ 		  net/if_slip.h net/if_packet.h net/if_shaper.h
+ sysdep_routines += cmsg_nxthdr sa_len
+ endif
+diff --git a/sysdeps/unix/sysv/linux/net/ethernet.h b/sysdeps/unix/sysv/linux/net/ethernet.h
+deleted file mode 100644
+index 0242d58..0000000
+--- a/sysdeps/unix/sysv/linux/net/ethernet.h
++++ /dev/null
+@@ -1,84 +0,0 @@
+-/* Copyright (C) 1997, 1999, 2001, 2008 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 Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-/* Based on the FreeBSD version of this file. Curiously, that file
+-   lacks a copyright in the header. */
+-
+-#ifndef __NET_ETHERNET_H
+-#define __NET_ETHERNET_H 1
+-
+-#include <sys/cdefs.h>
+-#include <sys/types.h>
+-#include <linux/if_ether.h>     /* IEEE 802.3 Ethernet constants */
+-
+-__BEGIN_DECLS
+-
+-/* This is a name for the 48 bit ethernet address available on many
+-   systems.  */
+-struct ether_addr
+-{
+-  u_int8_t ether_addr_octet[ETH_ALEN];
+-} __attribute__ ((__packed__));
+-
+-/* 10Mb/s ethernet header */
+-struct ether_header
+-{
+-  u_int8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
+-  u_int8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
+-  u_int16_t ether_type;		        /* packet type ID field	*/
+-} __attribute__ ((__packed__));
+-
+-/* Ethernet protocol ID's */
+-#define	ETHERTYPE_PUP		0x0200          /* Xerox PUP */
+-#define ETHERTYPE_SPRITE	0x0500		/* Sprite */
+-#define	ETHERTYPE_IP		0x0800		/* IP */
+-#define	ETHERTYPE_ARP		0x0806		/* Address resolution */
+-#define	ETHERTYPE_REVARP	0x8035		/* Reverse ARP */
+-#define ETHERTYPE_AT		0x809B		/* AppleTalk protocol */
+-#define ETHERTYPE_AARP		0x80F3		/* AppleTalk ARP */
+-#define	ETHERTYPE_VLAN		0x8100		/* IEEE 802.1Q VLAN tagging */
+-#define ETHERTYPE_IPX		0x8137		/* IPX */
+-#define	ETHERTYPE_IPV6		0x86dd		/* IP protocol version 6 */
+-#define ETHERTYPE_LOOPBACK	0x9000		/* used to test interfaces */
+-
+-
+-#define	ETHER_ADDR_LEN	ETH_ALEN                 /* size of ethernet addr */
+-#define	ETHER_TYPE_LEN	2                        /* bytes in type field */
+-#define	ETHER_CRC_LEN	4                        /* bytes in CRC field */
+-#define	ETHER_HDR_LEN	ETH_HLEN                 /* total octets in header */
+-#define	ETHER_MIN_LEN	(ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */
+-#define	ETHER_MAX_LEN	(ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */
+-
+-/* make sure ethenet length is valid */
+-#define	ETHER_IS_VALID_LEN(foo)	\
+-	((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
+-
+-/*
+- * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
+- * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
+- * by an ETHER type (as given above) and then the (variable-length) header.
+- */
+-#define	ETHERTYPE_TRAIL		0x1000		/* Trailer packet */
+-#define	ETHERTYPE_NTRAILER	16
+-
+-#define	ETHERMTU	ETH_DATA_LEN
+-#define	ETHERMIN	(ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
+-
+-__END_DECLS
+-
+-#endif	/* net/ethernet.h */
+diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h
+deleted file mode 100644
+index 97cb61f..0000000
+--- a/sysdeps/unix/sysv/linux/net/if_arp.h
++++ /dev/null
+@@ -1,184 +0,0 @@
+-/* Definitions for Address Resolution Protocol.
+-   Copyright (C) 1997,1999,2001,2006,2009 Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+-
+-   The GNU C Library is free software; you can redistribute it and/or
+-   modify it under the terms of the GNU Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-/* Based on the 4.4BSD and Linux version of this file.  */
+-
+-#ifndef _NET_IF_ARP_H
+-
+-#define _NET_IF_ARP_H 1
+-#include <sys/cdefs.h>
+-
+-#include <sys/types.h>
+-#include <sys/socket.h>
+-
+-__BEGIN_DECLS
+-
+-/* Some internals from deep down in the kernel.  */
+-#define MAX_ADDR_LEN	7
+-
+-
+-/* This structure defines an ethernet arp header.  */
+-
+-/* ARP protocol opcodes. */
+-#define	ARPOP_REQUEST	1		/* ARP request.  */
+-#define	ARPOP_REPLY	2		/* ARP reply.  */
+-#define	ARPOP_RREQUEST	3		/* RARP request.  */
+-#define	ARPOP_RREPLY	4		/* RARP reply.  */
+-#define	ARPOP_InREQUEST	8		/* InARP request.  */
+-#define	ARPOP_InREPLY	9		/* InARP reply.  */
+-#define	ARPOP_NAK	10		/* (ATM)ARP NAK.  */
+-
+-/* See RFC 826 for protocol description.  ARP packets are variable
+-   in size; the arphdr structure defines the fixed-length portion.
+-   Protocol type values are the same as those for 10 Mb/s Ethernet.
+-   It is followed by the variable-sized fields ar_sha, arp_spa,
+-   arp_tha and arp_tpa in that order, according to the lengths
+-   specified.  Field names used correspond to RFC 826.  */
+-
+-struct arphdr
+-  {
+-    unsigned short int ar_hrd;		/* Format of hardware address.  */
+-    unsigned short int ar_pro;		/* Format of protocol address.  */
+-    unsigned char ar_hln;		/* Length of hardware address.  */
+-    unsigned char ar_pln;		/* Length of protocol address.  */
+-    unsigned short int ar_op;		/* ARP opcode (command).  */
+-#if 0
+-    /* Ethernet looks like this : This bit is variable sized
+-       however...  */
+-    unsigned char __ar_sha[ETH_ALEN];	/* Sender hardware address.  */
+-    unsigned char __ar_sip[4];		/* Sender IP address.  */
+-    unsigned char __ar_tha[ETH_ALEN];	/* Target hardware address.  */
+-    unsigned char __ar_tip[4];		/* Target IP address.  */
+-#endif
+-  };
+-
+-
+-/* ARP protocol HARDWARE identifiers. */
+-#define ARPHRD_NETROM	0		/* From KA9Q: NET/ROM pseudo. */
+-#define ARPHRD_ETHER 	1		/* Ethernet 10/100Mbps.  */
+-#define	ARPHRD_EETHER	2		/* Experimental Ethernet.  */
+-#define	ARPHRD_AX25	3		/* AX.25 Level 2.  */
+-#define	ARPHRD_PRONET	4		/* PROnet token ring.  */
+-#define	ARPHRD_CHAOS	5		/* Chaosnet.  */
+-#define	ARPHRD_IEEE802	6		/* IEEE 802.2 Ethernet/TR/TB.  */
+-#define	ARPHRD_ARCNET	7		/* ARCnet.  */
+-#define	ARPHRD_APPLETLK	8		/* APPLEtalk.  */
+-#define	ARPHRD_DLCI	15		/* Frame Relay DLCI.  */
+-#define	ARPHRD_ATM	19		/* ATM.  */
+-#define	ARPHRD_METRICOM	23		/* Metricom STRIP (new IANA id).  */
+-#define ARPHRD_IEEE1394	24		/* IEEE 1394 IPv4 - RFC 2734.  */
+-#define ARPHRD_EUI64		27		/* EUI-64.  */
+-#define ARPHRD_INFINIBAND	32		/* InfiniBand.  */
+-
+-/* Dummy types for non ARP hardware */
+-#define ARPHRD_SLIP	256
+-#define ARPHRD_CSLIP	257
+-#define ARPHRD_SLIP6	258
+-#define ARPHRD_CSLIP6	259
+-#define ARPHRD_RSRVD	260		/* Notional KISS type.  */
+-#define ARPHRD_ADAPT	264
+-#define ARPHRD_ROSE	270
+-#define ARPHRD_X25	271		/* CCITT X.25.  */
+-#define ARPHRD_HWX25	272		/* Boards with X.25 in firmware.  */
+-#define ARPHRD_PPP	512
+-#define ARPHRD_CISCO	513		/* Cisco HDLC.  */
+-#define ARPHRD_HDLC	ARPHRD_CISCO
+-#define ARPHRD_LAPB	516		/* LAPB.  */
+-#define ARPHRD_DDCMP	517		/* Digital's DDCMP.  */
+-#define	ARPHRD_RAWHDLC	518		/* Raw HDLC.  */
+-
+-#define ARPHRD_TUNNEL	768		/* IPIP tunnel.  */
+-#define ARPHRD_TUNNEL6	769		/* IPIP6 tunnel.  */
+-#define ARPHRD_FRAD	770             /* Frame Relay Access Device.  */
+-#define ARPHRD_SKIP	771		/* SKIP vif.  */
+-#define ARPHRD_LOOPBACK	772		/* Loopback device.  */
+-#define ARPHRD_LOCALTLK 773		/* Localtalk device.  */
+-#define ARPHRD_FDDI	774		/* Fiber Distributed Data Interface. */
+-#define ARPHRD_BIF	775             /* AP1000 BIF.  */
+-#define ARPHRD_SIT	776		/* sit0 device - IPv6-in-IPv4.  */
+-#define ARPHRD_IPDDP	777		/* IP-in-DDP tunnel.  */
+-#define ARPHRD_IPGRE	778		/* GRE over IP.  */
+-#define ARPHRD_PIMREG	779		/* PIMSM register interface.  */
+-#define ARPHRD_HIPPI	780		/* High Performance Parallel I'face. */
+-#define ARPHRD_ASH	781		/* (Nexus Electronics) Ash.  */
+-#define ARPHRD_ECONET	782		/* Acorn Econet.  */
+-#define ARPHRD_IRDA	783		/* Linux-IrDA.  */
+-#define ARPHRD_FCPP	784		/* Point to point fibrechanel.  */
+-#define ARPHRD_FCAL	785		/* Fibrechanel arbitrated loop.  */
+-#define ARPHRD_FCPL	786		/* Fibrechanel public loop.  */
+-#define ARPHRD_FCFABRIC 787		/* Fibrechanel fabric.  */
+-#define ARPHRD_IEEE802_TR 800		/* Magic type ident for TR.  */
+-#define ARPHRD_IEEE80211 801		/* IEEE 802.11.  */
+-#define ARPHRD_IEEE80211_PRISM 802	/* IEEE 802.11 + Prism2 header.  */
+-#define ARPHRD_IEEE80211_RADIOTAP 803	/* IEEE 802.11 + radiotap header.  */
+-#define ARPHRD_IEEE802154 804		/* IEEE 802.15.4 header.  */
+-#define ARPHRD_IEEE802154_PHY 805	/* IEEE 802.15.4 PHY header.  */
+-
+-#define ARPHRD_VOID	  0xFFFF	/* Void type, nothing is known.  */
+-#define ARPHRD_NONE	  0xFFFE	/* Zero header length.  */
+-
+-
+-/* ARP ioctl request.  */
+-struct arpreq
+-  {
+-    struct sockaddr arp_pa;		/* Protocol address.  */
+-    struct sockaddr arp_ha;		/* Hardware address.  */
+-    int arp_flags;			/* Flags.  */
+-    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
+-    char arp_dev[16];
+-  };
+-
+-struct arpreq_old
+-  {
+-    struct sockaddr arp_pa;		/* Protocol address.  */
+-    struct sockaddr arp_ha;		/* Hardware address.  */
+-    int arp_flags;			/* Flags.  */
+-    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
+-  };
+-
+-/* ARP Flag values.  */
+-#define ATF_COM		0x02		/* Completed entry (ha valid).  */
+-#define	ATF_PERM	0x04		/* Permanent entry.  */
+-#define	ATF_PUBL	0x08		/* Publish entry.  */
+-#define	ATF_USETRAILERS	0x10		/* Has requested trailers.  */
+-#define ATF_NETMASK     0x20            /* Want to use a netmask (only
+-					   for proxy entries).  */
+-#define ATF_DONTPUB	0x40		/* Don't answer this addresses.  */
+-#define ATF_MAGIC	0x80		/* Automatically added entry.  */
+-
+-
+-/* Support for the user space arp daemon, arpd.  */
+-#define ARPD_UPDATE	0x01
+-#define ARPD_LOOKUP	0x02
+-#define ARPD_FLUSH	0x03
+-
+-struct arpd_request
+-  {
+-    unsigned short int req;		/* Request type.  */
+-    u_int32_t ip;			/* IP address of entry.  */
+-    unsigned long int dev;		/* Device entry is tied to.  */
+-    unsigned long int stamp;
+-    unsigned long int updated;
+-    unsigned char ha[MAX_ADDR_LEN];	/* Hardware address.  */
+-  };
+-
+-__END_DECLS
+-
+-#endif	/* net/if_arp.h */
+diff --git a/sysdeps/unix/sysv/linux/net/if_ether.h b/sysdeps/unix/sysv/linux/net/if_ether.h
+new file mode 100644
+index 0000000..e0fe7b5
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/net/if_ether.h
+@@ -0,0 +1,7 @@
++#ifndef _NET_IF_ETHER_H
++#define _NET_IF_ETHER_H 1
++
++/* Get definitions from kernel header file.  */
++#include <linux/if_ether.h>
++
++#endif /* net/if_ether.h */
+diff --git a/sysdeps/unix/sysv/linux/net/if_ppp.h b/sysdeps/unix/sysv/linux/net/if_ppp.h
+deleted file mode 100644
+index bf5ec83..0000000
+--- a/sysdeps/unix/sysv/linux/net/if_ppp.h
++++ /dev/null
+@@ -1,169 +0,0 @@
+-/*	From: if_ppp.h,v 1.3 1995/06/12 11:36:50 paulus Exp */
+-
+-/*
+- * if_ppp.h - Point-to-Point Protocol definitions.
+- *
+- * Copyright (c) 1989 Carnegie Mellon University. 
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions
+- * are met:
+- * 1. Redistributions of source code must retain the above copyright
+- *    notice, this list of conditions and the following disclaimer.
+- * 2. Redistributions in binary form must reproduce the above copyright
+- *    notice, this list of conditions and the following disclaimer in the
+- *    documentation and/or other materials provided with the distribution.
+- * 3. Neither the name of the University nor the names of its contributors
+- *    may be used to endorse or promote products derived from this software
+- *    without specific prior written permission.
+- *
+- * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY AND
+- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+- * IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY
+- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+- * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+- *
+- */
+-
+-/*
+- *  ==FILEVERSION 960926==
+- *
+- *  NOTE TO MAINTAINERS:
+- *     If you modify this file at all, please set the above date.
+- *     if_ppp.h is shipped with a PPP distribution as well as with the kernel;
+- *     if everyone increases the FILEVERSION number above, then scripts
+- *     can do the right thing when deciding whether to install a new if_ppp.h
+- *     file.  Don't change the format of that line otherwise, so the
+- *     installation script can recognize it.
+- */
+-
+-
+-#ifndef __NET_IF_PPP_H
+-#define __NET_IF_PPP_H 1
+-
+-#include <sys/types.h>
+-#include <sys/cdefs.h>
+-
+-#include <net/if.h>
+-#include <sys/ioctl.h>
+-#include <net/ppp_defs.h>
+-
+-__BEGIN_DECLS
+-
+-/*
+- * Packet sizes
+- */
+-
+-#define	PPP_MTU		1500	/* Default MTU (size of Info field) */
+-#define PPP_MAXMRU	65000	/* Largest MRU we allow */
+-#define PPP_VERSION	"2.2.0"
+-#define PPP_MAGIC	0x5002	/* Magic value for the ppp structure */
+-#define PROTO_IPX	0x002b	/* protocol numbers */
+-#define PROTO_DNA_RT    0x0027  /* DNA Routing */
+-
+-
+-/*
+- * Bit definitions for flags.
+- */
+-
+-#define SC_COMP_PROT	0x00000001	/* protocol compression (output) */
+-#define SC_COMP_AC	0x00000002	/* header compression (output) */
+-#define	SC_COMP_TCP	0x00000004	/* TCP (VJ) compression (output) */
+-#define SC_NO_TCP_CCID	0x00000008	/* disable VJ connection-id comp. */
+-#define SC_REJ_COMP_AC	0x00000010	/* reject adrs/ctrl comp. on input */
+-#define SC_REJ_COMP_TCP	0x00000020	/* reject TCP (VJ) comp. on input */
+-#define SC_CCP_OPEN	0x00000040	/* Look at CCP packets */
+-#define SC_CCP_UP	0x00000080	/* May send/recv compressed packets */
+-#define SC_ENABLE_IP	0x00000100	/* IP packets may be exchanged */
+-#define SC_COMP_RUN	0x00001000	/* compressor has been inited */
+-#define SC_DECOMP_RUN	0x00002000	/* decompressor has been inited */
+-#define SC_DEBUG	0x00010000	/* enable debug messages */
+-#define SC_LOG_INPKT	0x00020000	/* log contents of good pkts recvd */
+-#define SC_LOG_OUTPKT	0x00040000	/* log contents of pkts sent */
+-#define SC_LOG_RAWIN	0x00080000	/* log all chars received */
+-#define SC_LOG_FLUSH	0x00100000	/* log all chars flushed */
+-#define	SC_MASK		0x0fE0ffff	/* bits that user can change */
+-
+-/* state bits */
+-#define	SC_ESCAPED	0x80000000	/* saw a PPP_ESCAPE */
+-#define	SC_FLUSH	0x40000000	/* flush input until next PPP_FLAG */
+-#define SC_VJ_RESET	0x20000000	/* Need to reset the VJ decompressor */
+-#define SC_XMIT_BUSY	0x10000000	/* ppp_write_wakeup is active */
+-#define SC_RCV_ODDP	0x08000000	/* have rcvd char with odd parity */
+-#define SC_RCV_EVNP	0x04000000	/* have rcvd char with even parity */
+-#define SC_RCV_B7_1	0x02000000	/* have rcvd char with bit 7 = 1 */
+-#define SC_RCV_B7_0	0x01000000	/* have rcvd char with bit 7 = 0 */
+-#define SC_DC_FERROR	0x00800000	/* fatal decomp error detected */
+-#define SC_DC_ERROR	0x00400000	/* non-fatal decomp error detected */
+-
+-/*
+- * Ioctl definitions.
+- */
+-
+-struct npioctl {
+-    int		protocol;	/* PPP protocol, e.g. PPP_IP */
+-    enum NPmode	mode;
+-};
+-
+-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
+-struct ppp_option_data {
+-	u_int8_t  *ptr;
+-	u_int32_t length;
+-	int	  transmit;
+-};
+-
+-struct ifpppstatsreq {
+-  struct ifreq	   b;
+-  struct ppp_stats stats;			/* statistic information */
+-};
+-
+-struct ifpppcstatsreq {
+-  struct ifreq		b;
+-  struct ppp_comp_stats stats;
+-};
+-
+-#define ifr__name       b.ifr_ifrn.ifrn_name
+-#define stats_ptr       b.ifr_ifru.ifru_data
+-
+-/*
+- * Ioctl definitions.
+- */
+-
+-#define	PPPIOCGFLAGS	_IOR('t', 90, int)	/* get configuration flags */
+-#define	PPPIOCSFLAGS	_IOW('t', 89, int)	/* set configuration flags */
+-#define	PPPIOCGASYNCMAP	_IOR('t', 88, int)	/* get async map */
+-#define	PPPIOCSASYNCMAP	_IOW('t', 87, int)	/* set async map */
+-#define	PPPIOCGUNIT	_IOR('t', 86, int)	/* get ppp unit number */
+-#define	PPPIOCGRASYNCMAP _IOR('t', 85, int)	/* get receive async map */
+-#define	PPPIOCSRASYNCMAP _IOW('t', 84, int)	/* set receive async map */
+-#define	PPPIOCGMRU	_IOR('t', 83, int)	/* get max receive unit */
+-#define	PPPIOCSMRU	_IOW('t', 82, int)	/* set max receive unit */
+-#define	PPPIOCSMAXCID	_IOW('t', 81, int)	/* set VJ max slot ID */
+-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
+-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
+-#define PPPIOCXFERUNIT	_IO('t', 78)		/* transfer PPP unit */
+-#define PPPIOCSCOMPRESS	_IOW('t', 77, struct ppp_option_data)
+-#define PPPIOCGNPMODE	_IOWR('t', 76, struct npioctl) /* get NP mode */
+-#define PPPIOCSNPMODE	_IOW('t', 75, struct npioctl)  /* set NP mode */
+-#define PPPIOCGDEBUG	_IOR('t', 65, int)	/* Read debug level */
+-#define PPPIOCSDEBUG	_IOW('t', 64, int)	/* Set debug level */
+-#define PPPIOCGIDLE	_IOR('t', 63, struct ppp_idle) /* get idle time */
+-
+-#define SIOCGPPPSTATS   (SIOCDEVPRIVATE + 0)
+-#define SIOCGPPPVER     (SIOCDEVPRIVATE + 1)  /* NEVER change this!! */
+-#define SIOCGPPPCSTATS  (SIOCDEVPRIVATE + 2)
+-
+-#if !defined(ifr_mtu)
+-#define ifr_mtu	ifr_ifru.ifru_metric
+-#endif
+-
+-__END_DECLS
+-
+-#endif /* net/if_ppp.h */
+diff --git a/sysdeps/unix/sysv/linux/net/route.h b/sysdeps/unix/sysv/linux/net/route.h
+deleted file mode 100644
+index da5c810..0000000
+--- a/sysdeps/unix/sysv/linux/net/route.h
++++ /dev/null
+@@ -1,145 +0,0 @@
+-/* Copyright (C) 1997, 2002 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 Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-/* Based on the 4.4BSD and Linux version of this file.  */
+-
+-#ifndef _NET_ROUTE_H
+-#define _NET_ROUTE_H	1
+-
+-#include <features.h>
+-#include <sys/socket.h>
+-#include <sys/types.h>
+-#include <netinet/in.h>
+-#include <bits/wordsize.h>
+-
+-
+-/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
+-struct rtentry
+-  {
+-    unsigned long int rt_pad1;
+-    struct sockaddr rt_dst;		/* Target address.  */
+-    struct sockaddr rt_gateway;		/* Gateway addr (RTF_GATEWAY).  */
+-    struct sockaddr rt_genmask;		/* Target network mask (IP).  */
+-    unsigned short int rt_flags;
+-    short int rt_pad2;
+-    unsigned long int rt_pad3;
+-    unsigned char rt_tos;
+-    unsigned char rt_class;
+-#if __WORDSIZE == 64
+-    short int rt_pad4[3];
+-#else
+-    short int rt_pad4;
+-#endif
+-    short int rt_metric;		/* +1 for binary compatibility!  */
+-    char *rt_dev;			/* Forcing the device at add.  */
+-    unsigned long int rt_mtu;		/* Per route MTU/Window.  */
+-    unsigned long int rt_window;	/* Window clamping.  */
+-    unsigned short int rt_irtt;		/* Initial RTT.  */
+-  };
+-/* Compatibility hack.  */
+-#define rt_mss	rt_mtu
+-
+-
+-struct in6_rtmsg
+-  {
+-    struct in6_addr rtmsg_dst;
+-    struct in6_addr rtmsg_src;
+-    struct in6_addr rtmsg_gateway;
+-    u_int32_t rtmsg_type;
+-    u_int16_t rtmsg_dst_len;
+-    u_int16_t rtmsg_src_len;
+-    u_int32_t rtmsg_metric;
+-    unsigned long int rtmsg_info;
+-    u_int32_t rtmsg_flags;
+-    int rtmsg_ifindex;
+-  };
+-
+-
+-#define	RTF_UP		0x0001		/* Route usable.  */
+-#define	RTF_GATEWAY	0x0002		/* Destination is a gateway.  */
+-
+-#define	RTF_HOST	0x0004		/* Host entry (net otherwise).  */
+-#define RTF_REINSTATE	0x0008		/* Reinstate route after timeout.  */
+-#define	RTF_DYNAMIC	0x0010		/* Created dyn. (by redirect).  */
+-#define	RTF_MODIFIED	0x0020		/* Modified dyn. (by redirect).  */
+-#define RTF_MTU		0x0040		/* Specific MTU for this route.  */
+-#define RTF_MSS		RTF_MTU		/* Compatibility.  */
+-#define RTF_WINDOW	0x0080		/* Per route window clamping.  */
+-#define RTF_IRTT	0x0100		/* Initial round trip time.  */
+-#define RTF_REJECT	0x0200		/* Reject route.  */
+-#define	RTF_STATIC	0x0400		/* Manually injected route.  */
+-#define	RTF_XRESOLVE	0x0800		/* External resolver.  */
+-#define RTF_NOFORWARD   0x1000		/* Forwarding inhibited.  */
+-#define RTF_THROW	0x2000		/* Go to next class.  */
+-#define RTF_NOPMTUDISC  0x4000		/* Do not send packets with DF.  */
+-
+-/* for IPv6 */
+-#define RTF_DEFAULT	0x00010000	/* default - learned via ND	*/
+-#define RTF_ALLONLINK	0x00020000	/* fallback, no routers on link	*/
+-#define RTF_ADDRCONF	0x00040000	/* addrconf route - RA		*/
+-
+-#define RTF_LINKRT	0x00100000	/* link specific - device match	*/
+-#define RTF_NONEXTHOP	0x00200000	/* route with no nexthop	*/
+-
+-#define RTF_CACHE	0x01000000	/* cache entry			*/
+-#define RTF_FLOW	0x02000000	/* flow significant route	*/
+-#define RTF_POLICY	0x04000000	/* policy route			*/
+-
+-#define RTCF_VALVE	0x00200000
+-#define RTCF_MASQ	0x00400000
+-#define RTCF_NAT	0x00800000
+-#define RTCF_DOREDIRECT 0x01000000
+-#define RTCF_LOG	0x02000000
+-#define RTCF_DIRECTSRC	0x04000000
+-
+-#define RTF_LOCAL	0x80000000
+-#define RTF_INTERFACE	0x40000000
+-#define RTF_MULTICAST	0x20000000
+-#define RTF_BROADCAST	0x10000000
+-#define RTF_NAT		0x08000000
+-
+-#define RTF_ADDRCLASSMASK	0xF8000000
+-#define RT_ADDRCLASS(flags)	((__u_int32_t) flags >> 23)
+-
+-#define RT_TOS(tos)		((tos) & IPTOS_TOS_MASK)
+-
+-#define RT_LOCALADDR(flags)	((flags & RTF_ADDRCLASSMASK) \
+-				 == (RTF_LOCAL|RTF_INTERFACE))
+-
+-#define RT_CLASS_UNSPEC		0
+-#define RT_CLASS_DEFAULT	253
+-
+-#define RT_CLASS_MAIN		254
+-#define RT_CLASS_LOCAL		255
+-#define RT_CLASS_MAX		255
+-
+-
+-#define RTMSG_ACK		NLMSG_ACK
+-#define RTMSG_OVERRUN		NLMSG_OVERRUN
+-
+-#define RTMSG_NEWDEVICE		0x11
+-#define RTMSG_DELDEVICE		0x12
+-#define RTMSG_NEWROUTE		0x21
+-#define RTMSG_DELROUTE		0x22
+-#define RTMSG_NEWRULE		0x31
+-#define RTMSG_DELRULE		0x32
+-#define RTMSG_CONTROL		0x40
+-
+-#define RTMSG_AR_FAILED		0x51	/* Address Resolution failed.  */
+-
+-#endif /* net/route.h */
+diff --git a/sysdeps/unix/sysv/linux/netinet/if_ether.h b/sysdeps/unix/sysv/linux/netinet/if_ether.h
+deleted file mode 100644
+index aadb59b..0000000
+--- a/sysdeps/unix/sysv/linux/netinet/if_ether.h
++++ /dev/null
+@@ -1,105 +0,0 @@
+-/* Copyright (C) 1996, 1997, 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 Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 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
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-#ifndef __NETINET_IF_ETHER_H
+-
+-#define __NETINET_IF_ETHER_H	1
+-#include <features.h>
+-#include <sys/types.h>
+-
+-/* Get definitions from kernel header file.  */
+-#include <linux/if_ether.h>
+-
+-#ifdef __USE_BSD
+-/*
+- * Copyright (c) 1982, 1986, 1993
+- *	The Regents of the University of California.  All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions
+- * are met:
+- * 1. Redistributions of source code must retain the above copyright
+- *    notice, this list of conditions and the following disclaimer.
+- * 2. Redistributions in binary form must reproduce the above copyright
+- *    notice, this list of conditions and the following disclaimer in the
+- *    documentation and/or other materials provided with the distribution.
+- * 4. Neither the name of the University nor the names of its contributors
+- *    may be used to endorse or promote products derived from this software
+- *    without specific prior written permission.
+- *
+- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+- * SUCH DAMAGE.
+- *
+- *	@(#)if_ether.h	8.3 (Berkeley) 5/2/95
+- *	$FreeBSD$
+- */
+-
+-#include <net/ethernet.h>
+-#include <net/if_arp.h>
+-
+-__BEGIN_DECLS
+-/*
+- * Ethernet Address Resolution Protocol.
+- *
+- * See RFC 826 for protocol description.  Structure below is adapted
+- * to resolving internet addresses.  Field names used correspond to
+- * RFC 826.
+- */
+-struct	ether_arp {
+-	struct	arphdr ea_hdr;		/* fixed-size header */
+-	u_int8_t arp_sha[ETH_ALEN];	/* sender hardware address */
+-	u_int8_t arp_spa[4];		/* sender protocol address */
+-	u_int8_t arp_tha[ETH_ALEN];	/* target hardware address */
+-	u_int8_t arp_tpa[4];		/* target protocol address */
+-};
+-#define	arp_hrd	ea_hdr.ar_hrd
+-#define	arp_pro	ea_hdr.ar_pro
+-#define	arp_hln	ea_hdr.ar_hln
+-#define	arp_pln	ea_hdr.ar_pln
+-#define	arp_op	ea_hdr.ar_op
+-
+-/*
+- * Macro to map an IP multicast address to an Ethernet multicast address.
+- * The high-order 25 bits of the Ethernet address are statically assigned,
+- * and the low-order 23 bits are taken from the low end of the IP address.
+- */
+-#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \
+-	/* struct in_addr *ipaddr; */ \
+-	/* u_char enaddr[ETH_ALEN];	   */ \
+-{ \
+-	(enaddr)[0] = 0x01; \
+-	(enaddr)[1] = 0x00; \
+-	(enaddr)[2] = 0x5e; \
+-	(enaddr)[3] = ((u_int8_t *)ipaddr)[1] & 0x7f; \
+-	(enaddr)[4] = ((u_int8_t *)ipaddr)[2]; \
+-	(enaddr)[5] = ((u_int8_t *)ipaddr)[3]; \
+-}
+-
+-__END_DECLS
+-#endif /* __USE_BSD */
+-
+-#endif /* netinet/if_ether.h */

Modified: glibc-package/branches/eglibc-2.11/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/series	2010-01-30 18:44:06 UTC (rev 4113)
+++ glibc-package/branches/eglibc-2.11/debian/patches/series	2010-01-30 18:45:06 UTC (rev 4114)
@@ -105,6 +105,9 @@
 hurd-i386/local-disable-ioctls.diff
 hurd-i386/submitted-rtld_lock_recursive.diff
 hurd-i386/local-longjmp_chk.diff
+hurd-i386/cvs-getcwd.diff
+hurd-i386/cvs-setsid.diff
+hurd-i386/submitted-net.diff
 
 ia64/submitted-sysconf.diff
 ia64/submitted-libm.diff


Reply to: