$NetBSD: patch-aq,v 1.4 1999/04/08 19:40:45 bad Exp $

--- pthreads/fd_kern.c.orig	Tue Oct  1 20:26:48 1996
+++ pthreads/fd_kern.c	Sat Mar 20 22:46:30 1999
@@ -51,6 +51,7 @@
 #include <sys/time.h>
 #include <sys/uio.h>
 #include <stdarg.h>
+#include <string.h>
 #include <signal.h>
 #include <fcntl.h>
 #include <errno.h>
@@ -582,6 +583,7 @@
 off_t __fd_kern_lseek(union fd_data fd_data, int f, off_t offset, int whence)
 {
 	int fd = fd_data.i;
+	extern off_t machdep_sys_lseek(int, off_t, int);
 
 	return(machdep_sys_lseek(fd, offset, whence));
 }
@@ -1076,7 +1078,11 @@
 /* ==========================================================================
  * bind()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int bind(int fd, const struct sockaddr *name, socklen_t namelen)
+#else
 int bind(int fd, const struct sockaddr *name, int namelen)
+#endif
 {
 	/* Not much to do in bind */
 	int ret;
@@ -1098,7 +1104,11 @@
 /* ==========================================================================
  * connect()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int connect(int fd, const struct sockaddr *name, socklen_t namelen)
+#else
 int connect(int fd, const struct sockaddr *name, int namelen)
+#endif
 {
 	struct sockaddr tmpname;
 	int ret, tmpnamelen;
@@ -1146,7 +1156,11 @@
 /* ==========================================================================
  * accept()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int accept(int fd, struct sockaddr *name, socklen_t *namelen)
+#else
 int accept(int fd, struct sockaddr *name, int *namelen)
+#endif
 {
 	int ret, fd_kern;
 
@@ -1334,8 +1348,13 @@
 /* ==========================================================================
  * sendto()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+ssize_t sendto(int fd, const void * msg, size_t len, int flags,
+  const struct sockaddr *to, socklen_t to_len)
+#else
 ssize_t sendto(int fd, const void * msg, size_t len, int flags,
   const struct sockaddr *to, int to_len)
+#endif
 {
 	return(sendto_timedwait(fd, msg, len, flags, to, to_len, NULL));
 }
@@ -1560,8 +1579,13 @@
 /* ==========================================================================
  * recvfrom()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+ssize_t recvfrom(int fd, void * buf, size_t len, int flags,
+  struct sockaddr * from, socklen_t * from_len)
+#else
 ssize_t recvfrom(int fd, void * buf, size_t len, int flags,
   struct sockaddr * from, int * from_len)
+#endif
 {
 	return(recvfrom_timedwait(fd, buf, len, flags, from, from_len, NULL));
 }
@@ -1711,7 +1735,11 @@
 /* ==========================================================================
  * setsockopt()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int setsockopt(int fd, int level, int optname, const void * optval, socklen_t optlen)
+#else
 int setsockopt(int fd, int level, int optname, const void * optval, int optlen)
+#endif
 {
    int ret;
 
@@ -1733,7 +1761,11 @@
 /* ==========================================================================
  * getsockopt()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int getsockopt(int fd, int level, int optname, void * optval, socklen_t * optlen)
+#else
 int getsockopt(int fd, int level, int optname, void * optval, int * optlen)
+#endif
 {
    int ret;
 
@@ -1755,7 +1787,11 @@
 /* ==========================================================================
  * getsockname()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int getsockname(int fd, struct sockaddr * name, socklen_t * naddrlen)
+#else
 int getsockname(int fd, struct sockaddr * name, int * naddrlen)
+#endif
 {
    int ret;
 
@@ -1777,7 +1813,11 @@
 /* ==========================================================================
  * getpeername()
  */
+#ifdef _OS_HAS_SOCKLEN_T
+int getpeername(int fd, struct sockaddr * peer, socklen_t * paddrlen)
+#else
 int getpeername(int fd, struct sockaddr * peer, int * paddrlen)
+#endif
 {
    int ret;