about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-02-22 01:07:27 +0000
committerUlrich Drepper <drepper@redhat.com>1997-02-22 01:07:27 +0000
commit655fe3107058017a6d4e618be03b91b119457354 (patch)
treece2ab74f39dec280e51e6cb3b34dcd231f85d47d
parent9652be3de8913e528f86d9d4d2643db6c472f9fe (diff)
downloadglibc-655fe3107058017a6d4e618be03b91b119457354.tar.gz
glibc-655fe3107058017a6d4e618be03b91b119457354.tar.xz
glibc-655fe3107058017a6d4e618be03b91b119457354.zip
update from main archive 970221
-rw-r--r--ChangeLog45
-rw-r--r--inet/Makefile2
-rw-r--r--shadow/sgetspent_r.c9
-rw-r--r--stdio-common/test-fseek.c22
-rw-r--r--sunrpc/rpc/rpc_msg.h2
-rw-r--r--sysdeps/unix/bsd/sigsuspend.c30
-rw-r--r--sysdeps/unix/bsd/syscalls.list1
-rw-r--r--sysdeps/unix/mman/syscalls.list6
-rw-r--r--sysdeps/unix/sysv/linux/net/if_arp.h1
-rw-r--r--sysdeps/unix/sysv/linux/netinet/if_ether.h112
10 files changed, 189 insertions, 41 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ddd6e90d7..d4ac15862e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,48 @@
+1997-02-20 17:51  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/generic/netinet/in.h: Protect contents using
+	__BEGIN/END_DECLS.  Reported by a sun <asun@zoology.washington.edu>.
+
+	* inet/net/ethernet.h: Move to sysdeps/unix/sysv/linux/net.
+	* inet/Makefile (headers): Remove net/ethernet.h.
+	* sysdeps/unix/sysv/linux/Makefile: Install net/ethernet.h.
+	* sysdeps/unix/sysv/linux/Dist: Distribute net/ethernet.h.
+
+1997-02-20 19:19  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/mman/syscalls.list: Explain msync interface.
+	* sysdeps/unix/bsd/syscalls.list: Add msync with two parameters.
+
+1997-02-19 01:37  Erik Troan  <ewt@redhat.com>
+
+	* shadow/sgetspent_r.c: Accept empty third, fourth and fifth fields.
+
+1997-02-20 14:44  Andreas Jaeger  <aj@arthur.pfalz.de>
+
+	* stdio-common/test-fseek.c: Remove temporary file, add
+	copyright.
+
+1997-02-19 01:02  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/mman/syscalls.list: msync takes 3 arguments.
+	Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
+
+1997-02-19 00:29  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/unix/bsd/sigsuspend.c: Call __sigpause with needed
+	additional argument.
+
+1997-02-18 22:13  Ulrich Drepper  <drepper@cygnus.com>
+
+	* inet/net/ethernet.h: New file.
+	* sysdeps/unix/sysv/linux/netinet/if_ether.c: Add BSD compatibility.
+	* sysdeps/unix/sysv/linux/net/if_slip.h: New file.
+	Contributed by a sun <asun@zoology.washington.edu>.
+
+	* sysdeps/unix/sysv/linux/net/if_arp.h: Include <sys/socket.h>.
+	* sunrpc/rpc/rpc_msg.h: Include <rpc/clnt.h>.
+	Reported by a sun <asun@zoology.washington.edu>.
+
 1997-02-18 03:28  Ulrich Drepper  <drepper@cygnus.com>
 
 	* stdio-common/bug10.c (main): Correct parameter.
diff --git a/inet/Makefile b/inet/Makefile
index e965390a63..74a6741b79 100644
--- a/inet/Makefile
+++ b/inet/Makefile
@@ -23,7 +23,7 @@ subdir	:= inet
 
 headers	:= netinet/ether.h netinet/in.h netinet/if_ether.h \
 	   netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \
-	   aliases.h
+	   aliases.h net/ethernet.h
 
 distribute := netgroup.h
 
