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: