about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/machine-gmon.h2
-rw-r--r--sysdeps/generic/socketbits.h (renamed from sysdeps/generic/sys/socket.h)147
-rw-r--r--sysdeps/mach/hurd/connect.c5
-rw-r--r--sysdeps/mach/hurd/send.c5
-rw-r--r--sysdeps/unix/inet/syscalls.list4
-rw-r--r--sysdeps/unix/sysv/linux/configure10
-rw-r--r--sysdeps/unix/sysv/linux/socketbits.h2
-rw-r--r--sysdeps/unix/sysv/linux/sys/socket.h169
8 files changed, 22 insertions, 322 deletions
diff --git a/sysdeps/generic/machine-gmon.h b/sysdeps/generic/machine-gmon.h
index 80ee97fcc3..115962a601 100644
--- a/sysdeps/generic/machine-gmon.h
+++ b/sysdeps/generic/machine-gmon.h
@@ -38,6 +38,8 @@ void _mcount (void);
 weak_alias (_mcount, mcount)
 #endif
 
+static void mcount_internal (u_long frompc, u_long selfpc);
+
 #define _MCOUNT_DECL(frompc, selfpc) \
 static inline void mcount_internal (frompc, selfpc)
 
diff --git a/sysdeps/generic/sys/socket.h b/sysdeps/generic/socketbits.h
index 6ee3ebe52e..770f011ffb 100644
--- a/sysdeps/generic/sys/socket.h
+++ b/sysdeps/generic/socketbits.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
+/* System-specific socket constants and types.  Generic/4.3 BSD version.
+Copyright (C) 1991, 92, 94, 95, 96 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
@@ -16,9 +17,9 @@ 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.  */
 
-#ifndef	_SYS_SOCKET_H
+#ifndef	_SOCKETBITS_H
 
-#define	_SYS_SOCKET_H	1
+#define	_SOCKETBITS_H	1
 #include <features.h>
 
 __BEGIN_DECLS
@@ -115,75 +116,6 @@ struct sockaddr
     char sa_data[14];		/* Address data.  */
   };
 
-/* This is the type we use for generic socket address arguments.
-
-   With GCC 2.7 and later, the funky union causes redeclarations or uses with
-   any of the listed types to be allowed without complaint.  */
-#if	(!defined (__GNUC__) || __GNUC__ < 2 || \
-	 (__GNUC__ == 2 && __GNUC_MINOR__ < 7))
-#define	__SOCKADDR_ARG		struct sockaddr *
-#define	__CONST_SOCKADDR_ARG	__const struct sockaddr *
-#else
-/* Add more `struct sockaddr_AF' types here as necessary.
-   These are all the ones I found on NetBSD and Linux.  */
-#define __SOCKADDR_ALLTYPES \
-  __SOCKADDR_ONETYPE (sockaddr) \
-  __SOCKADDR_ONETYPE (sockaddr_at) \
-  __SOCKADDR_ONETYPE (sockaddr_ax25) \
-  __SOCKADDR_ONETYPE (sockaddr_dl) \
-  __SOCKADDR_ONETYPE (sockaddr_eon) \
-  __SOCKADDR_ONETYPE (sockaddr_in) \
-  __SOCKADDR_ONETYPE (sockaddr_in6) \
-  __SOCKADDR_ONETYPE (sockaddr_inarp) \
-  __SOCKADDR_ONETYPE (sockaddr_ipx) \
-  __SOCKADDR_ONETYPE (sockaddr_iso) \
-  __SOCKADDR_ONETYPE (sockaddr_ns) \
-  __SOCKADDR_ONETYPE (sockaddr_un) \
-  __SOCKADDR_ONETYPE (sockaddr_x25)
-
-#define __SOCKADDR_ONETYPE(type) struct type *__##type##__;
-typedef union { __SOCKADDR_ALLTYPES
-	      } __SOCKADDR_ARG __attribute__ ((__transparent_union__));
-#undef __SOCKADDR_ONETYPE
-#define __SOCKADDR_ONETYPE(type) __const struct type *__##type##__;
-typedef union { __SOCKADDR_ALLTYPES
-	      } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__));
-#undef __SOCKADDR_ONETYPE
-#endif
-
-
-/* Create a new socket of type TYPE in domain DOMAIN, using
-   protocol PROTOCOL.  If PROTOCOL is zero, one is chosen automatically.
-   Returns a file descriptor for the new socket, or -1 for errors.  */
-extern int socket __P ((int __domain, enum __socket_type __type,
-			int __protocol));
-
-/* Create two new sockets, of type TYPE in domain DOMAIN and using
-   protocol PROTOCOL, which are connected to each other, and put file
-   descriptors for them in FDS[0] and FDS[1].  If PROTOCOL is zero,
-   one will be chosen automatically.  Returns 0 on success, -1 for errors.  */
-extern int socketpair __P ((int __domain, enum __socket_type __type,
-			    int __protocol, int __fds[2]));
-
-/* Give the socket FD the local address ADDR (which is LEN bytes long).  */
-extern int bind __P ((int __fd, __CONST_SOCKADDR_ARG __addr, size_t __len));
-
-/* Put the local address of FD into *ADDR and its length in *LEN.  */
-extern int getsockname __P ((int __fd, __SOCKADDR_ARG __addr,
-			     size_t *__len));
-
-/* Open a connection on socket FD to peer at ADDR (which LEN bytes long).
-   For connectionless socket types, just set the default address to send to
-   and the only address from which to accept transmissions.
-   Return 0 on success, -1 for errors.  */
-extern int connect __P ((int __fd,
-			 __CONST_SOCKADDR_ARG __addr, size_t __len));
-
-/* Put the address of the peer connected to socket FD into *ADDR
-   (which is *LEN bytes long), and its actual length into *LEN.  */
-extern int getpeername __P ((int __fd, __SOCKADDR_ARG __addr,
-			     size_t *__len));
-
 
 /* Bits in the FLAGS argument to `send', `recv', et al.  */
 enum
