summaryrefslogtreecommitdiff
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)
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 */