diff --git a/shadow/sgetspent_r.c b/shadow/sgetspent_r.c
index ba2e8186bc..8678ac816a 100644
--- a/shadow/sgetspent_r.c
+++ b/shadow/sgetspent_r.c
@@ -51,9 +51,12 @@ LINE_PARSER
  else
    {
      STRING_FIELD (result->sp_pwdp, ISCOLON, 0);
-     INT_FIELD (result->sp_lstchg, ISCOLON, 0, 10, (long int));
-     INT_FIELD (result->sp_min, ISCOLON, 0, 10, (long int));
-     INT_FIELD (result->sp_max, ISCOLON, 0, 10, (long int));
+     INT_FIELD_MAYBE_NULL (result->sp_lstchg, ISCOLON, 0, 10, (long int),
+			   (long int) -1);
+     INT_FIELD_MAYBE_NULL (result->sp_min, ISCOLON, 0, 10, (long int),
+			   (long int) -1);
+     INT_FIELD_MAYBE_NULL (result->sp_max, ISCOLON, 0, 10, (long int),
+			   (long int -1);
      while (isspace (*line))
        ++line;
      if (*line == '\0')
diff --git a/stdio-common/test-fseek.c b/stdio-common/test-fseek.c
index d56c669a54..e736ed7cdc 100644
--- a/stdio-common/test-fseek.c
+++ b/stdio-common/test-fseek.c
@@ -1,10 +1,27 @@
-#include <ansidecl.h>
+/* Copyright (C) 1991, 1992, 1996, 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 Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
 #include <stdio.h>
 
 #define TESTFILE "/tmp/test.dat"
 
 int
-main __P((void))
+main (void)
 {
   FILE *fp;
   int i, j;
@@ -61,6 +78,7 @@ main __P((void))
 	}
     }
   fclose (fp);
+  remove (TESTFILE);
 
   puts ((i > 255) ? "Test succeeded." : "Test FAILED!");
   return (i > 255) ? 0 : 1;
diff --git a/sunrpc/rpc/rpc_msg.h b/sunrpc/rpc/rpc_msg.h
index 48ae1f988d..8f6b6a9da4 100644
--- a/sunrpc/rpc/rpc_msg.h
+++ b/sunrpc/rpc/rpc_msg.h
@@ -33,6 +33,8 @@
 #define _RPC_MSG_H 1
 #include <sys/cdefs.h>
 
+#include <rpc/clnt.h>
+
 /*
  * rpc_msg.h
  * rpc message definition
diff --git a/sysdeps/unix/bsd/sigsuspend.c b/sysdeps/unix/bsd/sigsuspend.c
index 4c045aa663..d416a5f6c7 100644
--- a/sysdeps/unix/bsd/sigsuspend.c
+++ b/sysdeps/unix/bsd/sigsuspend.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1996, 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
 
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
 
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 #include <errno.h>
 #include <signal.h>
@@ -42,5 +42,5 @@ sigsuspend (set)
     if (__sigismember (set, sig))
       mask |= sigmask (sig);
 
-  return __sigpause (mask);
+  return __sigpause (mask, 0);
 }
diff --git a/sysdeps/unix/bsd/syscalls.list b/sysdeps/unix/bsd/syscalls.list
index e84819dc1f..086bf4fb45 100644
--- a/sysdeps/unix/bsd/syscalls.list
+++ b/sysdeps/unix/bsd/syscalls.list
@@ -5,6 +5,7 @@ getdents	-	getdirentries	4	__getdirentries	getdirentries
 getdtsz		-	getdtablesize	0	__getdtablesize	getdtablesize
 getpagesize	-	getpagesize	0	__getpagesize	getpagesize
 killpg		-	killpg		2	killpg
+msync		-	msync		2	__libc_msync	msync
 sigblock	-	sigblock	1	__sigblock	sigblock
 sigpause	-	sigpause	1	__sigpause	sigpause
 sigsetmask	-	sigsetmask	1	__sigsetmask	sigsetmask
diff --git a/sysdeps/unix/mman/syscalls.list b/sysdeps/unix/mman/syscalls.list
index a5f44e465b..1d3173eafd 100644
--- a/sysdeps/unix/mman/syscalls.list
+++ b/sysdeps/unix/mman/syscalls.list
@@ -1,7 +1,11 @@
+# This interface desciption corresponds to the POSIX.1 description.  The
+# 4.4BSD interface is slightly different since the `msync' function takes
+# only 2 arguments.
+
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
 madvise		-	madvise		3	madvise
 mmap		-	mmap		6	__mmap		mmap
 mprotect	-	mprotect	3	__mprotect	mprotect
-msync		-	msync		2	__libc_msync	msync
+msync		-	msync		3	__libc_msync	msync
 munmap		-	munmap		2	__munmap	munmap
diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h
index cf48f10f79..b1cd18360e 100644
--- a/sysdeps/unix/sysv/linux/net/if_arp.h
+++ b/sysdeps/unix/sysv/linux/net/if_arp.h
@@ -26,6 +26,7 @@
 #include <sys/cdefs.h>
 
 #include <sys/types.h>
+#include <sys/socket.h>
 
 __BEGIN_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/netinet/if_ether.h b/sysdeps/unix/sysv/linux/netinet/if_ether.h
index 0da5a5aea9..7194490f53 100644
--- a/sysdeps/unix/sysv/linux/netinet/if_ether.h
+++ b/sysdeps/unix/sysv/linux/netinet/if_ether.h
@@ -1,35 +1,109 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1996, 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
 
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
 
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 #ifndef __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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by the University of
+ *	California, Berkeley and its contributors.
+ * 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$
+ */
 
-/* This is a name for the 48 bit ethernet address available on many
-   systems.  */
-struct ether_addr
-{
-  unsigned char ether_addr_octet[ETH_ALEN];
+#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 */