@@ -198,26 +130,6 @@ enum
     MSG_DONTWAIT	= 0x80,	/* This message should be nonblocking.  */
   };
 
-/* Send N bytes of BUF to socket FD.  Returns the number sent or -1.  */
-extern int send __P ((int __fd, __ptr_t __buf, size_t __n, int __flags));
-
-/* Read N bytes into BUF from socket FD.
-   Returns the number read or -1 for errors.  */
-extern int recv __P ((int __fd, __ptr_t __buf, size_t __n, int __flags));
-
-/* Send N bytes of BUF on socket FD to peer at address ADDR (which is
-   ADDR_LEN bytes long).  Returns the number sent, or -1 for errors.  */
-extern int sendto __P ((int __fd, __ptr_t __buf, size_t __n, int __flags,
-			__CONST_SOCKADDR_ARG __addr, size_t __addr_len));
-
-/* Read N bytes into BUF through socket FD.
-   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
-   the sender, and store the actual size of the address in *ADDR_LEN.
-   Returns the number of bytes read or -1 for errors.  */
-extern int recvfrom __P ((int __fd, __ptr_t __buf, size_t __n, int __flags,
-			  __SOCKADDR_ARG __addr, size_t *__addr_len));
-
-
 
 /* Structure describing messages sent by
    `sendmsg' and received by `recvmsg'.  */
@@ -233,15 +145,6 @@ struct msghdr
     size_t msg_accrightslen;	/* Length of access rights information.  */
   };
 
-/* Send a message described MESSAGE on socket FD.
-   Returns the number of bytes sent, or -1 for errors.  */
-extern int sendmsg __P ((int __fd, __const struct msghdr *__message,
-			 int __flags));
-
-/* Receive a message as described by MESSAGE from socket FD.
-   Returns the number of bytes read or -1 for errors.  */
-extern int recvmsg __P ((int __fd, struct msghdr *__message, int __flags));
-
 
 /* Protocol number used to manipulate socket-level options
    with `getsockopt' and `setsockopt'.  */
@@ -285,46 +188,6 @@ struct linger
     int l_linger;		/* Time to linger.  */
   };
 
-
-/* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
-   into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
-   actual length.  Returns 0 on success, -1 for errors.  */
-extern int getsockopt __P ((int __fd, int __level, int __optname,
-			    __ptr_t __optval, size_t *__optlen));
-
-/* Set socket FD's option OPTNAME at protocol level LEVEL
-   to *OPTVAL (which is OPTLEN bytes long).
-   Returns 0 on success, -1 for errors.  */
-extern int setsockopt __P ((int __fd, int __level, int __optname,
-			    __ptr_t __optval, size_t __optlen));
-
-
-/* Prepare to accept connections on socket FD.
-   N connection requests will be queued before further requests are refused.
-   Returns 0 on success, -1 for errors.  */
-extern int listen __P ((int __fd, unsigned int __n));
-
-/* Await a connection on socket FD.
-   When a connection arrives, open a new socket to communicate with it,
-   set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting
-   peer and *ADDR_LEN to the address's actual length, and return the
-   new socket's descriptor, or -1 for errors.  */
-extern int accept __P ((int __fd, __SOCKADDR_ARG __addr,
-			size_t *__addr_len));
-
-/* Shut down all or part of the connection open on socket FD.
-   HOW determines what to shut down:
-     0 = No more receptions;
-     1 = No more transmissions;
-     2 = No more receptions or transmissions.
-   Returns 0 on success, -1 for errors.  */
-extern int shutdown __P ((int __fd, int __how));
-
-
-/* Determine whether FILDES if the property identified by the value if
-   FDTYPE.  */
-extern int isfdtype __P ((int __fildes, int __fdtype));
-
 __END_DECLS
 
-#endif /* sys/socket.h */
+#endif /* socketbits.h */
diff --git a/sysdeps/mach/hurd/connect.c b/sysdeps/mach/hurd/connect.c
index 0ecf7369ed..f55a2ae591 100644
--- a/sysdeps/mach/hurd/connect.c
+++ b/sysdeps/mach/hurd/connect.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1994, 1995, 1996 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
@@ -30,7 +30,7 @@ Cambridge, MA 02139, USA.  */
    and the only address from which to accept transmissions.
    Return 0 on success, -1 for errors.  */
 int
-DEFUN(connect, (fd, addr, len),
+DEFUN(__connect, (fd, addr, len),
       int fd AND const struct sockaddr_un *addr AND size_t len)
 {
   error_t err;
@@ -72,3 +72,4 @@ DEFUN(connect, (fd, addr, len),
 
   return err ? __hurd_dfail (fd, err) : 0;
 }
+weak_alias (__connect, connect)
diff --git a/sysdeps/mach/hurd/send.c b/sysdeps/mach/hurd/send.c
index 153ee93701..17fa66344f 100644
--- a/sysdeps/mach/hurd/send.c
+++ b/sysdeps/mach/hurd/send.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1996 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
@@ -25,7 +25,7 @@ Cambridge, MA 02139, USA.  */
 
 /* Send N bytes of BUF to socket FD.  Returns the number sent or -1.  */
 int
-DEFUN(send, (fd, buf, n, flags),
+DEFUN(__send, (fd, buf, n, flags),
       int fd AND PTR buf AND size_t n AND int flags)
 {
   error_t err;
@@ -38,3 +38,4 @@ DEFUN(send, (fd, buf, n, flags),
 
   return err ? __hurd_dfail (fd, err) : wrote;
 }
+weak_alias (__send, send)
diff --git a/sysdeps/unix/inet/syscalls.list b/sysdeps/unix/inet/syscalls.list
index 3b6ac59990..661a8433f5 100644
--- a/sysdeps/unix/inet/syscalls.list
+++ b/sysdeps/unix/inet/syscalls.list
@@ -2,7 +2,7 @@
 
 accept		-	accept		3	accept
 bind		-	bind		3	bind
-connect		-	connect		3	connect
+__connect	-	connect		3	connect		connect
 gethostid	-	gethostid	0	gethostid
 gethostname	-	gethostname	2	__gethostname	gethostname
 getpeername	-	getpeername	3	getpeername
@@ -12,7 +12,7 @@ listen		-	listen		2	listen
 recv		-	recv		4	recv
 recvfrom	-	recvfrom	6	recvfrom
 recvmsg		-	recvmsg		3	recvmsg
-send		-	send		4	send
+__send		-	send		4	send		send
 sendmsg		-	sendmsg		3	sendmsg
 sendto		-	sendto		6	sendto
 sethostid	-	sethostid	1	sethostid
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 7dbb0f9f33..fd72c092ad 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -8,7 +8,7 @@ test $stdio = default && stdio=libio
 inhibit_glue=yes
 
 echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'libc_cv_linux'+set}'`\" = set"; then
+if eval "test \"`echo '$''{'libc_cv_linux201'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
@@ -24,17 +24,17 @@ eat flaming death
 EOF
 if { (eval echo configure:26: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
-  libc_cv_linux='2.0.1 or later'
+  libc_cv_linux201='2.0.1 or later'
 else
   rm -rf conftest*
-  libc_cv_linux='TOO OLD!'
+  libc_cv_linux201='TOO OLD!'
 fi
 rm -f conftest*
 
 fi
 
-echo "$ac_t""$libc_cv_linux" 1>&6
-if test "$libc_cv_linux" != '2.0.1 or later'; then
+echo "$ac_t""$libc_cv_linux201" 1>&6
+if test "$libc_cv_linux201" != '2.0.1 or later'; then
   { echo "configure: error: GNU libc requires kernel header files from Linux 2.0.1
 or later to be installed before configuring.  The kernel header files
 are found usually in /usr/include/asm and /usr/include/linux; make sure
diff --git a/sysdeps/unix/sysv/linux/socketbits.h b/sysdeps/unix/sysv/linux/socketbits.h
new file mode 100644
index 0000000000..1c7cee0dad
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/socketbits.h
@@ -0,0 +1,2 @@
+/* Get Linux specific constants and data types kernel header.  */
+#include <linux/socket.h>
diff --git a/sysdeps/unix/sysv/linux/sys/socket.h b/sysdeps/unix/sysv/linux/sys/socket.h
deleted file mode 100644
index a680d5fb29..0000000000
--- a/sysdeps/unix/sysv/linux/sys/socket.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/* Copyright (C) 1991, 92, 94, 95, 96 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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#ifndef	_SYS_SOCKET_H
-
-#define	_SYS_SOCKET_H	1
-#include <features.h>
-
-__BEGIN_DECLS
-
-#define	__need_size_t
-#include <stddef.h>
-
-
-/* Get Linux specific constants and data types.  */
-#include <linux/socket.h>
-
-/* This is the type we use for generic socket address arguments.
-
-   With GCC 2.7 and later, the funky union causes redeclarations or uses with
-   any of the listed types to be allowed without complaint.  */
-#if	(!defined (__GNUC__) || __GNUC__ < 2 || \
-	 (__GNUC__ == 2 && __GNUC_MINOR__ < 7))
-#define	__SOCKADDR_ARG		struct sockaddr *
-#define	__CONST_SOCKADDR_ARG	__const struct sockaddr *
-#else
-/* Add more `struct sockaddr_AF' types here as necessary.
-   These are all the ones I found on NetBSD and Linux.  */
-#define __SOCKADDR_ALLTYPES \
-  __SOCKADDR_ONETYPE (sockaddr) \
-  __SOCKADDR_ONETYPE (sockaddr_at) \
-  __SOCKADDR_ONETYPE (sockaddr_ax25) \
-  __SOCKADDR_ONETYPE (sockaddr_dl) \
-  __SOCKADDR_ONETYPE (sockaddr_eon) \
-  __SOCKADDR_ONETYPE (sockaddr_in) \
-  __SOCKADDR_ONETYPE (sockaddr_in6) \
-  __SOCKADDR_ONETYPE (sockaddr_inarp) \
-  __SOCKADDR_ONETYPE (sockaddr_ipx) \
-  __SOCKADDR_ONETYPE (sockaddr_iso) \
-  __SOCKADDR_ONETYPE (sockaddr_ns) \
-  __SOCKADDR_ONETYPE (sockaddr_un) \
-  __SOCKADDR_ONETYPE (sockaddr_x25)
-
-#define __SOCKADDR_ONETYPE(type) struct type *__##type##__;
-typedef union { __SOCKADDR_ALLTYPES
-	      } __SOCKADDR_ARG __attribute__ ((__transparent_union__));
-#undef __SOCKADDR_ONETYPE
-#define __SOCKADDR_ONETYPE(type) __const struct type *__##type##__;
-typedef union { __SOCKADDR_ALLTYPES
-	      } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__));
-#undef __SOCKADDR_ONETYPE
-#endif
-
-
-/* Create a new socket of type TYPE in domain DOMAIN, using
-   protocol PROTOCOL.  If PROTOCOL is zero, one is chosen automatically.
-   Returns a file descriptor for the new socket, or -1 for errors.  */
-extern int socket __P ((int __domain, int __type, int __protocol));
-
-/* Create two new sockets, of type TYPE in domain DOMAIN and using
-   protocol PROTOCOL, which are connected to each other, and put file
-   descriptors for them in FDS[0] and FDS[1].  If PROTOCOL is zero,
-   one will be chosen automatically.  Returns 0 on success, -1 for errors.  */
-extern int socketpair __P ((int __domain, int __type, int __protocol,
-			    int __fds[2]));
-
-/* Give the socket FD the local address ADDR (which is LEN bytes long).  */
-extern int bind __P ((int __fd, __CONST_SOCKADDR_ARG __addr, size_t __len));
-
-/* Put the local address of FD into *ADDR and its length in *LEN.  */
-extern int getsockname __P ((int __fd, __SOCKADDR_ARG __addr,
-			     size_t *__len));
-
-/* Open a connection on socket FD to peer at ADDR (which LEN bytes long).
-   For connectionless socket types, just set the default address to send to
-   and the only address from which to accept transmissions.
-   Return 0 on success, -1 for errors.  */
-extern int connect __P ((int __fd,
-			 __CONST_SOCKADDR_ARG __addr, size_t __len));
-
-/* Put the address of the peer connected to socket FD into *ADDR
-   (which is *LEN bytes long), and its actual length into *LEN.  */
-extern int getpeername __P ((int __fd, __SOCKADDR_ARG __addr,
-			     size_t *__len));
-
-
-/* Send N bytes of BUF to socket FD.  Returns the number sent or -1.  */
-extern int send __P ((int __fd, __ptr_t __buf, size_t __n, int __flags));
-
-/* Read N bytes into BUF from socket FD.
-   Returns the number read or -1 for errors.  */
-extern int recv __P ((int __fd, __ptr_t __buf, size_t __n, int __flags));
-
-/* Send N bytes of BUF on socket FD to peer at address ADDR (which is
-   ADDR_LEN bytes long).  Returns the number sent, or -1 for errors.  */
-extern int sendto __P ((int __fd, __ptr_t __buf, size_t __n, int __flags,
-			__CONST_SOCKADDR_ARG __addr, size_t __addr_len));
-
-/* Read N bytes into BUF through socket FD.
-   If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
-   the sender, and store the actual size of the address in *ADDR_LEN.
-   Returns the number of bytes read or -1 for errors.  */
-extern int recvfrom __P ((int __fd, __ptr_t __buf, size_t __n, int __flags,
-			  __SOCKADDR_ARG __addr, size_t *__addr_len));
-
-
-/* Send a message described MESSAGE on socket FD.
-   Returns the number of bytes sent, or -1 for errors.  */
-extern int sendmsg __P ((int __fd, __const struct msghdr *__message,
-			 int __flags));
-
-/* Receive a message as described by MESSAGE from socket FD.
-   Returns the number of bytes read or -1 for errors.  */
-extern int recvmsg __P ((int __fd, struct msghdr *__message, int __flags));
-
-
-/* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
-   into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
-   actual length.  Returns 0 on success, -1 for errors.  */
-extern int getsockopt __P ((int __fd, int __level, int __optname,
-			    __ptr_t __optval, size_t *__optlen));
-
-/* Set socket FD's option OPTNAME at protocol level LEVEL
-   to *OPTVAL (which is OPTLEN bytes long).
-   Returns 0 on success, -1 for errors.  */
-extern int setsockopt __P ((int __fd, int __level, int __optname,
-			    __ptr_t __optval, size_t __optlen));
-
-
-/* Prepare to accept connections on socket FD.
-   N connection requests will be queued before further requests are refused.
-   Returns 0 on success, -1 for errors.  */
-extern int listen __P ((int __fd, unsigned int __n));
-
-/* Await a connection on socket FD.
-   When a connection arrives, open a new socket to communicate with it,
-   set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting
-   peer and *ADDR_LEN to the address's actual length, and return the
-   new socket's descriptor, or -1 for errors.  */
-extern int accept __P ((int __fd, __SOCKADDR_ARG __addr,
-			size_t *__addr_len));
-
-/* Shut down all or part of the connection open on socket FD.
-   HOW determines what to shut down:
-     0 = No more receptions;
-     1 = No more transmissions;
-     2 = No more receptions or transmissions.
-   Returns 0 on success, -1 for errors.  */
-extern int shutdown __P ((int __fd, int __how));
-
-
-__END_DECLS
-
-#endif /* sys/socket.h */